Loadrunner做性能测试:为什么100个用户的响应时间反而比50个用户的响应时间更短?

我在中国外汇交易中心工作过一段时间,当时有个专业的Loadrunner测试团队,他们的测试结果:为什么100个用户的响应时间反而比50个用户的响应时间更短。

分析:首先这肯定是一种不正常的现象,因为按照常理用户越多,系统的响应时间应该是更长才正确,——所以这100个用户测试的响应时间是一种假象。

有可能是在100个用户并发访问的时候,事务已经失败了,但是loadrunner测试工具并不知道事务已经失败了,举例:假如一个Web系统,在大量的用户的访问情况下,系统提示“系统繁忙,请稍后”,但是Loadrunner测试工具中只要返回的http200的代码,Loadrunner就认为正常,其实系统此时已经不正常了。这个时候就要Loadrunner中手工写事务了。

举例:业务分析:注册用户后,在系统的页面上会出现“完成注册”的信息,可以在注册后返回的页面中检查是否出现了这样的内容来判断注册事务是否成功。

所以在检查点函数中需要添加这个内容,最后可以得到下面的代码:

web_reg_find("Search=Body",
  "SaveCount=regst",
  "Text=Thank you",
  LAST);
 web_submit_data("login.pl",
  "Action=http://127.0.0.1:1080/WebTours/login.pl",
  "Method=POST",
  "RecContentType=text/html",
  "Referer=http://127.0.0.1:1080/WebTours/login.pl?username=&password=&getInfo=true",
  "Snapshot=t12.inf",
  "Mode=HTTP",
  ITEMDATA,
  "Name=username", "Value={username}", ENDITEM,
  "Name=password", "Value=111111", ENDITEM,
  "Name=passwordConfirm", "Value=111111", ENDITEM,
  "Name=firstName", "Value=j", ENDITEM,
  "Name=lastName", "Value=yh", ENDITEM,
  "Name=address1", "Value=上海", ENDITEM,
  "Name=address2", "Value=231231", ENDITEM,
  "Name=register.x", "Value=34", ENDITEM,
  "Name=register.y", "Value=9", ENDITEM,
  LAST);


 if(atoi(lr_eval_string("{regst}")) >=1)

 lr_end_transaction("用户注册", LR_PASS);

 else

 lr_end_transaction("用户注册", LR_FAIL);

return 0;
}

另外:简单说明下对于web_reg_find、web_reg_save_param_ex都属于注册类型的函数,就是一定要先申明,然后才能使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件测试King老师

感谢大家一直以来的支持和关注

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值