1、简介
- LoadRunner是HP旗下一款专注于软件性能测试的商业软件,是软件测试行业中,性能测试的标杆软件。
- LoadRunner是一种预测系统行为和性能的负载测试工具,通过模拟上千万真实的用户行为,实施负载、并发和性能实时监控的方式来确认和查找问题,以及完成后的测试报告分析系统可能存在的瓶颈。
- LoadRunner可适用于各种体系架构(B/S、C/S)的自动负载测试,能预测系统行为并评估系统性能。
- LoadRunner生成的脚本,可以是C、JAVA 、C#、VB语言。
2、背景
- 预知用户负载和愈来愈复杂的应用环境发生用户响应速度过慢, 系统崩溃等问题,从而评估系统的能力,测试中得到的负荷和响应时间数据用于验证所计划的模型的能力。
- 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试,识别出体系中的弱点。
- 通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况,验证稳定性,可靠性。
注:(常用性能测试指标:响应时间、吞吐量、资源使用率、每秒点击数、并发用户数)
性能测试的目的:
- 评估当前系统。系统未做过任何性能测试,对系统的当前性能情况不了解,就好像没有体检过就不知道自己的身体状况一样。
- 寻找瓶颈,优化性能。常见的现象为,某业务操作响应时间很长、某系统上线一段时间后运行越来越慢,这些都需要逐步分析定位并调优。
- 预测未来性能。当用户数和业务量增加时能否及时应对?如何调整?是增加应用服务器,还是数据库服务器?还是要优化代码逻辑?
3、组成部分
LoadRunner由三大基本组件构成,分别是VuGen、Controller、Analysis。
4. VuGen:是录制业务流程与编写脚本的地方,就是通过录制或编写脚本来模拟用户的行为,可以理解为用户行为模拟器,同时会打印出日志信息,方便调试脚本。VuGen也是一个集成开发调试环境,在这里完成脚本开发并调试通过后就可以放到Controller中来创建场景了。
5. Controller:是性能测试场景设计以及监控的地方,负责测试管理和监控,让脚本按照预定的规则运行并产生压力,同时监控重要指标等都在此处完成。场景设计的目的是设计出一个最接近用户实际使用的场景,场景设计越接近用户使用的实际情况,测试出来的数据就越接近真实值。
6. Aanlysis:分析器,主要用于对测试结果进行分析,收集测试数据后生成图表报告的地方,能帮我们查看、分析和比较负载测试的结果报告,方便进行后续的分析。
4、工作原理
LoadRunner的工作原理是通过用户执行被测程序的客户端,在VuGen中录制被测系统的客户端和服务器的协议交互,生成脚本,然后在Controller中控制Load Generator,按照一定的配置(又称为场景),模拟一定数量的用户,对服务器产生压力,同时对被测系统涉及的操作系统,数据库,中间件等资源进行监控,收集压力情况下的资源信息,测试结束后形成测试结果和监控数据,在结果分析器中进行分析,最后生成测试结果报告。
5、测试流程
LoadRunner提供了一个示例程序WebTours(航班订票管理系统)供我们练习。
流程:
加载WebTours系统
- 启动服务器
- 加载航班管理系统
- 成功加载航班管理系统
VuGen创建脚本
- 创建脚本
- 脚本文件结构
VuGen录制脚本
-
录制脚本设置
-
依据客户行为自动生成脚本
-
回放结果
Controller设置场景
- 设置用户群组、脚本
- 设置虚拟用户数量和运行时间
Controller运行场景