既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
开源项目:docs.qq.com/doc/DSlVlZExWQ0FRSE9H
那么如何真实模拟按比例进行并发呢?
之前在使用LR进行过类似场景的测试,思路是:每次向服务器发出请求时,先生成一个随机数,我们对随机数的取值划分若干个范围(对应若干个业务请求),然后对随机数进行判断,当随机数落在某个范围内,就可以执行对应的请求。比如,我们压测的过程中,要访问百度和51ste,并且请求比例是2:8,那么可以规定随机数取值1<=random<=100,然后再划分2个范围:当随机数的取值在80到100之间((80,100]),则访问百度;当随机数取值在1和80之间([1,80]),则访问51ste;根据概率论,当取样量足够大的话,访问百度和51ste的请求比例会比较接近2:8.也可以在LR在场景设计里设置不同的请求的比例,来实现。
那么JMeter能否实现这种要求?答案是可以的,下面我们使用Jmeter结合刚才的例子进行讲解:
1
首先,我们需要一个能够生成随机数的函数,刚好JMeter提供了这个函数
在测试计划下,我们右键“添加”>配置原件>Random Variable
2
设置随机数的变量名称为test,设置取值范围1到100
3
添加线程组,右键线程组添加“逻辑控制器”——如果(If)控制器
4
添加判断条件,如果随机数<=80
5
在If控制器下面 添加>Sampler>HTTP请求,访问51ste
6
添加判断条件,如果随机数>80
7
在If控制器下面 添加>Sampler>HTTP请求,访问百度
8
我们在线程组下 添加>后置处理器>Debug PostProcessor,好展示随机数取值情况
9
在线程组 添加>监听器>用表格察看结果
10
在线程组中设置10个线程数
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
了解详情》docs.qq.com/doc/DSlVlZExWQ0FRSE9H