CN114385498A - 性能测试方法、系统、计算机设备及可读存储介质 - Google Patents
性能测试方法、系统、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN114385498A CN114385498A CN202210030166.2A CN202210030166A CN114385498A CN 114385498 A CN114385498 A CN 114385498A CN 202210030166 A CN202210030166 A CN 202210030166A CN 114385498 A CN114385498 A CN 114385498A
- Authority
- CN
- China
- Prior art keywords
- test
- pressure test
- pressure
- tasks
- testing
- 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/3664—Environments for testing or debugging software
-
- 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
-
- 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/3692—Test management for test results analysis
Abstract
本发明提供了一种性能测试方法,所述方法包括:创建多个压力测试任务,通过多个压力测试任务对多个测试环境的权限进行隔离;收集功能测试参数,根据所述功能测试参数,生成jmeter脚本;调用所述jmeter脚本,对各个测试环境内的各个压力测试任务执行梯度压力测试;根据梯度压力测试的结果,判断系统是否存在性能问题。本发明实施例提供的性能测试方法、系统、计算机设备及可读存储介质;通过权限隔离解决了多个压力测试任务并行的问题;通过jmeter脚本,对各个所述测试环境内的各个所述压力测试任务执行梯度压力测试,实现了在同一时间可以支持多个测试环境进行压测,缩短了测试时间。
Description
技术领域
本发明涉及数据处理领域,尤其涉及性能测试方法、系统、计算机设备及可读存储介质。
背景技术
压力测试用于保证系统的稳定性,是软件性能测试工作的一部分。软件压力测试的基本思路是对系统不断施加压力,通过确定一个系统的最高能承受的性能点,来获得系统能提供的最大服务级别的测试,例如测试一个Web站点在高负荷下,系统的响应在什么情况下会退化或失败。目前,人们通常采用开源的压力测试工具进行软件压力测试,获得性能测试报告。然而,采用这类压力测试工具每次只能针对单个测试环境进行测试,局限性较大,测试效率较低。
发明内容
本发明的目的是提供一种性能测试方法、系统、计算机设备及可读存储介质,用于解决以下问题:测试效率低。
本发明实施例的一个方面提供了一种性能测试方法,所述方法包括:
创建多个压力测试任务,通过所述多个压力测试任务对多个测试环境的权限进行隔离;其中每个所述压力测试任务均与每个所述测试环境相对应;
收集功能测试参数,根据所述功能测试参数,生成jmeter脚本;
调用所述jmeter脚本,对各个所述测试环境内的各个所述压力测试任务执行梯度压力测试;
根据所述梯度压力测试的结果,判断系统是否存在性能问题。
进一步的,创建多个压力测试任务,通过多个压力测试任务对多个测试环境的权限进行隔离的步骤,包括:
创建多个压力测试任务;
为每个所述压力测试任务创建测试环境;
对各个所述测试环境进行权限隔离,通过权限隔离使各个所述测试环境内的数据可以相互访问,但不能相互操作。
进一步的,收集功能测试参数,根据所述功能测试参数,生成jmeter脚本的步骤,包括:
收集功能测试参数,所述功能测试参数包括多组用于满足各个所述压力测试任务的测试参数;
开启流量复制开关,根据接口名选择对应的接口进行流量复制;其中一个接口对应于一个测试环境;
在对应的测试环境内的测试参数的参数量达到预设峰值情形下,关闭流量复制开关;
根据对应的测试环境内的测试参数,生成jmeter脚本。
进一步的,调用所述jmeter脚本的步骤之后,还包括:
依次设置所述jmeter脚本的测试参数为所述测试参数数据表中的各套测试参数,每设置一套测试参数运行一次所述jmeter脚本,分别得到每个测试环境的jtl测试文件,所述jtl测试文件为采用jmeter脚本执行压力测试后得到的记录压力测试结果数据的文件。
进一步的,调用所述jmeter脚本,对各个所述测试环境内的各个所述压力测试任务执行梯度压力测试的步骤,还包括:
在调用jmeter脚本依次执行各个测试环境中的压力测试时,在任意一个测试环境的压力测试出错的情形下,退出压力测试。
进一步的,退出压力测试的步骤之后,还包括:
根据压力测试出错的节点,构建报错信息,并将所述报错信息保存至所述jtl测试文件中,所述报错信息包括压力测试出错的测试环境以及所对应的压力测试数据。
进一步的,调用所述jmeter脚本,对各个测试环境内的各个压力测试任务执行梯度压力测试的步骤,包括:
根据所述jmeter脚本,执行压力测试;
在监控探针存活的情形下开始梯度压力测试;
所述梯度压力测试包括:在对应的测试环境的数据吞吐量达到预设阀值的情形下,停止压力测试;
在对应的测试环境的数据吞吐量没有达到预设阀值的情形下,增加数据并发量,直至对应的测试环境的数据吞吐量达到预设阀值,停止压力测试。
本发明实施例的一个方面又提供了一种性能测试系统,其特征在于,所述性能测试系统包括:
创建模块,用于创建多个压力测试任务,通过所述多个压力测试任务对多个测试环境的权限进行隔离;其中每个所述压力测试任务均与每个所述测试环境相对应;
生成模块,用于收集功能测试参数,根据所述功能测试参数,生成jmeter脚本;
测试模块,用于调用所述jmeter脚本,对各个所述测试环境内的各个所述压力测试任务执行梯度压力测试;根据所述梯度压力测试的结果,判断系统是否存在性能问题。
本发明实施例的一个方面又提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述性能测试方法的步骤。
本发明实施例的一个方面又提供了一种计算机可读存储介质,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述性能测试方法的步骤。
本发明实施例提供的性能测试方法、系统、计算机设备及可读存储介质;通过创建压力测试任务;根据压力测试任务的数量创建测试环境,通过权限隔离解决了多个压力测试任务并行的问题;通过jmeter脚本,对各个所述测试环境内的各个所述压力测试任务执行梯度压力测试,实现了在同一时间可以支持多个测试环境进行压测,缩短了测试时间。
附图说明
图1示意性示出了根据本发明实施例一的性能测试方法的流程图;
图2示意性示出了图1中的步骤S101的子步骤图;
图3示意性示出了根据本发明实施例二的性能测试系统的框图;及
图4示意性示出了根据本发明实施例三的适于实现性能测试方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
在本发明的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本发明及区别每一步骤,因此不能理解为对本发明的限制。
实施例一
图1示意性示出了根据本发明实施例一的性能测试方法的流程图。
如图1所示,该性能测试可以包括步骤S100~S103,其中:
步骤S100,创建多个压力测试任务,通过所述多个压力测试任务对多个测试环境的权限进行隔离;其中每个所述压力测试任务均与每个所述测试环境相对应。
具体地,性能测试是一种非功能测试,除了基本的测试工作外,还需要进行性能问题的定位、分析、调优的工作;本实施例通过创建压力测试任务;根据压力测试任务的数量创建测试环境,通过权限隔离解决了多个压力测试任务并行的问题,通过收集功能测试数据,生成相应的jmeter脚本,通过执行jmete脚本,对测试环境中的压力测试任务执行压力测试;大幅度减少了数据准备的时间,在同一时间可以支持多个环境的压测,节约时间成本。
创建多个压力测试任务,通过所述多个压力测试任务对多个测试环境的权限进行隔离的步骤包括
步骤S100-1:创建多个压力测试任务;
步骤S100-2:为每个所述压力测试任务创建测试环境;
步骤S100-3:对各个所述测试环境进行权限隔离,通过权限隔离使各个所述测试环境内的数据可以相互访问,但不能相互操作。
作为优选方案,权限隔离的目的是各个测试环境之间的数据可以相互访问,但是不能相互操作,例如A测试环境可以访问B测试环境内的压力测试任务,但是A测试环境不能执行B测试环境下的测试任务;这样就保证了压力测试任务可以并行操作且互相不影响,实现了多个线程的同时测试,提高了测试的效率。
步骤S101,收集功能测试参数,根据所述功能测试参数,生成jmeter脚本。
具体地,jmeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI脚本、Java对象、数据库、FTP服务器,等等。jmeter可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,jmeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,jmeter允许使用正则表达式创建断言。jmeter脚本运用在性能测试中具有以下特点:jmeter可以对测试静态资源(例如js、html等)以及动态资源(例如php、jsp、ajax等等)进行性能测试;jmeter可以挖掘出系统最大能处理的并发用户数;jmeter提供了一系列各种形式的性能分析报告;而jmeter用于本实施例中的压力测试时,主要测试系统能承受的最大负载能力。目的在于发挖掘出目标服务系统可以处理的最大负载。
如图2所示,收集功能测试参数,根据所述功能测试参数,生成jmeter脚本的步骤,包括:
步骤S101-1:收集功能测试参数,所述功能测试参数包括多组用于满足各个所述压力测试任务的测试参数;
步骤S101-2:开启流量复制开关,根据接口名选择对应的接口进行流量复制;其中一个接口对应于一个测试环境;
步骤S101-3:在对应的测试环境内的测试参数的参数量达到预设峰值情形下,关闭流量复制开关;
步骤S101-4:根据对应的测试环境内的所述测试参数,生成jmeter脚本。
具体地,把用户访问系统造成的数据传输定义为流量,在用户访问系统的过程中,可以把进入和流出的数据复制下来,进行保存,待后续使用,即离线模式,或者转发到一个新的服务器,立即使用,即在线模式;通过上述两种方式进行流量复制;流量复制工具一般分成这几类:基于web服务器的请求复制;基于应用层的流量复制工具;基于网络栈的流量复制工具,直接从链路层抓取数据包;本实施例的流量复制工具优选为基于网络栈的流量复制工具。
由于本实施例中存在多个压力测试任务,而使用的测试数据是相同的,所以基于以上目的,本实施例采用在线模式将测试参数复制成多份并传入到不同的测试环境中进行测试,其中每个测试环境对应一个服务器,其中一个服务器对应一个接口,接口对应有接口名,所以只需要根据接口名找到对应的服务器进行流量复制;每个服务器中的测试参数分别用于配置一个jmeter脚本,从而实现多任务并行的功能。
步骤S102:调用所述jmeter脚本,对各个所述测试环境内的各个所述压力测试任务执行梯度压力测试。
梯度压力测试,就是对系统的压力呈现阶梯性增加的过程,每个阶段压力值都要增加一个数量值,最终达到一个预期值。然后保持该压力值,持续运行一段时间。实际上,梯度压力测试,是负载测试的一种通用方法。梯度压力测试的目标是测试在一定负载情况下的系统性能,测试系统的不同负载情况下的性能指标。这种方法可以帮助我们,在最初无法预知服务器性能的情况下,迅速的得到一个极限值。在执行中,如果某个阶梯时间内Error率突然增加,那么这个阶段就是服务器的某个极限值。
调用所述jmeter脚本的步骤之后,还包括:
步骤S102-A:依次设置所述jmeter脚本的测试参数为所述测试参数数据表中的各套测试参数,每设置一套测试参数运行一次所述jmeter脚本,分别得到每个测试环境的jtl测试文件,所述jtl测试文件为采用jmeter脚本执行压力测试后得到的记录压力测试结果数据的文件。
具体地,所述jtl测试文件记录这请求发出的绝对时间、响应时间、请求的标签、返回码、返回消息、请求所属的线程,数据类型,是否成功,失败信息等等。通过jtl测试文件可以获取各个测试环境中的压力测试的结果,从而获得系统在不同的吞吐量的情形下的性能表现。
调用所述jmeter脚本,对各个所述测试环境内的各个所述压力测试任务执行梯度压力测试的步骤包括:
步骤S102-1:根据所述jmeter脚本,执行压力测试;
步骤S102-2:在监控探针存活的情形下开始梯度压力测试,在对应的测试环境的吞吐量达到预设阀值的情形下,停止压力测试;
步骤S102-3:在对应的测试环境的吞吐量没有达到预设阀值的情形下,增加数据并发量,直至对应的测试环境的吞吐量达到预设阀值,停止压力测试。
具体地,监控探针用于性能测试中的指标监控,上述吞吐量用于表示测试环境的数据承载能力,在吞吐量达到预设阀值时,测试环境中的数据承载能力达到上限值,停止压力测试,通过以下指标,反映系统的性能,监控探针监控的指标包括资源指标以及系统指标,其中资源指标包括但不限于如下几种:
CPU使用率:指用户进程与系统进程消耗的CPU时间百分比,长时间压力测试的情况下,一般可接受上限不超过85%。
内存利用率:内存利用率=(1-空闲内存/总内存大小)*100%,一般至少有10%可用内存,内存使用率可接受上限为85%。
磁盘I/O:磁盘主要用于存取数据,因此当说到IO操作的时候,就会存在两种相对应的操作,存数据的时候对应的是写IO操作,取数据的时候对应的是是读IO操作,一般使用%Disk Time(磁盘用于读写操作所占用的时间百分比)度量磁盘读写性能。
网络带宽:一般使用计数器Bytes Total/sec来度量,Bytes Total/sec表示为发送和接收字节的速率,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较。
系统指标包括但不限于如下几种:
并发用户数:某一物理时刻同时向系统提交请求的用户数。
在线用户数:某段时间内访问系统的用户数,这些用户并不一定同时向系统提交请求。
平均响应时间:系统处理事务的响应时间的平均值。事务的响应时间是从客户端提交访问请求到客户端接收到服务器响应所消耗的时间。对于系统快速响应类页面,一般响应时间为3秒左右。
调用所述jmeter脚本,对各个所述测试环境内的各个所述压力测试任务执行梯度压力测试的步骤还包括:
步骤S102-4:在调用jmeter脚本依次执行各个测试环境中的压力测试时,在任意一个测试环境的压力测试出错的情形下,退出压力测试;
步骤S102-5:根据压力测试出错的节点,构建报错信息,并将所述报错信息保存至所述jtl测试文件中,所述报错信息包括压力测试出错的测试环境以及所对应的压力测试数据。
具体地,进行压力测试的过程中,假设出现错误即停止压力测试,并将报错信息进行保存,用户可以获知是哪个测试环境、哪个环节的压力测试出现了问题,便于定位分析问题的产生原因。
步骤S103:根据所述梯度压力测试的结果,判断系统是否存在性能问题
可通过梯度压力测试的结果,判断资源指标以及系统指标是否达到上限值,根据标准的性能对照表,对系统的性能进行分级,并根据各项指标数据分析出现的问题,专业人员根据性能测试中出现的问题进行解决,从而完成性能测试;本实施例通过创建压力测试任务;根据压力测试任务的数量创建测试环境,通过权限隔离解决了多个压力测试任务并行测试的问题,通过收集功能测试数据,生成相应的jmeter脚本,通过执行jmeter脚本,对测试环境中的压力测试任务执行压力测试;大幅度减少了数据准备的时间,在同一时间可以支持多个环境的压测,节约时间成本。
实施例二
图3示意性示出了根据本发明的性能测试系统的框图,该性能测试系统可以被分割成程序模块,一个或者多个程序模块被存储于存储介质中,并由处理器所执行,以完成本发明实施例。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。
如图3所示,该性能测试系统130可以包括创建模块131、生成模块132、测试模块133。其中:
创建模块131,用于创建多个压力测试任务,通过所述多个压力测试任务对多个测试环境的权限进行隔离;其中每个所述压力测试任务均与每个所述测试环境相对应;
生成模块132,用于收集功能测试参数,根据所述功能测试参数,生成jmeter脚本;
测试模块133,用于调用所述jmeter脚本,对各个所述测试环境内的各个所述压力测试任务执行梯度压力测试;根据所述梯度压力测试的结果,判断系统是否存在性能问题。
作为优选方案,所述创建模块131还用于创建多个压力测试任务;为每个所述压力测试任务创建测试环境;对各个所述测试环境进行权限隔离,通过权限隔离使各个所述测试环境内的数据可以相互访问,但不能相互操作。
作为优选方案,所述生成模块132还用于收集功能测试参数,所述功能测试参数包括多组用于满足各个所述压力测试任务的测试参数;开启流量复制开关,根据接口名选择对应的接口进行流量复制;其中一个接口对应于一个测试环境;在对应的测试环境内的测试参数的参数量达到预设峰值情形下,关闭流量复制开关;根据对应的测试环境内的测试参数,生成jmeter脚本。
作为优选方案,所述测试模块133还用于依次设置所述jmeter脚本的测试参数为所述测试参数数据表中的各套测试参数,每设置一套测试参数运行一次所述jmeter脚本,分别得到每个测试环境的jtl测试文件,所述jtl测试文件为采用jmeter脚本执行压力测试后得到的记录压力测试结果数据的文件。
作为优选方案,所述测试模块133还用于在调用jmeter脚本依次执行各个测试环境中的压力测试时,在任意一个测试环境的压力测试出错的情形下,退出压力测试。根据压力测试出错的节点,构建报错信息,并将所述报错信息保存至所述jtl测试文件中,所述报错信息包括压力测试出错的测试环境以及所对应的压力测试数据。
作为优选方案,所述测试模块133还用于根据所述jmeter脚本,执行压力测试;在监控探针存活的情形下开始梯度压力测试;所述梯度压力测试包括:在对应的测试环境的数据吞吐量达到预设阀值的情形下,停止压力测试;在对应的测试环境的数据吞吐量没有达到预设阀值的情形下,增加数据并发量,直至对应的测试环境的数据吞吐量达到预设阀值,停止压力测试。
实施例三
图4示意性示出了根据本发明实施例三的适于实现性能测试方法的计算机设备6的硬件架构示意图。本实施例中,计算机设备6是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)、网关等。如图4所示,计算机设备6至少包括但不限于:可通过系统总线相互通信链接存储器141、处理器142、网络接口143。其中:
存储器141至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器141可以是计算机设备6的内部存储模块,例如该计算机设备6的硬盘或内存。在另一些实施例中,存储器141也可以是计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(SmartMedia Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器141还可以既包括计算机设备6的内部存储模块也包括其外部存储设备。本实施例中,存储器141通常用于存储安装于计算机设备6的操作系统和各类应用软件,例如性能测试方法的程序代码等。此外,存储器141还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器142在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器142通常用于控制计算机设备6的总体操作,例如执行与计算机设备6进行数据交互或者通信相关的控制和处理等。本实施例中,处理器142用于运行存储器141中存储的程序代码或者处理数据。
网络接口143可包括无线网络接口或有线网络接口,该网络接口143通常用于在计算机设备6与其他计算机设备之间建立通信链接。例如,网络接口143用于通过网络将计算机设备6与外部终端相连,在计算机设备6与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(GlobalSystem of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code DivisionMultiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图4仅示出了具有部件141-143的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器141中的性能测试方法还可以被分割为一个或者多个程序模块,并由处理器(本实施例为处理器142)所执行,以完成本发明实施例。
实施例四
本发明还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的性能测试方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中异常账号的识别方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种性能测试方法,其特征在于,所述方法包括:
创建多个压力测试任务,通过所述多个压力测试任务对多个测试环境的权限进行隔离;其中每个所述压力测试任务均与每个所述测试环境相对应;
收集功能测试参数,根据所述功能测试参数,生成jmeter脚本;
调用所述jmeter脚本,对各个所述测试环境内的各个所述压力测试任务执行梯度压力测试;
根据所述梯度压力测试的结果,判断系统是否存在性能问题。
2.根据权利要求1所述的性能测试方法,其特征在于,创建多个压力测试任务,通过多个压力测试任务对多个测试环境的权限进行隔离的步骤,包括:
创建多个压力测试任务;
为每个所述压力测试任务创建测试环境;
对各个所述测试环境进行权限隔离,通过权限隔离使各个所述测试环境内的数据可以相互访问,但不能相互操作。
3.根据权利要求1所述的性能测试方法,其特征在于,收集功能测试参数,根据所述功能测试参数,生成jmeter脚本的步骤,包括:
收集功能测试参数,所述功能测试参数包括多组用于满足各个所述压力测试任务的测试参数;
开启流量复制开关,根据接口名选择对应的接口进行流量复制;其中一个接口对应于一个测试环境;
在对应的测试环境内的测试参数的参数量达到预设峰值情形下,关闭流量复制开关;
根据对应的测试环境内的所述测试参数,生成jmeter脚本。
4.根据权利要求1所述的性能测试方法,其特征在于,调用所述jmeter脚本的步骤之后,还包括:
依次设置所述jmeter脚本的测试参数为所述测试参数数据表中的各套测试参数,每设置一套测试参数运行一次所述jmeter脚本,分别得到每个测试环境的jtl测试文件,所述jtl测试文件为采用jmeter脚本执行压力测试后得到的记录压力测试结果数据的文件。
5.根据权利要求4所述的性能测试方法,其特征在于,调用所述jmeter脚本,对各个所述测试环境内的各个所述压力测试任务执行梯度压力测试的步骤,还包括:
在调用jmeter脚本依次执行各个测试环境中的压力测试时,在任意一个测试环境的压力测试出错的情形下,退出压力测试。
6.根据权利要求5所述的性能测试方法,其特征在于,退出压力测试的步骤之后,还包括:
根据压力测试出错的节点,构建报错信息,并将所述报错信息保存至所述jtl测试文件中,所述报错信息包括压力测试出错的测试环境以及所对应的压力测试数据。
7.根据权利要求1所述的性能测试方法,其特征在于,调用所述jmeter脚本,对各个所述测试环境内的各个所述压力测试任务执行梯度压力测试的步骤,包括:
根据所述jmeter脚本,执行压力测试;
在监控探针存活的情形下开始梯度压力测试;
所述梯度压力测试包括:在对应的测试环境的数据吞吐量达到预设阀值的情形下,停止压力测试;
在对应的测试环境的数据吞吐量没有达到预设阀值的情形下,增加数据并发量,直至对应的测试环境的数据吞吐量达到预设阀值,停止压力测试。
8.一种性能测试系统,其特征在于,所述性能测试系统包括:
创建模块,用于创建多个压力测试任务,通过所述多个压力测试任务对多个测试环境的权限进行隔离;其中每个所述压力测试任务均与每个所述测试环境相对应;
生成模块,用于收集功能测试参数,根据所述功能测试参数,生成jmeter脚本;
测试模块,用于调用所述jmeter脚本,对各个所述测试环境内的各个所述压力测试任务执行梯度压力测试;根据所述梯度压力测试的结果,判断系统是否存在性能问题。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1~7中任一项所述的性能测试方法的步骤。
10.一种计算机可读存储介质,其特征在于,其内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1~7中任一项所述的性能测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210030166.2A CN114385498A (zh) | 2022-01-12 | 2022-01-12 | 性能测试方法、系统、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210030166.2A CN114385498A (zh) | 2022-01-12 | 2022-01-12 | 性能测试方法、系统、计算机设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114385498A true CN114385498A (zh) | 2022-04-22 |
Family
ID=81202734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210030166.2A Pending CN114385498A (zh) | 2022-01-12 | 2022-01-12 | 性能测试方法、系统、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114385498A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114968747A (zh) * | 2022-07-12 | 2022-08-30 | 杭州数列网络科技有限责任公司 | 自动极限压测性能测试方法、装置、电子设备及存储介质 |
-
2022
- 2022-01-12 CN CN202210030166.2A patent/CN114385498A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114968747A (zh) * | 2022-07-12 | 2022-08-30 | 杭州数列网络科技有限责任公司 | 自动极限压测性能测试方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11269718B1 (en) | Root cause detection and corrective action diagnosis system | |
US7664986B2 (en) | System and method for determining fault isolation in an enterprise computing system | |
CN110618924B (zh) | 一种web应用系统的链路压力测试方法 | |
CN111831569A (zh) | 基于故障注入的测试方法、装置、计算机设备和存储介质 | |
CN111124850A (zh) | Mqtt服务器性能测试方法、系统、计算机设备及存储介质 | |
CN108628748B (zh) | 自动化测试管理方法和自动化测试管理系统 | |
CN109543891B (zh) | 容量预测模型的建立方法、设备及计算机可读存储介质 | |
US20180357143A1 (en) | Testing computing devices | |
EP2629205A1 (en) | Multi-entity test case execution workflow | |
CN111881014B (zh) | 一种系统测试方法、装置、存储介质及电子设备 | |
CN105027108A (zh) | 实例主机配置 | |
Bass et al. | Eliciting operations requirements for applications | |
CN114385498A (zh) | 性能测试方法、系统、计算机设备及可读存储介质 | |
CN112051771B (zh) | 多云数据采集方法、装置、计算机设备和存储介质 | |
Mesbahi et al. | Dependability analysis for characterizing Google cluster reliability | |
CN113419950A (zh) | Ui自动化脚本的生成方法、装置、计算机设备及存储介质 | |
CN113127356A (zh) | 压测方法、装置、电子设备及存储介质 | |
CN110069382B (zh) | 软件监控方法、服务器、终端设备、计算机设备及介质 | |
RU2532714C2 (ru) | Способ получения данных при оценке ресурсов сети и устройство для осуществления способа | |
CN116405412A (zh) | 服务端集群的有效性验证方法和系统 | |
CN109669829A (zh) | 一种基于bmc的诊断调试方法、装置及服务器 | |
CN111045935B (zh) | 版本自动审核方法、装置、设备及存储介质 | |
CN111737130B (zh) | 公有云多租户认证服务测试方法、装置、设备及储存介质 | |
CN113360389A (zh) | 一种性能测试方法、装置、设备及存储介质 | |
CN115242621B (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 |