LoadRunner性能测试报告.docx
《LoadRunner性能测试报告.docx》由会员分享,可在线阅读,更多相关《LoadRunner性能测试报告.docx(14页珍藏版)》请在冰豆网上搜索。
性能测试报告
一、被测项目简介
本次测试的对象是LR自带的飞机订票系统,该系统的类型是浏览器/服务器类型。
该系统包含的功能主要有用户登陆,选择出发地和目的地、选择出发时间和座位类型、选择航班功能、支付退出登录等。
二、测试规划
Ø测试计划
测试活动
计划开始时间
预期结束时间
备注
测试用例设计
2015-1-7
2015-1-7
创建脚本
2015-1-7
2015-1-7
脚本参数化和事务定义
2015-1-7
2015-1-7
场景设置
2015-1-7
2015-1-7
开始测试
2015-1-7
2015-1-7
测试结果及分析
2015-1-7
2015-1-9
Ø测试重点
本次的测试重点主要有:
l用户登录功能
l选择出发地和目的地功能
Ø测试环境
l软件配置:
Windows7旗舰版32位操作系统;
HPLoadRunner11.00
GoogleChrome浏览器
IE浏览器
l硬件条件:
处理器:
Intel(R)Core(TM)i5-2450MCPU@2.50GHz
内存:
2GB
三、测试用例设计
本次实验主要的测试方面是用户登录和航班选择,提前注册好十个账号,和十种不同的但正确的航班选择;并用于接下来的参数化。
十组账号信息如下:
航班信息如下:
四、测试脚本
1.录制的脚本+说明
录制的脚本如下:
vuser_init()
{
return0;
}
Action()
{
web_url("WebTours",
"URL=http:
//127.0.0.1:
1080/WebTours/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
LAST);
lr_think_time(19);
lr_start_transaction("login");//定义事务登录
web_submit_form("login.pl",
"Snapshot=t2.inf",
ITEMDATA,
"Name=username","Value={username}",ENDITEM,
"Name=password","Value={password}",ENDITEM,
"Name=login.x","Value=82",ENDITEM,
"Name=login.y","Value=9",ENDITEM,
LAST);
lr_end_transaction("login",LR_AUTO);//事务结束
web_image("SearchFlightsButton",
"Alt=SearchFlightsButton",
"Snapshot=t3.inf",
LAST);
lr_think_time(9);
lr_start_transaction("book");//定义事务订票
web_submit_form("reservations.pl",
"Snapshot=t4.inf",
ITEMDATA,
"Name=depart","Value={from}",ENDITEM,
"Name=departDate","Value=01/10/2015",ENDITEM,
"Name=arrive","Value={to}",ENDITEM,
"Name=returnDate","Value=01/11/2015",ENDITEM,
"Name=numPassengers","Value=1",ENDITEM,
"Name=roundtrip","Value=",ENDITEM,
"Name=seatPref","Value=Window",ENDITEM,
"Name=seatType","Value=First",ENDITEM,
"Name=findFlights.x","Value=78",ENDITEM,
"Name=findFlights.y","Value=4",ENDITEM,
LAST);
lr_think_time(9);
web_submit_form("reservations.pl_2",
"Snapshot=t5.inf",
ITEMDATA,
"Name=outboundFlight","Value={b}",ENDITEM,
"Name=reserveFlights.x","Value=74",ENDITEM,
"Name=reserveFlights.y","Value=9",ENDITEM,
LAST);
lr_end_transaction("book",LR_AUTO);//订票事务结束
lr_think_time(6);
web_submit_form("reservations.pl_3",
"Snapshot=t6.inf",
ITEMDATA,
"Name=firstName","Value=s",ENDITEM,
"Name=lastName","Value=s",ENDITEM,
"Name=address1","Value=s",ENDITEM,
"Name=address2","Value=s",ENDITEM,
"Name=pass1","Value=ss",ENDITEM,
"Name=creditCard","Value=2",ENDITEM,
"Name=expDate","Value=2",ENDITEM,
"Name=saveCC","Value=",ENDITEM,
"Name=buyFlights.x","Value=66",ENDITEM,
"Name=buyFlights.y","Value=9",ENDITEM,
LAST);
web_image("SignOffButton",
"Alt=SignOffButton",
"Snapshot=t7.inf",
LAST);
return0;
}
vuser_end()
{
return0;
}
#ifndef_GLOBALS_H
#define_GLOBALS_H
//--------------------------------------------------------------------
//IncludeFiles
#include"lrun.h"
#include"web_api.h"
#include"lrw_custom_body.h"
//--------------------------------------------------------------------
//GlobalVariables
#endif//_GLOBALS_H
2.参数化
因为本次实验的测试重点是登录和航班选择,因此在这两个部分分别进行参数化并定义事务。
登录时设置参数如下:
提前注册好十个账号密码,将这十个账户作为参数化的数据。
选择航班时的参数化如下:
、
共有三个参数,分别是选择的出发地、目的地和航班信息(即航班号、所需费用和时间)。
3.事务定义
共定义两个事务:
login和book
五、场景配置
共设置12个Vuser,并行策略是一开始每10秒增加两个Vuser,直到运行的Vuser的数量达到12个,然后再持续1分半钟,退出时,每15秒退出5个Vuser。
因此整个过程所需时间约为三分钟二十秒左右。
六、测试结果(客观)
测试结果:
运行的并发数:
事务响应时间图:
每秒点击数:
七、测试结果分析和结论
LoadRunner进行场景测试结果收集后,首先显示的是该结果的一个摘要信息。
主要包括:
Ø场景执行情况(AnalysisSummary)
Ø统计信息摘要(StatisticsSummary)
Ø事务摘要(TransactionSummary)
ØHTTP响应摘要(HTTPResponsesSummary)
1、场景执行情况
本部分给出了本次测试场景的名称、结果存放路径及持续时间。
由图可知,本次测试从19:
25到19:
28结束,历时3分21秒,与之前的场景配置中的时间吻合。
2、统计信息摘要
该部分给出了场景执行结束后并发数、总吞吐量、平均每秒吞吐量、总请求数等信息。
由上图我们可以看出,本次测试最大并发数是12,总吞吐量为1,427,672字节,平均每秒吞吐量为7,068字节,总请求数为1064,平均每秒请求数为5.267。
对于吞吐量,单位时间内的吞吐量越大,说明服务器处理能力越好,而请求数与吞吐量一班成正比关系。
本次实验仅仅设置了12个虚拟用户,为了处理方便,节省时间。
3、事务摘要
本部分给出了场景执行结束以后相关Action的平均响应时间、通过率等情况。
由上图可知,每个Action的平均响应时间和通过率。
Book订票操作有两个被阻止,37个通过,而登录操作全部通过。
4、HTTP响应摘要
本部分显示在场景执行过程中,每次HTTP请求发出去的状态,是成功还是失败。
5、并发数分析
该部分显示了在场景执行过程中并发数的执行情况,包括Vuser的状态、完成脚本的Vuser的数量以及集合统计信息,将这些图和事务图结合使用可以确定Vuser的数量对事务响应时间的影响。
6、响应时间
这张图是平均事物响应时间图,是平均事物响应时间与结果摘要中的事务摘要合成的
7、每秒点击数
反映了客户端每秒钟向服务器端提交的请求数量,若客户端请求越多,与之对应的平均吞吐量也应该越大,并且发出的请求越多对平均事务响应时间的影响越大。
8、业务成功率
业务成功率就是事务通过的比率,在图中我们已经很明确的看到每个事务的执行状态。
其中事务Login、Vuser-end-Transaction、Vuser-init-Transaction均全部通过,但事务Action-Transaction和Book分别有8个、2个事务未通过。
八、心得体会
初次接触LoadRunner,并且对它自带的服务器和软件系统进行了测试。
走了一遍测试的流程,但是其中很多问题还不深入,比如在测试数据的设计、运行测试过程中观察数据的选取、比较测试的结果这些问题上,没有什么项目经验,认识只停留在表面。
作为一个负载测试工具,LoadRunner使用并不是很难,难的是在实践过程中的经验总结。
比如哪些行为定义成一个事务来监测;虚拟用户多少个,怎么加载才能测出系统的瓶颈,怎么分析生成的负载测试数据等