LoadRunner环境搭建
LoadRunner运行的环境参考以下文档:
Docs
介绍LoadRunner
LoadRunner是什么
LoadRunner是性能测试工具,对软件或者系统的性能进行评估
为什么使用LoadRunner
LoadRunner具有以下的优势:
LoadRunner相比于其他的测试工具,有非常强大的脚本录制功能
LoadRunner能够设计出非常丰富的测试场景
LoadRunner能够产出非常丰富的测试报告
LoadRunner三大组件之间的关系
VUG:用来录制和编写脚本
Controller:用来设计脚本的运行场景
Analysis:产生性能测试报告
LoadRunner脚本录制
我们使用LoadRunner中自带的WebTours参与脚本录制:
双击
按照以上操作打开WebTours
打开VUG,使用VUG创建新的文件
在开始录制之后我们在WebTours网页上进行登录操作,登录之后结束录制即可
结束之后运行脚本查看结果:(未报错)
Action中的代码如下:
Action()
{//开启事务1lr_start_transaction("Login");web_url("WebTours", "URL=http://192.168.52.1:1080/WebTours/", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t3.inf", "Mode=HTML", LAST);web_submit_form("login.pl", "Snapshot=t4.inf", ITEMDATA, "Name=username", "Value=chentong", ENDITEM, "Name=password", "Value=123456", ENDITEM, LAST);//结束事务1lr_end_transaction("Login", LR_AUTO);return 0;
}
LoadRunner脚本加强
LoadRunner的脚本加强主要从以下四个方面进行考虑
事务:衡量性能的重要指标,通过观察每秒事务通过数来衡量系统性能
集合点:让所有的虚拟用户执行到集合点时暂停向下执行,等待全部虚拟用户执行到集合点之后一起执行下一个步骤(保证每一个虚拟用户同时执行下一步)
检查点:可以用来检测当前页面的元素是否存在以及存在个数(注册类型的检查点一般放在加载内容之前,注册类型的函数放在检查点之后可能会报错)
参数化:通过提供的数据源可以实现多组参数逐个执行
具体实现如下:
插入事务
事务:这里的事务指的是系统业务的操作集合
对应的函数:
事务的插入方式:
找出函数并进行插入
在合适的位置鼠标右键进行快捷方式的插入
在脚本录制过程中进行事务的插入
事务的插入需要注意几个点:
事务有开始必须有结束,必须成对出现
事务处理过程不能插入思考时间,如果加入了思考时间,事务的响应时间就不准确了
事务的开始名称和结束名称必须相同
插入集合点
集合点的目的:在LoadRunner中为了实现并发,通常采用集合点达到这个目的
如何插入集合点?
直接在你想插入集合点的位置利用函数插入即可
插入检查点
直接利用函数在合适的位置插入即可
参数化
另外还需要打开拓展日志才能看到用户登录的状态
Controller和Analysis
Controller
打开方式
一般情况下我们直接在VUG中打开Controller即可
设置测试场景
运行测试场景
直接运行脚本即可
观察对应的运行结果
我们观察到系统资源中没有任何数据,我们需要在计算机服务中进行部分设计
将这两项运行
鼠标右键调整设置
对应的数据如下:
Analysis
虚拟用户
通过观察虚拟用户,判断哪个时间段服务器负载最大
每秒点击数
通过每秒点击数,判断服务器负载
吞吐量
事务总结
平均事务响应时间
问题一:为什么吞吐量图和点击数图相似,但是吞吐量图要滞后一点?
因为吞吐量表示的是响应返回的资源数量,肯定是现有请求再有返回。
问题二:如果请求变多但是吞吐量没变化,原因是什么?服务器响应太慢,来不及反应;
压力没有到服务器;
服务器设计一定的阈值(到达阈值以后,虽然也收到了请求,但是服务器不会做任何处理),保证了服务器不会因为并发量过大而出现宕机的情况;