jmeter参数化的一次实践(count计数器使用)

  作为性能测试从业者,我其实很少说工具的事情,曾经我做过一些统计,较为科学的性能测试过程,工具执行占比也就5%-10%,但并不是说工具不重要,我只是反对把工具看得过重,甚至一些同学认为会使用工具就等于会性能测试,我的建议是大家使用零碎的时间看看jmeter的使用方法技巧等,工具的熟悉对提高测试效率帮助很大,今天,我举一个参数化实例,加深大家对工具使用方法的理解。

  我先大概说下参数化需求,这个需求也是性能测试需要提炼出来的,一般业务研发只能说个大概也未必能从测试的角度说的特别明白,这个过程今天不给大家阐述,提炼好的需求如下:需要一个线程组里面五只接口,均包含sid,和tid字段,只由数字组成,sid要求每轮线程每只接口均唯一,多次测试数据库均不能落入相同值,tid要求同一线程内数值一致,并发执行,不同批次线程tid唯一,本次测试要求tps大于1000,好了,这就是参数化要求,大家想一下实现。

  一般这样的要求,有些经验的性能测试首先想到的是时间戳,但仅仅是时间戳就可以满足要求么,我上面讲过tps>1000,或许部分同学未留意,时间戳一般的精确到毫秒,当一秒钟处理能力大于1000时,必然出现重复数据,所以后面还需要拼接,一些同学会加随机数等,但其实还是存在重复的概率,我的建议是添加count计数器,count计数器大家可自行了解, 好了,接着说tid,如何保持线程组内不同接口参数共享,不同批次线程唯一,不兜圈子,count计数器可以解决此问题,大家自己去实践观察,有一点提醒下,结合实际情况注意count取值范围,实际情况是啥?比如数据库字段位数,tps的量级,还有这样的需求,count不是独立使用,是采取拼接方式。。。

  是不是觉得这样就ok了?事实往往并没有那么顺利,当使用分布式时,同一批次其实还是取得同一个值,教大家一个我认为最简单的方法,拼接文本方式参数化,每一个机器读取本地配置的一个不同值,这样ok!

  还是希望大家自己去实践,之所以不跟大家一一详述,没有每一个步骤都去截图,第一我个人有点懒,觉得这样做含金量也不是太大,第二我认为饭送到嘴边其实是不愿意吃的,我这边提供了解决方法,大家有兴趣的会去尝试,或者哪天大家在工作中会忽然想到这个帖子,当然也存在更优的实现方式,这个过程对于新手来说还需要时间理解,实在搞不明白可以留言;

转载于:https://my.oschina.net/cctester/blog/1602261

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值