2011,更要虎虎的 QQ群 测试开发工程师(95934315) Blog:http://cuckoo2010.blog.163.com/

LoadRunner自动化测试设计与执行篇

上一篇 / 下一篇  2009-11-01 21:17:44 / 个人分类:thinking in testing

MILY: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">导读

经过上篇的准备,现在我们来具体用LR来测试一个博客后台页面的登录及发布博文的测试,我这使用的LoadRunner8.1版本的,所支持的虚拟用户数最大是24个,所以我在测试时用了20个。OK不多说,现在开始吧,来看看自己写的博客性能到底如何。

一些说明

         系统信息:个人博客系统1.0版,所用到的技术jsp+javabean+servlet数据库  MySQL 5.1服务器tomcat 6.0.20开发工具是MyEclipse 8.0M1

         测试工具LoadRunner 8.1

         操作系统:XP professional sp3

录制脚本

         打开LR后,进入负载测试界面选择“创建/编辑”,在这个界面中选择“新建Vuser脚本”后会弹出让你选择协议的确认框,如图所示

        

         因为我们所测试的是web项目,所以在这里我们要选择“WebHTTP/HTML)”协议,确定后进行入Virtual User Generator功能模块。此时会弹出“Start Recording”录制设置窗口,

         这里除了要选择Applcation type(我们要选择 Internet Applcation),正确填写被测网站地址,选择相应 Record into Action 外,还需特别注意 “选项”Options这个按钮。这是录制选项

         设置的地方。这里本人建议最好点开,在弹出的录制设置窗口中在Internet Protocol中的Advanced上选择支持UTF-8选项,这样做的好处是可以避免出现录制脚本中出现中文乱码。

         如下图所示

        

         录制设置做好后,就可以开始录制了。

         在录制登录脚本和发布博文操作时,需要特别注意的一个地方的,在进入博客后台管理页面后,在正式登录前可以增加一个事务,事务名要取个有意义的名称,增加脚本的可读性。

         这里加一个事务是有特别的用处的,可以在此操作添加集合点,在后面的场景中设置循环,实现用户并发操作。设置开始事务登录成功后,一定要设置结束事务操作,这点请大家一

         定记住,下图是我的事务设置(login

 

登录成功后,再新建一个发布博文的事务(putout_blog),在退出博客管理后台时也与前两种方法一样,新建一个退出的事务(out_blog)。退出到博客首页后关闭浏览器,停止脚          本的录制,返回到Virtual User Generator脚本编辑界面。

脚本编辑

         OK,录制完成啦,现在可以对脚本进行编辑了,对于这个,我不得不说LR的强大,这也是我爱上LR的原因之一,就像当年爱上MyEclipse一样。脚本和程序一样,要有良好的风格,

         必要的注释。对每个事务进行注释,以便以后修改。这方面不做过多的文字描述。

         首先,你可以点击“编译”按钮编译下,检查录制的脚本有没有错误。接下来,我们来看看脚本,在事务中我们可以看到一个这样的函数lr_think_time(1234),这就是在上篇中提到的

         思考时间,对这个函数,在事务中尽量注掉或者把时间改小,以免影响后面的响应时间,我们也可以在打开平均事务响应时间表等相关表设置中去掉思考时间。但在实际工作中的性能测试,思考时间是一个值得测试人员思考的问题。

         其次,使用参数化对登录usernamepassword设置不同的值,实现以不同的用户身份进行登录。在LR中,参数设置方式有多种,都可达到一样的效果,我这里就拿一种来说下。

         点击工具栏上的“打开参数列表”点击“新建”按钮,设置相应名称,我的是loginusernameloginpassword,选择适当的参数类型,选择文件路径时把dat类型改为txt,不改也行这个是个人的爱好,点击“添加行”或“添加列”,输入相应的值,在更新值的时间处选择适当的方式。设置好后,可以通过右击鼠标,选择“参数属性”,验证是否已经设置成功。我的设置如下图所示:

     

         请注意上图中的红色字体部分,很重要。设置好参数后,在要定义的value后面选择对应的参数,单击鼠标右键,在“使用现有参数”中选择刚刚设好的参数就OK了。以上的我是对登录事务的参数设置,也可以在发布博文中用同样的设置,这里不再重复。

    还可以在登录事务中设置集合点,设置方法不难,只需在事务前加上lr_rendezvous("login_gather");函数就行了,login_gather是集合点名称,在以后的场景设置中可以再详细设置。还有可以在录制时先做好相应关联等等。

对脚本编辑好后,点击工具栏上的“编译”按钮,对脚本进行编译,以验证刚刚对脚本的修改有无错误,确保下一步运行的成功。此次测试脚本及分析报告我将会上传到博客中,感兴趣的朋友可以下载来看看,谢谢。

运行脚本

编译后如果没错,我们就可以运行脚本了,但在运行前可以对运行进行相应设置,可以增加迭代次数,忽略思考时间,如果你是机器配置不够好,可以突然忽略掉日志记录,对网络

         进行设置等等。点击菜单中的“Vuser”或直接按F4,就可以弹出运行时设置框了,我的设置如下图所示:

设置好后,点击“运行”按钮就OK了。运行成功后,可以视图中查看运行结果,如下图所示:请注意,在运行前请确保所用到的服务器都是启动的

        

创建场景及运行

         LR脚本生成和场景配置在不同的模块进行,脚本在VuGen中录制,增强和调试;场景则是在Controller中进行配置,通过Controller来控制执行的规则和虚拟用户数目。进入场景模块

         可以通过LoadRunner Launcher,点击“Run Load Tests”启动,也可是在Virtual User Generator模块中的菜单栏中的“工具”选择“创建控制器场景”,此时将会弹出一个设置窗口,

         设置好Vuser数和场景类型确定后进入Controller模块。如下图所示:

        

         进入到场景计划界面后,可以通过配置多台计算机作为压力产生器向被系统加载压力等等,还可以编辑计划,在编辑计划中可以新建计划,选择不同的计划定义,设置初始加压Vuser

         数量及用时,持续时间和减压方式。我的设置如下图所示:

         在前面脚本的编辑中我们加入了集合点,集合点让多个Vuser在同一个时刻执行任务,从而在服务器上创建密集的用户负载,脚本中的集合点只是一个标记而已,至于并发情况的属

         性配置则在Controller中进行。操作为在菜单中“场景”中选择“集合点”命令,打开集合信息对话框,进行设置,我的设置如下图所示:

         接着可以在Controller菜单的“工具”中选择“选项”命令,对所有脚本设置一些全局的配置,比如超时设置,运行时刻设置和运行文件设置等,大家可以试下。

服务器监控

  在运行负载测试时,还应该参所用到的服务器进行实时监控,我这个项目用到的服务器是tomcatmysqlLRtomcat的性能监控是可以通过写脚本实现的,我这里用Lambda Probe来实现的,Lambda Probe以前是tomcat的探针,官方原话是Tomcat Probe the ultimate tool for monitoring and management of Apache Tomcat instance in real time,官网地址是:http://www.lambdaprobe.org/d/index.htmMysql可以用tomcat中的status模块收集相关数据来判断其性能问题。

设置搞定后,我们就可以开始运行场景了,你可在“RUN”视图中看到相关图的动态变化,场景运行完成后,相应的视图数据也就出来了,如下图所示:

此时可以通过结果分析器(Analysis)模块进行性能分析,找出并定位性能问题所在,这部分内容放到下一篇博文中再讲。谢谢大家的支持,不足之处,真诚希望能得到大家的谅解和帮助,谢谢大家啦。

 在下一篇中,将会讲到怎样在初步得到的笼统数据中逐步筛选出重要且有价值的数据,从而达到确定软件系统到底有没有符合需求规格说明书所定义的性能要求。谢谢大家的关注与支持!

 


TAG: loadrunner LoadRunner Loadrunner loadRunner 设计 自动化

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2011-06-14  
   1234
567891011
12131415161718
19202122232425
2627282930  

数据统计

  • 访问量: 15187
  • 日志数: 24
  • 文件数: 7
  • 建立时间: 2009-02-09
  • 更新时间: 2011-02-18

RSS订阅

Open Toolbar