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

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

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

7A+u3l%EV&phL0

LR版本:8.5/9.0

Qe5H+?|#zD6_ p&b8|%^0

系统版本:winXP/win2k351Testing软件测试网 m2}Aq:w3j4h2n

=======================51Testing软件测试网}9M+B9D:im&^8z

概要:51Testing软件测试网 qB-P}R9[6B6q8w|

a.    LR测试流程

?db^HXD LA0

b.   日志分析

Z3F&f+gf8p8H$Z!Fw[0

=======================

[Fl2\ l8D0

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

整体流程:51Testing软件测试网%q pB$r G0F ^

录制脚本并参数化- >配置运行时设置->配置场景->定制施压策略->运行场景51Testing软件测试网ep3_d)^0L/e}.{

1.1录制脚本并参数化-51Testing软件测试网4~$n0FNx/d oG

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

录制成功的脚本(参数化后)51Testing软件测试网Xv.m JIsv1s@

51Testing软件测试网h1tO2S:@'U/BV s!oY

nM1kj/~R0

51Testing软件测试网`8m(l3L d%M:?u

如图所示,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等待分析报告。

2U:M{ghy/o`?1V0

报告分析

 51Testing软件测试网m0{6AtH I0w&a@{

  Mercury Loadrunner Analysis中最常用的5种资源指标.51Testing软件测试网%?i7c^$y7O.\T

1)   Vuser51Testing软件测试网er+~A0E&~5p8QU

2)   Transactions51Testing软件测试网.b!S?]d]u.CK N Y

3)   Web Resources

&s0X8k I^0

4)   System Resources51Testing软件测试网m9s&X6g E*d

5)   Web Page Diagnostics51Testing软件测试网5wl{*b2T

其中1-4的分析资料上的网上都很多,这里就不多说了。51Testing软件测试网SL)O R;Y Dh3h*`

 51Testing软件测试网0^!hk&s2D!F4jh9E

首先生成的报告Summary如下51Testing软件测试网6Gl$qq4P M_ L(y

x(e2on&i`0

51Testing软件测试网3pG6uFRI-JG

初看该Summary感觉没有什么大问题,Pass100%,没有Fail现象,唯一不足的就是事务的响应时间有些长,如logon事务最大响应时间高达115秒。

S)^xgW-_8TV0

 

4NR2vm'Os0

下面开始查看Web Page Diagnostics中的Time to First Buffer Breakdown51Testing软件测试网!l-cZTq%TU&FX

(:First Buffer Time时间分割为Network TimeServer Time,客户端http请求发送到接收到服务器端的应答包(ACK)为Network Time,从接收到ACK到完成First Buffer接受为Server Time)51Testing软件测试网,`~(VgucSiH x.Z

 

0aa7B(c-J d']0

4d%yXG)iW$?-~3p0

(}/@0U$B^3lz6{0

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

 51Testing软件测试网+^(?5q h6Y%Y

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

I S,cK&G*U p0

TAG: LoadRunner loadRunner settings Settings

 

评分:0

我来说两句

Open Toolbar