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

发表于:2017-8-17 13:53

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:流柯    来源:51Testing软件测试网采编

  性能测试混合场景中,我们需要组合多个业务操作到场景中来。
  比如有一个论坛的业务分布如下:
  发布新帖与回复帖子的比例为2:3,
  那么我们在JMeter测试计划中如何控制其比例呢?
  可以通过以下两种方式解决:
  多线程组方式
  逻辑控制器控制
  多线程组方式:
  JMeter是用线程组来模拟虚拟用户的,JMeter支持一个计划中多个线程组。
  利用这个特性我们可以把发布新帖业务放在一个线程组中,回帖业务放在另外一个线程组中。
  通过控制线程数来达到需求的业务量的比例关系。
  回帖线程组,添加90个线程;
  发布新帖线程组,添加60个线程,刚好是3:2。
  但,,,这只能是近似的,如果这两个事务的响应时间不一样,最终完成的业务数比例也会不一样。
  当前线程数是在假定两个业务的响应时间一样的情况下,所以这完全是理想状况。
  所以,这种方式控制并不完美。
  控制器控制:
  如果(If)控制器可以使用表达式来做为条件,这样我们可以获取迭代次数来决定
  是回帖还是发新帖,比如一共3次迭代,第1次与第3次迭代时发新帖,1,2,3次迭代都会进行回帖
  JMeter函数助手提供了一个“__counter”函数,可以用来获取当前的迭代次数。
  如何保持3:2的比例呢?
 ${__counter(true,)}%2==1||${__counter(true,)}%3==0
  上面__counter(true,)是获取当前迭代次数,%是取余,也就是除2余1与3整除时执行发新帖。
  以9次迭代为例,回帖9次,1,3,5,6,7,9 次迭代时都会发新帖,回帖刚好是6次
  9:6=3:2
  3:2的比例达到。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号