看了大家问的问题,感觉大家的脚本都没有写好,
一个完整的脚本包含事务 关联 参数化
名词解释:
什么是事务:事务就是你根据具体的业务定义的,比如你要压测一个购买商品的业务场景
以天猫购物为例:要想购买一个商品需要登录—浏览商品—查看商品详情—添加购物车—进入购物车—提交订单—结算这些流程,
录制完这些内容后,需要你去定义事务,那怎么去定义事务呢,个人经验如下
我会把登录定义一个事务,浏览商品定义一个事务,进入商品详情定义事务,添加购物车定义一个事务,进入购物车定义一个事务,提交订单定义一个事务,结算定义一个事务,大家可能要问干嘛要定义这么多事务,我定义一个不行,定义一个也可以,但是如果有哪一步有了你要排查的原因就比较多,如果你定义的比较细,这样那个比较耗时,哪一个响应慢就会一目了然,定义问题比较快
怎么关联
比如上文提到的登录,你要提交订单时,肯定带有一个用户的id 或者标识这你这个用户登录的token等等标识,这时候你就要关联了,这个关联的值去哪儿找呢,一般是在你这个登录请求响应内容里面
为什么要参数化
大家都知道性能测试就是大并发,再进行性能测试时,我们所有大量的用户而不是一个用户,所以这个时候就要参数化,比如上文提到登录时用到的用户名
以上做完后这个脚本还是不完整的,我们还要判断事务什么情况是成功的什么情况下是失败的,还是上文提到的登录,比如登录成功后,响应的内容里面包含”登录成功“字符,这个时候我们就要把这个字符关联下来,用来判断登录的事务是否是成功,如果响应的内容里有”登录成功“的字符,那么登录事务就是成功的否则就是失败的
这样的脚本才是一个完整的脚本,才能去进行场景设置,进行压测,得出的结果才有参考性。以上是本人自己的见解,有不足的地方提出来大家共同探讨