Carol2000的LR学习笔记(5)测试项目的脚本录制与日志分析

上一篇 / 下一篇  2009-03-10 14:07:26 / 个人分类:LoadRunner

以此篇作为学习+实践LR系列的小结

B I6u'A1H'TI0

LR版本:8.5/9.0

YV+c [ }(Q Ne0

系统版本:winXP/win2k3

$t4_]"Ka+KZ It:F4]Q0

=======================51Testing软件测试网%f D&p*Z-^%Ci]

概要:

U\)O B\.w0

a.    LR测试流程

6|x!DExm8g0

b.   日志分析

Y(QtRV!b0

=======================51Testing软件测试网 gK/hGEkOG

一 从脚本到场景的测试流程

整体流程:

D&d)p-A7H-nxX!R0

录制脚本并参数化- >配置运行时设置->配置场景->定制施压策略->运行场景51Testing软件测试网d#}Hx0b W#xZC

1.1录制脚本并参数化-

/eR}$b,J.b%s b g0

录制脚本时需要选择合适的协议,以确保LR能录制到需要的信息并能回放。该测试项目采用的是web-service协议,但是由于考虑到安全因素,因此对SOAP消息的传输进行了加密,所以如果直接使用web-service协议模式进行录制,录制时得不到任何有用的信息,因此也无法进行脚本回放和测试。后来采用了无加密版的客户端,才成功实现了录制(但是根据帮助文档和网上资料,LR选择web-service协议,即使对SOAP消息的传输进行了加密,但是如果导入测试项目使用的WSDL文件,应该能够正确识别的,当时我们由于时间关系,发现导入WSDL后仍然失败,所以就放弃了该方式)

NV,ubY-S wAM"q0

录制成功的脚本(参数化后)51Testing软件测试网%T$S:f$X(^#V5@'e)w+Q O

QG6Rf ` N3n0

51Testing软件测试网-P0Qgj A~ iT&R

;g m'\N4s`n^ B0

如图所示,usernameip以及mac,登录用户不同,参数也不同,因此需要进行参数化,具体步骤参见carol2000的LR学习笔记(1)需要说明的是,数据参数化完毕后,LR会自动生成一个xxx.dat的文件,以后每次运行脚本或者的时候,LR不会再去查找当初的excel或者数据库,而是直接根据xxx.dat进行参数化。

加入find_xml对登陆成功与否进行判断,检查是否服务器端的返回值信息与登录时的发送信息一致,如果是web页面,也可以采用web_reg_find等函数进行查找

这里集合点(Rendezvous Point)没有额外设置,只是在登录的过程中添加了登录事务,方便后面进行报告分析,另外就是在Run timeSetting中配置了Think time,以延缓对服务器的压力。如果有额外的压力需要,可以添加集合点,并将Think time置零

配置场景,定制施压策略

这里设置的场景为:90Vuser,逐步增压,定时运行的方式

然后根据测试系统环境修改Controller->Tools->Option的延时设置

最后将该脚本分发给多个负责发生器来运行,避免资源浪费

配置完毕后,Run Scenario等待分析报告。

;`G'dD$r:Y+c0

报告分析

 51Testing软件测试网bae F s%J4M

  Mercury Loadrunner Analysis中最常用的5种资源指标.

4X+F5O xyM!a y E0

1)   Vuser

~7O U;A0h:|Z0

2)   Transactions51Testing软件测试网,l&Q#nwR

3)   Web Resources

9b.tdl*M9jJ5~{F*Z0P0

4)   System Resources51Testing软件测试网lk;Tq/?"l V

5)   Web Page Diagnostics

pD$jWh%Dw9z0

其中1-4的分析资料上的网上都很多,这里就不多说了。51Testing软件测试网db;N'`X:s

 51Testing软件测试网%zmd2]X2n:R3{.?w `

首先生成的报告Summary如下

"pbeuR*s4g0j;S:H0

%t:LP(~.[XEZ0

A4G5rfdbT0

初看该Summary感觉没有什么大问题,Pass100%,没有Fail现象,唯一不足的就是事务的响应时间有些长,如logon事务最大响应时间高达115秒。51Testing软件测试网&{#I^,CU6sC1s

 51Testing软件测试网7pVp#gJ2?5fj

下面开始查看Web Page Diagnostics中的Time to First Buffer Breakdown51Testing软件测试网A?.Rxn uA

(:First Buffer Time时间分割为Network TimeServer Time,客户端http请求发送到接收到服务器端的应答包(ACK)为Network Time,从接收到ACK到完成First Buffer接受为Server Time)

&vh7kd,d:{;cvc C(?0

 

*q)@q w:aRL0

j7{0nta1s)y,y3]0

51Testing软件测试网TWv+}g w

由图可见login场景中,Network Time的方差为0.056,这表明网络环境对该项目的压力测试几乎没有任何影响,这也是事实,因为所有测试机、服务器都在一个局域网里。但是,观察Server Time相应时间最小是0,最大为59,方差达到了11,而且Server时间比network时间要高得多,显然表明测试的压力瓶颈是服务器。由于服务器无法及时处理用户的登录请求,所以响应时间越拉越长,找到瓶颈了,分析结束。()

rw(IF&S`}`7q3x!v0

 51Testing软件测试网4zi$H J8w

补记:后来经研发部调查发现,服务器处理慢的原因是由于中间件tuxedo造成的,tuxedo的那个版本不支持客户机多线程访问,因此客户机后来改为多进程后,一切运行良好。当然,压力测试的时候Run-Time Settings也需要相应的改成按进程方式运行Vuser咯。51Testing软件测试网~ moMmp!lep,O


TAG: LoadRunner loadRunner settings Settings

 

评分:0

我来说两句

Open Toolbar