线程组参数解释

  • 线程数(即并发数):

    一个用户占一个线程,200个线程就是模拟200个用户;

  • Ramp-Up 时间(秒):

    设置线程需要多长时间全部启动;如果线程数为200,准备时长为10,那么需要1秒钟启动20个线程;也就是每秒钟启动20个线程;

  • 循环次数:

    一次场景下来,请求的数量=线程数 * 循环次数;如果线程数为200,循环次数为10 ,那么每个线程发送10次请求;总请求数为200*10=2000 ;如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本;

JMeter聚合报告参数解释

  • Label:每个JMeter的element的Name值,例如HTTP Request的Name;

  • 样本:发出请求数量;模拟20个用户,循环100次,所以显示了2000;

  • 平均值:平均响应时间(单位:ms);默认是单个Request的平均响应时间,当使用了Transaction Controller时,也可以以Transaction为单位显示平均响应时间;

  • 中位数:50%的用户响应时间小于这个值;

  • 95%百分位:95%的用户响应时间小于这个值;

  • 99%百分位:99%的用户响应时间小于这个值;

  • 最小值:用户响应时间最小值;

  • 最大值:用户响应时间最大值;

  • 异常%:测试出现的错误请求数量百分比;请求的错误率 = 错误请求的数量/请求的总数;若出现错误就要看服务端的日志查找定位原因;

  • 吞吐量:Throughput简称TPS,吞吐量,默认情况下表示每秒处理的请求数,也就是指服务器处理能力,TPS越高说明服务器处理能力越好;

  • KB/sec:每秒从服务器端接收到的数据量;

压测结果分析

异常%:确认是否允许错误的发生或者错误率允许在多大的范围内;

吞吐量:吞吐量每秒请求的数大于并发数,则可以慢慢的往上面增加;若在压测的机器性能很好的情况下,出现吞吐量小于并发数,说明并发数不能再增加了,可以慢慢的往下减,找到最佳的并发数;

最大的TPS:不断的增加并发数,加到TPS达到一定值开始出现下降,那么那个值就是最大的TPS;

最大的并发数

最大的并发数和最大的TPS是不同的概率,一般不断增加并发数,达到一个值后,服务器出现请求超时,则可认为该值为最大的并发数;

压测的时候要时刻关注应用服务器数据库服务器等CPU、内存、网络等使用情况;

压测过程出现性能瓶颈,若压测客户端任务管理器查看到的CPU、网络和CPU都正常,未达到90%以上,则可以说明服务器有问题,压测客户端没有问题;

影响性能考虑点包括:数据库、应用程序、中间件(php-fpm、nginx、redis…)、网络和操作系统等方面;

循环控制器

目的:循环该控制器下面子节点的次数。

线程组里循环次数设置了n次,循环控制器下的循环次数也设置了m次,则该控制器下的请求运行的次数是(n*m)次。

如果(If)控制器

目的:判断条件,可以引用变量。当为 true 时,执行子节点

Interpret Condition as Variable Expression" />Evaluate for all children
  • 勾选:对所有采样器执行前都判断一次

  • 不勾选:仅入口判断一次

如果是字符串的比较,需要加””

"${url}"=="baidu"

注意事项:

在if逻辑控制器的Expression中不能直接填写条件表达式,需要借助函数将条件表达式计算为true/false,可以借助的函数有__jexl3和__groovy函数

最后:下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。