JMeter性能测试中控制业务比例

上一篇 / 下一篇  2017-10-26 13:42:25 / 个人分类:软件测试


性能测试混合场景中,我们需要组合多个业务操作到场景中来。
比如有一个论坛的业务分布如下:
发布新帖与回复帖子的比例为2:3
那么我们在JMeter测试计划中如何控制其比例呢?

 

可以通过以下两种方式解决:
多线程组方式

逻辑控制器控制


多线程组方式:

JMeter是用线程组来模拟虚拟用户的,JMeter支持一个计划中多个线程组。
利用这个特性我们可以把发布新帖业务放在一个线程组中,回帖业务放在另外一个线程组中。
通过控制线程数来达到需求的业务量的比例关系。

回帖线程组,添加90个线程;
发布新帖线程组,添加60个线程,刚好是32

但,,,这只能是近似的,如果这两个事务的响应时间不一样,最终完成的业务数比例也会不一样。
当前线程数是在假定两个业务的响应时间一样的情况下,所以这完全是理想状况。
所以,这种方式控制并不完美。

 

控制器控制:

如果(If)控制器可以使用表达式来做为条件,这样我们可以获取迭代次数来决定
是回帖还是发新帖,比如一共3次迭代,第1次与第3次迭代时发新帖,123次迭代都会进行回帖

 

JMeter函数助手提供了一个“__counter”函数,可以用来获取当前的迭代次数。

如何保持32的比例呢?

${__counter(true,)}%2==1||${__counter(true,)}%3==0

 


上面__counter(true,)是获取当前迭代次数,%是取余,也就是除213整除时执行发新帖。
9次迭代为例,回帖9次,135679次迭代时都会发新帖,回帖刚好是6
9
6=32
3
2的比例达到。


 博为峰网校,入门提升进阶必备~http://www.atstudy.com/


TAG: 软件测试 自动化测试

 

评分:0

我来说两句

Open Toolbar