性能测试过程手册范本.docx
- 文档编号:5780412
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:26
- 大小:2.83MB
性能测试过程手册范本.docx
《性能测试过程手册范本.docx》由会员分享,可在线阅读,更多相关《性能测试过程手册范本.docx(26页珍藏版)》请在冰豆网上搜索。
性能测试过程手册范本
目的
为了让测试同事初步了解LoadRunner并掌握目前性能测试项目的方法和基本步骤而编写。
1.测试准备
参考性能测试流程_初稿.doc
注意:
a.考虑测试数据如何提取或如何造数据,即后续脚本中参数化要用的数据;
b.要考虑到哪些表可以查看到各业务操作的结果数据,以确认功能操作的正确性;
c.若表间存在关联,该如何删除相关结果数据,以便测试数据可以重复使用;
建议以上几点最好在明确需求时和开发沟通好,在功能确认时进行验证。
举例:
选房系统
与开发沟通得到的信息请见
2.录制脚本(VuGen)
明确需求、功能确认无误之后,方可录制脚本。
3.1.选择协议
首先打开VuGen,依次点击:
程序—>HPLoadRunner—>Applications—>VuGen,接着新建脚本,选择协议,如下图:
录制时要选择正确的协议,否则录制后会出现脚本是空的情况。
在选房系统中选用“Web(HTTP/HTML)”协议。
如果不知道选什么协议,可以和开发沟通。
3.2.录制选项设置
选择协议,点击“Create”按钮,在弹出框中点击“Option”按钮,进入录制选项设置页面
3.2.1.录制模式
回放报错时,可查看该选项。
具体根据脚本函数调整选项。
3.2.2.编码格式
要与系统的编码格式一致,否则脚本中会出现乱码(大家可以测试下)。
设置完后,在地址栏中输入测试网址(如输入选房系统的网址),点击“ok”进行脚本录制。
录制时要注意脚本间部分的切换:
vuser_init()、Action()、vuser_end()。
通常
登录部分放在vuser_init();
具体事务操作放在Action();
退出部分放在vuser_end()。
但为了测试负载方便也可以把脚本都放在Action()中,根据实际情况而定。
3.3.录制过程中可进行的操作
a.插入事务
b.插入集合点
c.插入注释
如打开选房系统后,输入用户名(61207114)和密码,点击下图红框1左边的按钮插入事务开始标识,输入事务名称“登录”,随后点击页面中的“登录”按钮,待页面完全展现后,点击下图红框1右边的按钮插入事务结束标识。
至此完成登录的操作。
同样的方法插入“选房”事务。
模拟用户操作完毕后,点击录制工具条中的停止按钮结束录制。
随后即自动生成脚本。
代码段示例:
lr_start_transaction("登录");
web_submit_form("login.xf_2",
"Snapshot=t2.inf",
ITEMDATA,
"Name=userName","Value=61207114",ENDITEM,
"Name=password","Value=1",ENDITEM,
"Name=denglu","Value=登录",ENDITEM,
EXTRARES,
"Url=images/right-02.jpg","Referer=172.18.33.112:
9081/xsxf/index.xf",ENDITEM,
"Url=images/tiaotiao.jpg","Referer=172.18.33.112:
9081/xsxf/index.xf",ENDITEM,
"Url=images/left-02.jpg","Referer=172.18.33.112:
9081/xsxf/index.xf",ENDITEM,
"Url=images/bottom01.jpg","Referer=172.18.33.112:
9081/xsxf/index.xf",ENDITEM,
"Url=images/riqitian.jpg","Referer=172.18.33.112:
9081/xsxf/index.xf",ENDITEM,
LAST);
lr_end_transaction("登录",LR_AUTO);
4.回放脚本
脚本生成后,直接回放脚本以确认录制是否正确。
操作如下图,也可直接按“F5”。
初次回放成功后,还可以将脚本中的账号61207114替换为可以选房的账号61207117(要确认该账号还没有选房,最好确认选房结果表T_SS_SSSQ、T_SS_SQJL没有61207117的选房记录)
然后再次回放,确认选房结果表是否有61207117的记录,如果有就说明脚本是有效的。
如果没有就需要查找脚本中是否存在需要参数化或关联的地方(选房系统中不需要关联和参数化)
5.调试脚本
如果回放脚本成功,即在回放日志中没有错误提示,可先保存脚本。
下一步根据需要增强脚本:
a.把不需要的或不影响的代码去掉,如思考时间等;
b.参数化、关联、插入事务、集合点、检查点等,具体参见各说明文档;
c.考虑迭代、缓存等设置...
样例参考:
选房登录脚本
ids登录脚本(含关联)
注意:
a.参数化后,通常要设置多次迭代,以查看取值是否正常。
b.另外还要懂得启用日志,查看日志信息。
output.txt文件在脚本目录下。
6.设计场景(Controller)
准备好脚本后就可以进行场景设计和执行场景了。
6.1.打开方式
a.从VuGen中进入,操作见下图:
b.依次点击:
程序—>HPLoadRunner—>Applications—>Controller,打开图如下:
6.2.场景类型
6.2.1.手工场景
6.2.1.1.基本设置
选择手工场景
选择脚本后,点击“ok”进入下图
在设计页中设置用户数、运行时间、停止运行的方式,说明见下图:
设置完后,切换到执行页,点击“StartScenario”运行场景:
在第一节中谈到选房测试需求
那么并发数设置可以考虑从百开始,也可以从小并发开始。
同时在运行比较稳定的情况下用top命令查看存和CPU使用情况。
比如运行15Min,可以在运行到10Min查看系统资源使用情况。
下面附上选房测试记录供大家参考。
6.2.1.2.日志
a.在场景运行过程中可以实时查看每个Vuser的日志。
操作:
点击"Vusers"—>在弹出框中选中Vuser—>右键—>点击“ShowVuserLog”,见下图
b.场景中的日志存放在脚本目录下的log文件夹
6.2.1.3.图表
c.查看数据:
每个图表数据通常都较关注平均值,下图:
d.添加图:
在右边选中图区域,然后双击左边树形中的选项
添加后的效果图:
e.另外,双击每个图表都可最大、最小化。
6.2.1.4.负载机
如果一台负载机的压力不够,可以添加多台负载机。
点击“OK”,测试连接
如果提示连接失败,检查代理是否已经打开
打开代理后连接还是失败,那就需要关闭防火墙。
连接成功后,紧接着添加组,见下图:
点击“OK”,完成如下图
至此完成添加。
6.2.1.5.增加用户
在负载过程中如果发现系统压力比较小的话,可以增加用户数,见下图说明:
如在10个用户的基础上再增加10Vusers,效果如下图
新增加的用户处于“Down”状态,需要点击上图中的“Run”按钮,才能让用户运行。
6.2.2.目标场景
目标场景主要提供了5种目标类型,可根据测试需求定义每一种类型的目标值。
a.选择目标场景
b.选择脚本后,点击“ok”进入下图
c.点击上图中的“EditScenarioGoal”编辑场景目标
在上图中的“GoalType”下拉框可以看到目标场景提供的5中类型,针对每一种类型可以在“ScenarioSettings”、“LoadBehavior”tab页中进行设置。
设置和目标场景小异,不再赘述。
7.结果分析器(Analysis)
7.1.打开方式
a.当场景停止运行后,可从Controller中进入。
操作见下图:
b.若想打开一个已保存的结果,可依次点击:
程序—>HPLoadRunner—>Applications—>Analysis。
7.2.结果摘要图
当结果打开之后,默认展现的是摘要报告(见下图)。
从图中了解到运行的时间、最大用户数,还有各摘要数据。
场景执行情况
该部分给出了本次测试场景的名称、结果存放路径及场景的持续时间,如下图所示。
从该图我们知道,本次测试从12:
24开始,到12:
35结束,共历时10分50秒。
与我们场景执行计划中设计的时间基本吻合。
StatisticsSummary(统计信息摘要)
该部分给出了场景执行结束后并发数、总吞吐量、平均每秒吞吐量、总请求数、平均每秒请求数的统计值,如下图所示。
从该图我们得知,本次测试运行的最大并发数为7,总吞吐量为7,088,537,779字节,平均每秒的吞吐量为10,888,691字节,总的请求数为78,535,平均每秒的请求为120.637,对于吞吐量,单位时间吞吐量越大,说明服务器的处理能越好,而请求数仅表示客户端向服务器发出的请求数,与吞吐量一般是成正比关系。
TransactionSummary(事务摘要)
该部分给出了场景执行结束后相关Action的平均响应时间、通过率等情况,如下图所示。
从该图我们得到每个Action的平均响应时间与业务成功率。
HTTPResponsesSummary(HTTP响应摘要)
该部分显示在场景执行过程中,每次HTTP请求发出去的状态,是成功还是失败,都在这里体现,如下图所示。
从图中可以看到,在本次测试过程中LoadRunner共模拟发出了78,535次请求(与“统计信息摘要”中的“TotalHits”一致),其中“HTTP200”的是42910次,而“HTTP302”和“HTTP304”分别有2946、32679次,说明在本次过程中,经过发出的请求大部分都能正确响应了,但还是有部分失败了,但未影响测试结果。
“HTTP200”表示请求被正确响应,而“HTTP302”和“HTTP304”表示URL重定向。
出现这样问题的原因是脚本有些页面的请求容并非关键点,比如可能请求先前的cookie信息,如果没有就重新获取,所以不会影响最终的测试结果。
7.3.合并图
可以通过合并图分析数据。
如想知道XX个用户时的响应时间,就需要将“RunningVusers”和“AverageTransactionResponseTime”这两个图合并。
操作如下:
首先,在“RunningVusers”图中右击,单击“MergeGraphs”选项;
然后,在弹出框中选中“AverageTransactionResponseTime”,点击“OK”;
效果图如下:
把鼠标置于“login”事务的平均响应时间线上的节点处(对应的是25个Vuser),可以看到25个Vuser时的“login”事务的平均响应时间为1.355s。
7.4.添加图
从下图中看到的图表只有6种,其实还有很多没有展示出来。
按以下操作添加各结果图:
从上图中选择您需要的结果图,双击或点击“Open”,效果图如下:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 性能 测试 过程 手册 范本