CN113986733A - 基于jar包的性能测试方法、装置、设备及存储介质 - Google Patents
基于jar包的性能测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113986733A CN113986733A CN202111262921.1A CN202111262921A CN113986733A CN 113986733 A CN113986733 A CN 113986733A CN 202111262921 A CN202111262921 A CN 202111262921A CN 113986733 A CN113986733 A CN 113986733A
- Authority
- CN
- China
- Prior art keywords
- performance test
- package
- jar
- performance
- jmeter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及性能测试技术领域,揭露了一种基于jar包的性能测试方法、装置、设备及存储介质。所述方法包括:获取性能测试数据,并通过性能测试数据中的示例代码进行本地调试;其中,所述性能测试数据中包含被测jar包;在确认本地调试完成,且确认本地调试完成的结果达到预设调试标准之后,根据预设逻辑方法对引入的Jmeter核心包进行开发后,得到客户端包;在Jmeter测试工具中引入客户端包后,通过Jmeter测试工具获取根据客户端包开发的性能测试脚本;将性能测试数据中的被测jar包部署在性能测试服务器中,并通过性能测试脚本对被测jar包执行jar包的性能测试,获取测试结果。本发明操作方式简单,处理效率高,解决现有工具或者软件对被测jar包性能测试难度大的问题。
Description
技术领域
本发明涉及性能测试技术领域,尤其揭露了一种基于jar包的性能测试方法、装置、设备及存储介质。
背景技术
性能测试是用于排除系统的性能瓶颈、确定并确保系统在超出最大预期工作量的情况下仍能正常运行、确定系统能提供的最大的服务级别;现有的性能测试中,通常都是以压测接口(http协议的接口)测试为主,但现有的性能测试也会用到其它性能测试需求,比如jar包性能,这类测试需求的性能测试方法难度相对较大,具体表现为协议工作方式跟http存在差异或者没有采样器可直接用于性能测试。因此本领域技术人员亟需寻找一种新的技术方案来解决上述的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种基于jar包的性能测试方法、装置、设备及存储介质,本发明能实现对被测jar包的性能测试,操作方式简单,处理效率高,解决现有工具或者软件对被测jar包性能测试难度大的问题。
一种基于jar包的性能测试方法,包括:
获取性能测试数据,并通过所述性能测试数据中的示例代码进行本地调试;其中,所述性能测试数据中包含被测jar包;
在确认本地调试完成,且确认所述本地调试完成的结果达到预设调试标准之后,根据预设逻辑方法对引入的Jmeter核心包进行开发后,得到客户端包;
在Jmeter测试工具中引入所述客户端包后,通过所述Jmeter测试工具获取根据所述客户端包开发的性能测试脚本;
将所述性能测试数据中的所述被测jar包部署在性能测试服务器中,通过所述性能测试脚本对所述被测jar包执行性能测试,获取测试结果。
一种基于jar包的性能测试装置,包括:
本地调试模块,用于获取性能测试数据,并通过所述性能测试数据中的示例代码进行本地调试;其中,所述性能测试数据中包含被测jar包;
开发模块,用于在确认本地调试完成,且确认所述本地调试完成的结果达到预设调试标准之后,根据预设逻辑方法对引入的Jmeter核心包进行开发后,得到客户端包;
第一获取模块,用于在Jmeter测试工具中引入所述客户端包后,通过所述Jmeter测试工具获取根据所述客户端包开发的性能测试脚本;
第二获取模块,用于将所述性能测试数据中的所述被测jar包部署在性能测试服务器中,通过所述性能测试脚本对所述被测jar包执行性能测试,获取测试结果。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于jar包的性能测试方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述一种基于jar包的性能测试方法。
上述一种基于jar包的性能测试方法、装置、设备及存储介质,本发明在获取到性能测试数据后,并通过性能测试数据中的示例代码来完成对本地调试,在本地调试完成后,对引入的Jmeter核心包进行开发后,得到客户端包,通过所述Jmeter测试工具获取根据所述客户端包开发的性能测试脚本,最后通过性能测试脚本对部署在性能测试服务器中的被测jar包完成jar包的性能测试,可见,通过本发明来实现对被测jar包的性能测试,操作方式简单,处理效率高,解决现有工具或者软件对被测jar包性能测试难度大的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中一种基于jar包的性能测试方法的一应用环境示意图;
图2是本发明一实施例中一种基于jar包的性能测试方法的一流程图;
图3是本发明一实施例中一种基于jar包的性能测试装置的结构示意图;
图4是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的一种基于jar包的性能测试方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务器进行通信。其中,客户端可以包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
在一实施例中,如图2所示,提供一种基于jar包的性能测试方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
S10,获取性能测试数据,并通过所述性能测试数据中的示例代码进行本地调试;其中,所述性能测试数据中包含被测jar包;
可理解地,性能测试数据是与被测jar包关联的数据,该数据一般是用于作为压力测试,进而来反映出被测jar包的性能情况;性能测试数据包含被测jar包和示例代码,其中,被测jar包为被测对象(jar包为java的jar文件,该jar文件中装的是class文件,相当于一种压缩包),示例代码为被测对象的开发人员提供的被测对象使用示例;本实施例中将性能测试数据中的示例代码用于本地调试,本地调试的目的是为了对本方案中运用的压测模型进行构建,已完成度压测模型中多个逻辑的梳理,如核心压测逻辑、前置处理逻辑和后置处理逻辑等。
S20,在确认本地调试完成,且确认所述本地调试完成的结果达到预设调试标准之后,根据预设逻辑方法对引入的Jmeter核心包进行开发后,得到客户端包;
可理解地,本地调试是按照示例代码进行调试,调试后的标准是符合进行jar性能测试的环境;确认本地调试完成的标准是在输入与被测jar包关联的请求报文后,收到预期的返回报文,请求报文和返回报文都是关于HTTP,一个HTTP请求报文由请求行(requestline)、请求头部(header)、空行和请求数据4个部分组成,一个HTTP返回报文是状态行、消息报头、响应正文3个部分组成;预设逻辑方法是用于对jar包性能测试方法的逻辑方法进行构建,形成完整的压测模型,预设逻辑方法可包括设置与所述性能测试数据对应的参数以及默认值、Jmeter线程的初始化操作方法(前置处理逻辑)、Jmeter线程对被测jar包的性能测试方法(核心压测逻辑)、Jmeter线程执行性能测试方法后的清理操作方法,以及Jmeter线程的日志记录方法(后置处理逻辑);Jmeter核心包为Jmeter测试工具正常运行时,所使用到的相关包,其用于保证Jmeter测试工具的正常运行,在地调试完成的结果达到预设调试标准之后,获取预先已完成设置的Jmeter核心包;本实施例通过上述预设逻辑方便的编写,生成一个满足于jar包性能测试的客户端包,该客户端包中包含了多种预设逻辑方法编写的代码,进而可集成于多种逻辑方法进行结合使用,提高处理效率。
S30,在Jmeter测试工具中引入所述客户端包后,通过所述Jmeter测试工具获取根据所述客户端包开发的性能测试脚本;
可理解地,Jmeter测试工具是一种专门用于压力测试的轻量级测试开发平台,Jmeter测试工具可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能;客户端包是用于在Jmeter测试工具中引入后,与性能测试需求生成完整的性能测试脚本,性能测试脚本的编写需要对软件架构、性能测试指标(如响应时间、成功率、负载等)和性能测试策略(如逐渐调整并发用户数等)等多方面进行设置;本实施例获取到的性能测试脚本能符合性能测试服务器中关于jar包的性能测试,在自动化测试后得到正确的测试结果。
S40,将所述性能测试数据中的所述被测jar包部署在性能测试服务器中,通过所述性能测试脚本对所述被测jar包执行性能测试,获取测试结果。
可理解地,性能测试服务器中的机器配置已设置完成,机器配置中包括硬件环境和软件环境,硬件环境包括对CPU和内存(如4C8G和8C16G等)的设置,软件环境包括待测jar包,与待测jar包关联的依赖包、客户端包等;测试结果是反映出本次对jar包的关于压测的结果,如本次性能测试出现错误的请求的数量/请求的总数、吞吐量、用户的响应时间、最小响应时间和最大响应时间等;本实施例是jar包的性能测试的执行阶段,预先对性能测试服务器进行配置完成,以解决机器配置对被测jar包性能测试的影响,再通过Jmeter测试工具运行性能测试脚本后,对部署在性能测试服务器中的jar包实现完整的jar包的性能测试,以解决当前对jar包测试难度大等问题。
在步骤S10至步骤S40的实施例中,获取到性能测试数据后,并通过性能测试数据中的示例代码来完成对本地调试,在本地调试完成后,对引入的Jmeter核心包进行开发后,得到客户端包,通过所述Jmeter测试工具获取根据所述客户端包开发的性能测试脚本,最后通过性能测试脚本对部署在性能测试服务器中的被测jar包完成jar包的性能测试,可见,通过本发明来实现对被测jar包的性能测试(也即通过搭建出的完整压测模型进行jar包的性能测试),操作方式简单,处理效率高,解决现有工具或者软件对被测jar包性能测试难度大的问题。
进一步地,所述确认所述本地调试完成的结果达到预设调试标准之前,还包括:
在使用所述被测jar包时,基于与所述性能测试数据中的所述被测jar包关联的请求报文后,得到与所述请求报文对应的返回报文,并根据所述返回报文确认所述本地调试完成的结果是否通过所述预设调试标准。
可理解地,请求报文是可以来源于用户的输入;本实施例是根据返回报文情况来确定本地调试结果是否成功完成调试,若返回报文不能得到请求报文所请求的信息,即可认为未通过预设调试标准,反之亦然;本实施例的本地调试通过预设调试标准将意味着服务器中的环境满足于jar包的性能测试的要求。
进一步地,所述根据预设逻辑方法对引入的Jmeter核心包进行开发后,得到客户端包,包括:
引入所述Jmeter核心包,根据所述Jmeter核心包分别设置与所述性能测试数据对应的参数以及默认值、Jmeter线程的初始化操作方法、Jmeter线程对所述被测jar包的性能测试方法、Jmeter线程执行性能测试方法后的清理操作方法,以及Jmeter线程的日志记录方法之后,确认已根据所述预设逻辑方法完成对所述Jmeter核心包的设置,并将设置完成之后的所述Jmeter核心包记录为所述客户端包。
具体地,引入Jmeter核心包后,基于预设依照java request开发规范,实现AbstractJavaSamplerClient接口方法,该接口方法是通过预设逻辑方法编写完成,具体该接口方法包括设置与所述性能测试数据对应的参数以及默认值、Jmeter线程的初始化操作方法、Jmeter线程对所述被测jar包的性能测试方法、Jmeter线程执行性能测试方法后的清理操作方法,以及Jmeter线程的日志记录方法5个方面,具体如下所示:
1、getDefaultParameters(),用于设置相关参数及默认值——与被测对象jar包存储关联,如被测对象是nlp纠错功能,在此的参数即是“一句话”,因此我们需要传“一句话”让被测对象jar包处理,通常会设置一个默认的“一句话”,具体为sentence即为参数,“公司一直在用科技手段贡献来自中国的解决方案”即为默认值;
2、setupTest(JavaSamplerContext arg0),线程所需要的初始化操作,并放在该方法中,在线程启动时会执行一次(前置处理逻辑);
3、runTest(JavaSamplerContext arg0),将被测对象jar包放在该方法中,线程会一直运行此方法进行jar包的性能测试(核心压测逻辑);
4、teardownTest(JavaSamplerContext arg0),性能测试结束后的清理操作,并放在该方法中,线程结束前会执行一次(后置处理逻辑);
5、org.slf4j.Logger getNewLogger(),若需要记录日志,则采用该方法;
本实施例完成上述方法的编写,即完成对客户端包的开发。
进一步地,所述通过所述Jmeter测试工具获取根据所述客户端包开发的性能测试脚本,包括:
将所述客户端包添加至所述Jmeter测试工具中的预设文件目录中;
在启动所述Jmeter测试工具后,添加预设采样器,并从预设文件目录中选中所述客户端包并设置与所述客户端包对应的参数值和断言;所述预设采样器用于发送Java请求,所述Java请求用于执行jar包的性能测试;
在确认完成对所述预设采样器的添加和所述客户端包的设置后,得到所述性能测试脚本。
可理解地,预设文件目录是Jmeter测试工具中的jmeter扩展包(lib\ext)目录;采样器可用于模拟各种请求来实现jar包的性能测试,如HTTP请求(Java请求);参数值可包括维护Sampler需要的配置信息、线程数等;断言用于来判断请求响应的结果是否如用户所期望以及是否正确,可以用来隔离问题域,即在确保功能正确的前提下执行压力测试;具体地,添加采样器和设置与客户端包对应的参数值和断言都是基于Jmeter测试工具实现。
进一步,所述添加预设采样器之前,还包括:
获取添加的至少一个线程组,并为所述线程组设置请求方式;所述线程组包含若干个用于模拟并发用户发送请求的线程。
可理解地,本实施例是配置线程,其中,线程数用于性能测试过程中;具体地,线程配置可包括对线程组添加,线程组中包含若干个线程数;线程组设置的请求关系可为http或https协议请求。
进一步地,所述步骤S40之后,还包括:
接收到响应于待检测模块的测试指令后,获取所述待检测模块对应的预设协议;
获取调用所述待检测模块所对应的目标协议,在确认所述预设协议与所述目标协议匹配时,通过所述Jmeter测试工具获取与所述需求信息对应的待检测模块性能测试脚本;
根据所述待检测模块性能测试脚本对所述待检测模块执行性能测试。
可理解地,预设协议可以为GRPC协议;待检测模块可为采用bert模型计算语义相似度的模块;本实施例的目的是为了在测试待检测模块的过程中,当前未存在可直接使用的压测工具时,可开发出一个调用次待检测模块的客户端,并通过客户端与上述Jmeter测试工具完成待检测模块性能测试脚本的编写,以及按照与步骤S10至步骤S40的方法完成对待检测模块的压力测试;在本实施例中的tfserving性能测试中,在没有采样器可直接用于性能测试的需求。
进一步地,所述步骤S40之后,还包括:
在监测到时间指标大于等于预设响应时间、错误率指标大于等于预设错误率并且吞吐量指标大于等于预预设期望值时,控制性能测试服务器停止执行jar包的性能测试。
可理解地,时间指标是指Jmeter测试工具中的90%line、95%line、99%line,百分数line来源于:先将一组n个用户的响应时间按照数字大小排列,最后将处于大小排列后的百分比位置(如90%、95%和99%)的用户的响应时间称为百分数line,也即百分数line用于表达百分比位置的用户的响应时间,如,假设有10个用户,数字大小排列后,原先第2个用户位于第9个位置,第9个位置为百分比位置,第9个位置的用户的响应时间为第2个用户的响应时间;错误率指标是指Jmeter测试工具中的error%,error%为本次性能测试中出现错误的请求的数量/请求的总数;吞吐量指标是指Jmeter测试工具中的throughput,throughput为表示每秒完成的请求数;通过自动监测到聚合报告中的3种指标与预设指标之间的对比情况,在3种指标同时满足时,自动停止执行jar包的性能测试,以避免浪费性能测试资源。
进一步地,所述性能测试数据还包括相关依赖包和资源文件;所述将所述性能测试数据中的被测jar包部署在性能测试服务器中,并通过所述性能测试脚本对所述被测jar包执行jar包的性能测试,包括:
获取所述性能测试服务器所需的所述相关依赖包、资源文件、客户端包和被测jar包;
通过所述资源文件对所述性能测试服务器进行机器配置,并在所述相关依赖包和客户端包的运行下,通过所述性能测试脚本对部署在性能测试服务器中的被测jar包执行jar包的性能测试。
可理解地,相关依赖包是指被测jar包正常运行所需要的关联包;资源文件是指被测jar包用到的配置类资源(字典、配置文件等)。
综上所述,上述提供了一种基于jar包的性能测试方法,获取到性能测试数据后,并通过性能测试数据中的示例代码来完成对本地调试,在本地调试完成后,对引入的Jmeter核心包进行开发后,得到客户端包,通过所述Jmeter测试工具获取根据所述客户端包开发的性能测试脚本,最后通过性能测试脚本对部署在性能测试服务器中的被测jar包完成jar包的性能测试,可见,通过本发明来实现对被测jar包的性能测试(也即通过搭建出的完整压测模型进行jar包的性能测试),操作方式简单,处理效率高,解决现有工具或者软件对被测jar包性能测试难度大的问题;本方法还可根据配置出满足于性能测试需求的线程;本方法也可对预设协议的待检测模块实现性能测试;本方法也可通过自动监测到聚合报告中的3种指标与预设指标之间的对比情况,在3种指标同时满足时,自动停止执行jar包的性能测试,以避免浪费性能测试资源。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种基于jar包的性能测试装置,该一种基于jar包的性能测试装置与上述实施例中一种基于jar包的性能测试方法一一对应。如图3所示,该一种基于jar包的性能测试装置包括本地调试模块11、开发模块12、第一获取模块13和第二获取模块14。各功能模块详细说明如下:
本地调试模块11,用于获取性能测试数据,并通过所述性能测试数据中的示例代码进行本地调试;其中,所述性能测试数据中包含被测jar包;
开发模块12,用于在确认本地调试完成,且确认所述本地调试完成的结果达到预设调试标准之后,根据预设逻辑方法对引入的Jmeter核心包进行开发后,得到客户端包;
第一获取模块13,用于在Jmeter测试工具中引入所述客户端包后,通过所述Jmeter测试工具获取根据所述客户端包开发的性能测试脚本;
第二获取模块14,用于将所述性能测试数据中的所述被测jar包部署在性能测试服务器中,通过所述性能测试脚本对所述被测jar包执行性能测试,获取测试结果。
进一步地,所述所述基于jar包的性能测试装置还包括:
确认模块,用于在使用所述被测jar包时,基于与所述性能测试数据中的所述被测jar包关联的请求报文后,得到与所述请求报文对应的返回报文,并根据所述返回报文确认所述本地调试完成的结果是否通过所述预设调试标准。
进一步地,所述开发模块包括:
第一确认子模块,用于引入所述Jmeter核心包,根据所述Jmeter核心包分别设置与所述性能测试数据对应的参数以及默认值、Jmeter线程的初始化操作方法、Jmeter线程对所述被测jar包的性能测试方法、Jmeter线程执行性能测试方法后的清理操作方法,以及Jmeter线程的日志记录方法之后,确认已根据所述预设逻辑方法完成对所述Jmeter核心包的设置,并将设置完成之后的所述Jmeter核心包记录为所述客户端包。
进一步地,所述第一获取模块包括:
添加子模块,用于将所述客户端包添加至所述Jmeter测试工具中的预设文件目录中;
设置子模块,用于在启动所述Jmeter测试工具后,添加预设采样器,并从预设文件目录中选中所述客户端包并设置与所述客户端包对应的参数值和断言;所述预设采样器用于发送Java请求,所述Java请求用于执行jar包的性能测试;
第二确认子模块,用于在确认完成对所述预设采样器的添加和所述客户端包的设置后,得到所述性能测试脚本。
进一步地,所述基于jar包的性能测试装置还包括:
第三获取模块,用于接收到响应于待检测模块的测试指令后,获取所述待检测模块对应的预设协议;
第四获取模块,用于获取调用所述待检测模块所对应的目标协议,在确认所述预设协议与所述目标协议匹配时,通过所述Jmeter测试工具获取与所述需求信息对应的待检测模块性能测试脚本;
性能测试模块,用于根据所述待检测模块性能测试脚本对所述待检测模块执行性能测试。
进一步地,所述第二获取模块包括:
获取子模块,用于获取所述性能测试服务器所需的所述相关依赖包、资源文件、客户端包和被测jar包;
性能测试子模块,用于通过所述资源文件对所述性能测试服务器进行机器配置,并在所述相关依赖包和客户端包的运行下,通过所述性能测试脚本对部署在性能测试服务器中的被测jar包执行jar包的性能测试。
关于一种基于jar包的性能测试装置的具体限定可以参见上文中对于一种基于jar包的性能测试方法的限定,在此不再赘述。上述一种基于jar包的性能测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括存储介质、内存储器。该存储介质存储有操作系统、计算机程序和数据库。该内存储器为存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储一种基于jar包的性能测试方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于jar包的性能测试方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中一种基于jar包的性能测试方法的步骤,例如图2所示的步骤S10至步骤S40。或者,处理器执行计算机程序时实现上述实施例中一种基于jar包的性能测试装置的各模块/单元的功能,例如图3所示模块11至模块14的功能。为避免重复,这里不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中一种基于jar包的性能测试方法的步骤,例如图2所示的步骤S10至步骤S40。或者,计算机程序被处理器执行时实现上述实施例中一种基于jar包的性能测试装置的各模块/单元的功能,例如图3所示模块11至模块14的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于jar包的性能测试方法,其特征在于,包括:
获取性能测试数据,并通过所述性能测试数据中的示例代码进行本地调试;其中,所述性能测试数据中包含被测jar包;
在确认本地调试完成,且确认所述本地调试完成的结果达到预设调试标准之后,根据预设逻辑方法对引入的Jmeter核心包进行开发后,得到客户端包;
在Jmeter测试工具中引入所述客户端包后,通过所述Jmeter测试工具获取根据所述客户端包开发的性能测试脚本;
将所述性能测试数据中的所述被测jar包部署在性能测试服务器中,通过所述性能测试脚本对所述被测jar包执行性能测试,获取测试结果。
2.根据权利要求1所述的基于jar包的性能测试方法,其特征在于,所述确认所述本地调试完成的结果达到预设调试标准之前,还包括:
在使用所述被测jar包时,基于与所述性能测试数据中的所述被测jar包关联的请求报文后,得到与所述请求报文对应的返回报文,并根据所述返回报文确认所述本地调试完成的结果是否通过所述预设调试标准。
3.根据权利要求1所述的基于jar包的性能测试方法,其特征在于,所述根据预设逻辑方法对引入的Jmeter核心包进行开发后,得到客户端包,包括:
引入所述Jmeter核心包,根据所述Jmeter核心包分别设置与所述性能测试数据对应的参数以及默认值、Jmeter线程的初始化操作方法、Jmeter线程对所述被测jar包的性能测试方法、Jmeter线程执行性能测试方法后的清理操作方法,以及Jmeter线程的日志记录方法之后,确认已根据所述预设逻辑方法完成对所述Jmeter核心包的设置,并将设置完成之后的所述Jmeter核心包记录为所述客户端包。
4.根据权利要求1所述的基于jar包的性能测试方法,其特征在于,所述通过所述Jmeter测试工具获取根据所述客户端包开发的性能测试脚本,包括:
将所述客户端包添加至所述Jmeter测试工具中的预设文件目录中;
在启动所述Jmeter测试工具后,添加预设采样器,并从预设文件目录中选中所述客户端包并设置与所述客户端包对应的参数值和断言;所述预设采样器用于发送Java请求,所述Java请求用于执行jar包的性能测试;
在确认完成对所述预设采样器的添加和所述客户端包的设置后,得到所述性能测试脚本。
5.根据权利要求1所述的基于jar包的性能测试方法,其特征在于,所述获取测试结果之后,还包括:
接收到响应于待检测模块的测试指令后,获取所述待检测模块对应的预设协议;
获取调用所述待检测模块所对应的目标协议,在确认所述预设协议与所述目标协议匹配时,通过所述Jmeter测试工具获取与所述需求信息对应的待检测模块性能测试脚本;
根据所述待检测模块性能测试脚本对所述待检测模块执行性能测试。
6.根据权利要求1所述的基于jar包的性能测试方法,其特征在于,所述获取测试结果之后,还包括:
在监测到时间指标大于等于预设响应时间、错误率指标大于等于预设错误率并且吞吐量指标大于等于预预设期望值时,控制性能测试服务器停止执行jar包的性能测试。
7.根据权利要求1所述的基于jar包的性能测试方法,其特征在于,所述性能测试数据还包括相关依赖包和资源文件;所述将所述性能测试数据中的被测jar包部署在性能测试服务器中,并通过所述性能测试脚本对所述被测jar包执行jar包的性能测试,包括:
获取所述性能测试服务器所需的所述相关依赖包、资源文件、客户端包和被测jar包;
通过所述资源文件对所述性能测试服务器进行机器配置,并在所述相关依赖包和客户端包的运行下,通过所述性能测试脚本对部署在性能测试服务器中的被测jar包执行jar包的性能测试。
8.一种基于jar包的性能测试装置,其特征在于,包括:
本地调试模块,用于获取性能测试数据,并通过所述性能测试数据中的示例代码进行本地调试;其中,所述性能测试数据中包含被测jar包;
开发模块,用于在确认本地调试完成,且确认所述本地调试完成的结果达到预设调试标准之后,根据预设逻辑方法对引入的Jmeter核心包进行开发后,得到客户端包;
第一获取模块,用于在Jmeter测试工具中引入所述客户端包后,通过所述Jmeter测试工具获取根据所述客户端包开发的性能测试脚本;
第二获取模块,用于将所述性能测试数据中的所述被测jar包部署在性能测试服务器中,通过所述性能测试脚本对所述被测jar包执行性能测试,获取测试结果。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述一种基于jar包的性能测试方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述一种基于jar包的性能测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111262921.1A CN113986733A (zh) | 2021-10-28 | 2021-10-28 | 基于jar包的性能测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111262921.1A CN113986733A (zh) | 2021-10-28 | 2021-10-28 | 基于jar包的性能测试方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113986733A true CN113986733A (zh) | 2022-01-28 |
Family
ID=79743409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111262921.1A Pending CN113986733A (zh) | 2021-10-28 | 2021-10-28 | 基于jar包的性能测试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113986733A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546852A (zh) * | 2022-02-21 | 2022-05-27 | 北京百度网讯科技有限公司 | 一种性能测试方法、装置、电子设备和存储介质 |
CN116467189A (zh) * | 2023-03-31 | 2023-07-21 | 青岛民航凯亚系统集成有限公司 | 接口调用完成性能压测及全链路数据监控的方法和系统 |
CN117056240A (zh) * | 2023-10-13 | 2023-11-14 | 中电数创(北京)科技有限公司 | 一种支持离线Jar包的数据元件开发调试方法和系统 |
-
2021
- 2021-10-28 CN CN202111262921.1A patent/CN113986733A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546852A (zh) * | 2022-02-21 | 2022-05-27 | 北京百度网讯科技有限公司 | 一种性能测试方法、装置、电子设备和存储介质 |
CN114546852B (zh) * | 2022-02-21 | 2024-04-09 | 北京百度网讯科技有限公司 | 一种性能测试方法、装置、电子设备和存储介质 |
CN116467189A (zh) * | 2023-03-31 | 2023-07-21 | 青岛民航凯亚系统集成有限公司 | 接口调用完成性能压测及全链路数据监控的方法和系统 |
CN116467189B (zh) * | 2023-03-31 | 2023-12-05 | 青岛民航凯亚系统集成有限公司 | 接口调用完成性能压测及全链路数据监控的方法和系统 |
CN117056240A (zh) * | 2023-10-13 | 2023-11-14 | 中电数创(北京)科技有限公司 | 一种支持离线Jar包的数据元件开发调试方法和系统 |
CN117056240B (zh) * | 2023-10-13 | 2024-02-13 | 中电数创(北京)科技有限公司 | 一种支持离线Jar包的数据元件开发调试方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113986733A (zh) | 基于jar包的性能测试方法、装置、设备及存储介质 | |
US8938648B2 (en) | Multi-entity test case execution workflow | |
CN110704312B (zh) | 压力测试的方法、装置、计算机设备和存储介质 | |
CN112199300B (zh) | 一种接口测试方法、装置、电子设备及存储介质 | |
CN110134612A (zh) | Ui测试数据生成方法、装置、设备及可读存储介质 | |
CN111797026A (zh) | 测试用例生成方法、装置、计算机设备及存储介质 | |
CN111666194A (zh) | 加压参数自适应调节方法、装置、计算机设备及存储介质 | |
CN111124871A (zh) | 接口测试方法及装置 | |
CN110750443A (zh) | 网页测试的方法、装置、计算机设备及存储介质 | |
CN113687858A (zh) | 配置文件的检查方法、装置、电子设备及存储介质 | |
US11755468B2 (en) | Automated generation of load tests for API testing | |
CN110597710A (zh) | 测试覆盖率统计方法、装置、计算机设备及存储介质 | |
CN113220566A (zh) | 接口性能测试脚本的生成方法、装置和计算机设备 | |
CN113127329B (zh) | 脚本调试方法、装置及计算机存储介质 | |
CN113722240B (zh) | 一种linux操作系统管理平台的稳定性测试方法及系统 | |
CN110633213A (zh) | 单元测试方法、装置、计算机设备和存储介质 | |
CN114579473B (zh) | 应用测试方法、装置、设备及存储介质 | |
CN110990249A (zh) | 代码扫描结果处理方法、装置、计算机设备及存储介质 | |
CN115934559A (zh) | 表单智能测试系统的测试方法 | |
CN115098349A (zh) | 基于微服务架构的全链路压测方法、装置及设备 | |
CN111083007B (zh) | 测试方法、装置、计算机设备和存储介质 | |
CN114385258A (zh) | 自动化测试方法、装置、电子设备及存储介质 | |
CN112783778A (zh) | 测试方法、装置、网络设备及存储介质 | |
CN113360389A (zh) | 一种性能测试方法、装置、设备及存储介质 | |
CN115242874B (zh) | 应用开发阶段的网络请求代理优化方法、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |