上一篇写了接口测试的流程中线程组是是一系列线程的集合,每一个线程代表一个正在使用应用程序的用户,可以用于配置并发用户模拟。
一.线程组:
线程数:相当于模拟用户的数量,假如设置为20,可以理解为20个虚拟的用户;
Ramp-Up时间(秒):达到设置的线程总数所需要的时间,例如线程数为20,时间设定为10s,那么就是10s加载完成20个线程,每秒启动的线程数为20/10=2;
循环次数:默认为1,即执行一次;可以输入其他值,按照所输入的值循环执行线程组下的请求。勾选“永远”,则一直重复执行,一般会同时勾选调度器来设置运行的持续时间,这时就可以达到持续压力测试的目的。
持续时间(秒):压力测试需要的时长,根据实际情况来定;
启动延迟(秒):测试计划延迟启动的时间;
二.同步定时器:
并发测试有一个很关键的概念叫集合点,即等待所有的用户请求到达集合点后一起释放;例如公司下班后员工陆续出门,等所有人到达门口后一起出去,产生瞬时的压力,这时对门的压力是最大的,即多用户几乎同时对某一功能点进行瞬时访问,形成严格的并发操作。同步定时器就是为用于并发测试,作为集合点用。先解释一下同步的意思,同步是一种等待的机制,意思是等待A任务完成后,B任务才能开始,并不是A和B两个任务同时开始。
模拟用户组的数量:就是你期望的并发用户数
超时时间:就是等待的时间,毫秒为单位,10000毫秒就是10秒;先到达集合点的用户开始计时等待,如果超过10s,就不再等待,先并发执行已到达的用户。例如我们想等待3个用户并发,到了2个用户,剩一个用户10秒还没到达,那么就不再等待,先并发已经到达的用户。
模拟用户数需要跟线程组的设置数量一致:
三.添加报告:
测试计划-右键-添加-监听器-图形结果、用表格查看结果、聚合报告
四.实际例子:
场景:查询接口做30个用户的瞬时并发测试
1.线程组设置30个用户,5s加载完全部线程
2.同步定时器也设置30个用户,超时时间设置10秒;
3.运行接口:查看结果,接口被运行了30次,且查看返回结果正确
4.查看报告,显示了相关的指标数据
Jmeter聚合报告的指标解释:
-
标签(Label):测试计划中每个HTTP请求或事务的名称或标识符。
-
样本数(Samples):测试期间发送给服务器的请求总数。每个HTTP请求或事务都会增加此计数器。
-
平均(Average):所有样本响应时间的平均值,单位为毫秒(ms)。
-
中位数(Median):所有样本响应时间的中位数,表示中间值,50%的样本响应时间低于此值,50%的样本响应时间高于此值。
-
90%线(90th Percentile):所有样本响应时间中,90%的样本响应时间低于此值,10%的样本响应时间高于此值。用于评估大多数用户的体验情况。
-
最小(Min):所有样本响应时间中的最小值。
-
最大(Max):所有样本响应时间中的最大值。
-
错误率(Error%):所有样本中发生错误的百分比,计算公式为:(错误样本数 / 总样本数) * 100%。
-
吞吐量(Throughput):每秒处理的请求数。计算公式为:(样本数 / 测试持续时间) * 1000,单位为请求/秒(Request/Second)。
-
KB/秒(Received KB/sec):每秒从服务器接收的数据量,单位为KB/秒。