软件测试——性能测试1:https://developer.aliyun.com/article/1521846
九、断言
作用:用于就检查测试中得到的响应数据是否符合预期,用于保证性能测试过程中的数据交互与预期一致,主要用于做调试,在进行压力测试时,断言可以禁用。
目的:在request的返回层面加一层判断机制。
实现过程:
- 在请求下添加断言(一个请求可以添加多个断言),请求不同,添加的断言不同;
- 添加一个断言结果的监听器,通过断言结果可以看到是否通过断言,若通过,断言结果会打印一次请求的名称,一个请求的所有断言都通过了才算请求成功。
Jmeter中的断言和LoadRunner中的检查点是一致的。
常用断言:
响应断言:判断返回的内容是否满足预期;
作用对象:响应报文中的所有对象(响应代码、响应文本、url等等)
在响应断言下添加断言结果:
大小断言(size断言):用来判断返回内容的大小;
作用对象:返回信息,响应报文,添加size断言,必须指定大小和长度
断言持续时间:判断服务器的响应时间是否达到预期;
作用对象:服务器;
BeanShell断言:与Java语言相结合的断言,用于验证脚本。
十、关联
在测试过程中需要引用前面的数据,但是数据是经常发生变化的,那么要获取使用这些数据,就需要使用关联。
例如:第二个请求需要第一个请求返回数据的结果作为自己的输入数据,此时就需要使用关联将这两个数据对接起来。
具体实现步骤:在第一个请求之后添加后置处理器;
后置处理器的作用:在请求结束之后,处理响应结果的特定数据,提取需要的数据。
在关联的过程中,会通常使用到正则表达式提取器。
对于Jmeter的参数说明:
引用名称:下一个请求要引用的参数名称,比如填写name时,就需要用${name}进行引用;
正则表达式:
():括起来的部分表示要提取的;
. :匹配任何字符串;
+:一次或多次;
?:在找到第一个匹配项后停止;
模板:用
引用起来,如果正则表达式中有多个正则表达式,则可以是$2
引用起来,如果正则表达式中有多个正则表达式,则可以是$2
3$等等,
匹配数字:0代表随机取值,1代表全部取值,通常情况下使用0;
缺省值:如果参数没有取到值,就要给赋给默认值。
常用的正则表达式操作符:
后置处理器中的正则表达式:
十一、JDBC请求
使用Jmeter通过jdbc请求来操作数据库。
准备工作:准备数据库环境(创建表、准备数据)
实现步骤:
1、添加jar包:
- 直接将jar包复制到jmeter的lib目录(mysql推荐使用)
- 通过Test Plan浏览加载(oracle推荐使用)
2、建立连接信息:在测试计划中,点击添加配置原件 -> JDBC Connection Configuration
3、添加JDBC请求:
使用结果树查看响应结果:
十二、分布式测试
使用场景:在使用Jmeter进行性能测试时,对于高频大并发的数据单台电脑可能难以支持就需要进行分布式压测,即对客户端的压力进行分摊,也叫负载均衡。
原理:
- 在使用Jmeter进行测试时,选择其中一台作为主控调度机,其余作为执行机;
- 执行时,主控机器会把每个脚本发送到每台执行机器上,执行机器拿到脚本就开始执行,执行机器不需要启动GUI界面;
- 执行结束后,执行机器会把结果回传给主机,主机收集所有的执行机器的测试数据进行汇总;
主控机器:生成脚本,调试脚本,汇总数据;
执行机器:运行脚本,回传数据给主控数据;
具体实现步骤:
1、执行机器的设置:
- 在执行机上安装JDK和Jmeter(执行机和主控机的版本必须保持一致);
- 添加环境变量;
- 在启动bin目录下的:jmeter-server.bat;
易出现问题:提示无法启动,请按任意键/文件找不到
解决方案:进入apache-jmeter-5.2\bin\jmeter.properties文件,将server.rmi.ssl.disable设置为true,重新启动jmeter-server.bat,查看命令行窗口显示则表示启动成功。
2、主控机器设置:
准备测试脚本;
修改属性配置文件:jmeter.properties 文件,修改IP和端口号,在文件中查找remote_hosts,原默认信息是127.0.0.1表示本机,修改host信息:执行机器IP:端口号,执行机器2号IP:端口号,默认端口号是1099,执行时,确保1099未被占用(端口号可以进行自定义)
重新启动jmeter.bat;
在jmeter中点击运行,再点击远程启动,即可开启分布式测试。
十三、性能测试报告
测试报告的大纲:目的、项目简介、测试过程、测试结果以及项目总结。
性能测试报告的内容:概述、测试环境、测试目标(性能指标)、测试方法、测试数据分析、测试结论。
注意:在测试数据分析的过程中,必须按照不同的测试场景进行描述。
利用Jmeter生成html的测试报告:
方法一:
选择添加监听器中的聚合报告,将聚合报告输出到指定的csv文件,在jmeter的工具中选择
Generate HTML report;
html报告展示:
方法二:在命令行窗口输入命令来实现:
操作命令:jmeter -n -t 脚本的绝对路径.jmx -l 测试报告的文件名称.csv -e -o html报告的目录路径。
注意:报告的目录文件必须为空目录,测试报告文件也不能有数据,必须是空文件或者是不存在的文件。