最近做了公司产品的一个简单性能测试,使用的是LoadRunner,第一次用难免遇到问题,不过现在都解决了。
一、Think Time
录制脚本时有think time,但在做并发测试时不需要,可在Run time setting中ignore它。
(注:Generator和Controller的scenario中都有Run time setting,在执行场景时以场景中的设置为准。)
二、网页验证
录制的脚本并不包含网页内容的验证,需要在Generator中手工添加,步骤如下:
1、打开树视图(View Tree)
2、选择要验证的网页
3、在Server Response中选择要检查的文本(如success)
4、右键单击并选择“添加文本检查(web-reg-find)”
5、在脚本中此网页请求之前生成一条语句web_reg_find("Text=success", LAST);
三、用户登录的参数化
由于系统不允许重复登录,因此在创建VU时必须选择不同的用户。步骤如下:
1、首先在Generator脚本的参数列表中,定义参数username,并添加值列表{U1, U2, U3}
2、设置select next row为Unique,Update Value on为Once
其中Unique保证不同的VU选择不同的username值,Once保证在不同的iteration使用同一值。
3、在Controller的scenario中选择VU数为3。
运行时三个VU分别选择U1,U2,U3登录。
四、集合点
为了测试某个页面在50个并发的处理情况,需要在此页面前设置集合点。步骤如下:
1、在Generator中页面前选择Insert->Rendezvous,输入集合点名称。
2、在Controller中scenario->Rendezvous可以定义集合点的VU
五、监控系统资源
添加一个Windows XP机器后,总是报“拒绝访问”,在查阅了网上大侠们的解决方案后,按照以下步骤解决:
1、在目标机器上开启Remote Procedure Call(RPC)和Remote Registry Service两个服务
2、在目标机上共享C$
3、在controller的机器上运行"\\监视目标服务器IP地址\C$"
六、分析
执行完毕后,在Controller中选择Results->Analyze Results分析执行结果。
1、在Average Transaction Response Time中反映了交易时间。
Min:最小服务器响应时间;Mean:平均服务器响应时间;Max:最大服务器响应时间;StdDev:事务处理服务器响应的偏差,值越大,偏差越大;Median:中值响应时间
开始对Median和StdDev不理解,查阅了书籍才知道。
Median:返回给定数值集合的中位数(它是在一组数据中居于中间的数。换句话说,在这组数据中,有一半的数据比它大,有一半的数据比它小)
StdDev::估算样本的标准偏差。它反映了数据相对于平均值(mean)的离散程度。计算方式参见《概率论》。
2、在Web Page Breakdown可查看每个页面的响应时间以便进行问题定位。