目录
一、LoadRunner的安装
二、Loadrunner的基本概念
三、开发测试脚本——VUG
3.1 脚本录制
3.2 脚本加强
四、设计场景——Controller
LoadRunner是一款开源桌面应用软件,可用来模拟用户负载完成性能测试工作,LoadRunner的功能在版本不断升级的过程中已经十分强大,现在很多互联网公司都在使用LoadRunner来完成产品或者 Loadrunner是业界公认的权威性能测试工具,被誉为工业级的性能测试工具,支持广泛的协议和平台。
本节主要介绍以下内容:
- LoadRunner安装
- LoadRunner的基本概念
- 开发测试脚本
一、LoadRunner的安装
现在以Loadrunner12为例,说明一下安装过程。
1、双击HP LoadRunner 12.53 Community Edition.exe启动安装程序
2、安装程序开始解压,选择默认路径即可,点击install
3、Loadrunner程序会使用到Visual C++的库,如果缺少这些库,安装程序会提示安装,这时选择“确定”进行安装即可,过程中如果提示重启,按要求重启即可,重启后会继续进行安装过程。
4、安装过程中会有如下的提示。若无指定代理使用的证书,则去掉勾选。
整个安装过程比较慢,耐心等待~~~
安装完成后,界面出现三个图标,如图:
二、Loadrunner的基本概念
功能:LoadRunner是一种适用于许多软件体系架构的自动负载测试工具,从用户关注的响应时间、吞吐量, 并发用户和性能计数器等方面来衡量系统的性能表现,辅助用户进行系统性能的优化。
原理:LR启动以后,在任务栏会有一个Agent进程,通过Agent进程,监视各种协议的Client与Server端的通讯,用LR的一套C语言函数来录制脚本,所以只要LR支持的协议,就不会存在录制不到的,然后LR调用这些脚本向服务器端发出请求,接受服务器的响应。至于服务器内部如何处理,它不关心。 LoadRunner通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,优化性能和加速 应用系统的发布周期。
组成:LoadRunner主要包括三个前台功能组件,分别为VuGen(虚拟用户脚本生成器)、Controller(测试控制器)和Analysis(结果分析器)。系统会自动调用后台功能组件LG(负载生成器)和Proxy(用户代 理)来完成性能测试工作。
- VuGen 是录制与便携脚本的地方。通过录制或编写脚本来模拟用户的行为。
- Controller是执行负载测试管理和监控的中心。在这里指定具体的性能测试方案,执行性能测试,收集测试数据,监控测试指标。监控工具将测试过程中收集到的客户机、服务器和网络性能指标数据显示在监控页面上,便于测试人员对系统表现进行随时掌握。
- LG是模拟多用户并发访问被测试系统的组件。模拟多用户访问系统的前提是已经具备了虚拟用户脚本,VuGen 是录制和编辑虚拟用户脚本的工具,录制好的脚本是不同语言表达的文本文件,在LG执行时被解析和执行。脚本录制和回放过程是在Proxy支持下完成的。 Analysis在测试完成后,对测试过程中收集到的各种性能数据进行计算、汇总和处理,生成各种图表和报告,为系统性能测试结果分析提供支持。
在使用loadrunner之前,先了解一下几个概念:
- Scenario:场景。所谓场景,是指在每一个测试过程中发生的事件。
- Vusers:虚拟用户。LoadRunner使用多线程或多进程来模拟用户对应用程序操作时产生的压力。 一个场景可能包括多个虚拟用户,甚至成千上万个虚拟用户。
- Vuser Script:脚本。用脚本来描述Vuser在场景中执行的动作。
- Transactions:事务。事务代表了用户的某个业务过程,需要衡量这些业务过程的性能。
- rendezvous :集合。当我们测试多个用户并发时,每个用户执行到该事务脚本的先后顺序是不确 定的,所以得到的测试结果也并不是一个完全 并发的极限测试结果。在开始事务之前 ,插入一 个“集合点”,那么在多用户执行时,就可以将用户请求停下来,直到用户数量达到满足的条件(默认是100%的用户都到达集合点)。那么,所有的用户都将同时发出接下来的请求。
三、开发测试脚本——VUG
3.1 脚本录制
下面以Loadrunner安装时附带的样例程序Web Tours进行讲解。 选择StartServer.bat启动服务。
1、启动 Visual User Generator 后,选择新建脚本,因为要测试的是web项目,所以选择协议为Web-HTTP/HTML,点击创建后,进入主窗体
2、在解决方案资源管理器中可以看到该脚本的组成部分。简单说明一下:VuGen 中的脚本分为三部 分:vuser_init、vuser_end 和Action。vuser_init用于用户初始化,vuser_end用于用户清理工作。 Action用于具体的需要测试的操作。类似于unittest等测试框架。
举例说明:
一个测试场景为:用户登录系统,进行搜索操作,再进行退出系统。 这里,一般将登陆放置到vuser_init,退出放置到vuser_end,搜索放置到Action。
注意:在重复执行测试脚本时,vuser_init 和vuser_end 中的内容只会执行一次,重复执行的只是 Action 中的部分。
3、选择录制操作,可以开始一次录制操作,在录制中需要填写URL,这里以127.0.0.1:1080/We bTours/为例。录制到操作说明是将脚本放置到哪里。在录制中也可以修改脚本放置的地方。 已注册的用户名和密码查看地址:LoadRunner\WebTours\cgi-bin\users 开始录制中
“立即”默认情况下是选中的,说明应用程序一旦启动,VuGen 就会开始录制脚本;如果没有选中,应用程序启动后, VuGen 出现对话框,待确认后才开始录制。一般默认即可。
如果Action里没代码,勾选一下设置
3.2 脚本加强
问题1:为什么对脚本进行加强
监控性能测试的各项指标(并发用户数、响应时间 / 平均响应时间、事务、点击率、吞吐量、思考时间、 资源利用率)
问题2:脚本如何进行加强
1、插入事务
2、插入集合点
3、插入检查点
4、参数化
5、打印日志