目录
LoadRunner
工具介绍
UI性能测试步骤
编写性能测试脚本(VUG)
创建测试场景(Controller)
生成测试报告(Analysis)
LoadRunner
工具介绍
我们使用以上三个工具针对我们的项目进行性能测试。
a)Virtual User Generator(简称VUG):用来生成性能测试脚本。
b)Controller:创建测试场景,运行和监控场景。
c)Analysis:生成测试报告,分析性能测试结果。
UI性能测试步骤
a)访问登录页面;
b)执行登录;
c)进入首页。
编写性能测试脚本(VUG)
1、创建项目
由于我们测试的博客系统是一个Web项目,因此需要创建一个Web性能测试脚本,如下:
2、目录层次介绍
我们主要在Action里编写代码~
3、代码编写
主要的操作步骤为:1.打开网页,2.输入账号密码并登录;
在此期间,为了更好的让我们进行性能测试的数据收集,我们可以使用
- 事务:衡量性能的重要指标,通过观察每秒事务通过数来衡量性能;
- 集合点:让所有的虚拟用户执行到集合点时断在集合,满足条件后一起执行下一个步骤(保证每一个虚拟用户同时执行下一步);
- 检查点:可以用来检测当前页面的元素是否存在以及存在个数(检查点一般放在请求之前);
- 参数化:通过提供的数据源可以实现多个参数逐个执行;
如下代码:
Action()
{
//开始事务1
lr_start_transaction("index_trans");
//1.访问博客系统网页
web_url("web_url",
"URL=http://43.139.193.116:8080/blog_system/login.html",
"TargetFrame=",
"Resource=0",
"Referer=",
LAST);
//登录的集合点
lr_rendezvous("login_rendezvous");
//开始事务2
lr_start_transaction("login_trans");
//2.输入登录账号和密码
web_submit_form("web_submit_form",
ITEMDATA,
"Name=username", "Value={username}", ENDITEM,
"Name=password", "Value=123", ENDITEM,
LAST);
//结束事务2
lr_end_transaction("login_trans", LR_AUTO);
//结束事务1
lr_end_transaction("index_trans", LR_AUTO);
return 0;
}
执行结果和分析:
创建测试场景(Controller)
a)针对我们已经编写好的脚本打开controller工具,创建测试脚本,如下:
b)设置执行策略如下:
这个过程就像是舞台表演一样,如下:
c)场景运行结果
生成测试报告(Analysis)
在 controller 创建的场景中直接生成测试报告,如下:
测试报告如下:
测试报告图标如下:
1.虚拟用户运行图:
作用:通过显示的虚拟用户数量可以判断出哪个时间段服务器负载最大(上图00:40 ~ 01:40负载最大)。
2.点击数图(每秒点击率)
作用:通过点击率可以判断出某时间段内服务器的负载。
3.吞吐量图
问题一:为什么吞吐量图和点击数图相似,但是吞吐量图要滞后一点?
- 因为吞吐量表示的是响应返回的资源数量,肯定是现有请求再有返回。
问题二:如果请求变多但是吞吐量没变化,原因是什么?
- 服务器响应太慢,来不及反应;
- 压力没有到服务器;
- 服务器设计一定的阈值(到达阈值以后,虽然也收到了请求,但是服务器不会做任何处理),保证了服务器不会因为并发量过大而出现宕机的情况;
4.事务图
5.平均事务响应时间图
作用:可以观察到,虚拟用户在性能测试中,每秒在服务器上命中的次数,可以根据命中的次数评估虚拟用户生成的负载量。