点击关注公众号
学习资料不会少

01

LoadRunner简介
LoadRunner是一种预测系统行为和性能的负载测试工具。
LoadRunner提供了3大主要模块,这3大模块分别是:
Virtual User Generator —— 用于录制性能测试脚本
LoadRunner Controller —— 用于创建、运行和监控场景
LoadRunner Analysis —— 用于分析性能测试结果
LoadRunner 常用术语:
1.并发用户数(虚拟用户)
2.响应时间
3.TPS
4.事务(Transaction)
5.思考时间(Think Time)
6.集合点(Rendezvous)

图1.1工作原理
LoadRunner由四大组件组成:VuGen、控制器、负载发生器和分析器。
1、VuGen发生器
2、控制器(Controller)
3、负载发生器(Load Generators)
4、分析器(Analysis)

图1.2工作原理

图1.3工作原理
02

LoadRunner测试流程
规划测试
确定测试要求,如并发用户数量、典型业务场景流程;测试计划;设计用例;……
➤创建Vuser脚本
使用Virtual User Generator录制、编辑和完善测试脚本。
➤定义场景
使用LoadRunner Controller 设置测试场景。
➤运行场景
使用LoadRunner Controller 驱动、管理并监控场景的运行。
➤生成结果
使用LoadRunner Analysis 生成报告和图表并评估性能。
➤结果分析
根据结果,分析被测系统瓶颈

03

LoadRunner VuGen基本功能使用
Vuser发生器
该章节主要包括以下部分内容:
1.脚本录制
如何选择协议
开始录制脚本
2.Recording Options设置
3.Run-Time Setting设置
4.脚本完善
创建Vuser脚本—录制基本脚本

1.启动LoadRunner
选择开始程序 HPLoadRunnerLoadRunner,打开HP LoadRunner11窗口。

2.打开VuGen
在LoadRunner Launcher窗格中,单击Create/Edit Scripts,链接启动Virtual user Generator起始页。

图3.1创建Vuser脚本

图3.2创建Vuser脚本

3.创建一个空白Web脚本
选择File—>New菜单,或点击左上方按钮,打开New Virtual User对话框,显示可供选择脚本的协议。

图3.3创建空白web脚本

4.录制前的设置
选择Web(HTTP/HTML),点击Create按钮,打开Start Recording对话框。选择的协议不同,打开的窗口就会不同,实例是针对Web录制的对话框。

图3.4录制前设置

图3.5录制前设置
在Start Recording对话框,点击Options按钮,进入录制选项设置。一般要设置以下选项
1)RecordingHTTP/HTML level中设置脚本的显示形式:URL_based script。

图3.6选项设置
2)AdvancedSupport charset中设置编码格式:UTF-8;

图3.7选项设置

5.录制
在Start Recording对话框,点击OK按钮,开始录制。系统自动弹出IE,加载的登录界面。
在录制的过程中,屏幕上有一个悬浮的录制工具栏,是脚本录制过程中测试人员和VuGen交互的主要平台。

图3.8录制
创建Vuser脚本—插入事务

1.插入事务
插入事务是用于把功能分为若干部分,在统计性能指标时,可以对不同的事务分别作统计。如果对脚本不是太熟悉,可以在录制的时候,逐步插入。也可以在录制完成之后,在脚本中插入。
在录制时插入操作为:录制某个功能开始前单击插入事务的起始点录制,直到某个功能结束插入事务的结束点。
在脚本的插入方式为:
插入事务起始点:
单击某个功能起始前的空白处右键鼠标insertstart transaction命名OK。系统自动在脚本语句中插入如下语句:
lr_start_transaction("登录");

图3.9脚本的插入
插入事务结束点:
单击某个功能结束后的空白处右键鼠标insertend transaction命名(与起始点的名字一致)OK。
系统自动在脚本语句中插入如下语句:
lr_end_transaction("登录",LR_AUTO);

图3.10脚本的插入

2.参数化
参数化的作用是在进行场景执行的时候,每个不同的虚拟用户可以按照参数的读取策略读取到参数值,以模拟不同用户在提交或者读取不同的数据。
每个用户在界面上读取和提交的信息都不太相同,因此一般都需要参数化,其它与输入信息对应的比如用户id之类的信息也需要参数化;
下面将分四部分来介绍参数化的方法和实施过程:
2.1确定需要参数化的常量
打开脚本后,首先要确定哪些常量需要参数化。例如登录的脚本代码:

图3.11登录的脚本代码
可以看出,在web_custom_request函数中,Body包含了两个常量:账号和密码。
当我们想模拟多个不同的用户来运行登录脚本的时候,需要对进行参数化。
2.2准备数据 根据实例,我们需要准备登录名进行参数的数据
2.3对脚本进行参数化
1)选中需参数值右击鼠标在右键菜单上选择replace with a parameter。

图3.12脚本参数化
2)在弹出窗口填写参数名称,或选择一个已经存在的参数名。

图3.13脚本参数化
实例中填写参数名称:user_id;选择参数类型File,来写入已准备好的数据。
3)单击窗口的properties按钮,设置parameter的properties。

图3.14设置参数
设置完成后,被参数化的值会被参数名代替。实例中设置参数名为user_id,脚本原先部分变为了紫红色的{user_id}。
4)如果其它地方也用到这个相同的参数,则可以进行替换。
方法一:选中需要被替换的常量右键鼠标use existing parameter选择已经存在的参数名。

图3.15替换参数
方法二:选中这个设置好的参数,右键鼠标replace more occurrences逐个替换(如果确定所有都需替换可以全部替换)。

图3.16替换参数2
2.4还原初始字符串
通过VuGen,可以还原最初录制的字符串从而撤消参数化。方法为:
在脚本视图中,右键单击该参数并选择“Restore original value()”

图3.17还原初始字符串
设置完成后,该参数被还原为初始字符串。实例中的参数{user_id} ,被还原为初始的值。

3.插入集合点
在录制时插入操作为:录制某个功能开始前—>单击插入集合点—>命名—>OK
在脚本的插入方式为:单击需要插入集合点的功能开始前的空白处—>右键鼠标—>insert—>rendezvous—>命名—>OK。

图3.18插入集合点
系统自动在脚本语句中插入如下语句:
lr_rendezvous(“登录");
实例中,可以在登录的功能前插入集合点。
创建Vuser脚本—关联
Session是服务器端使用的一种记录客户端状态的机制

图3.19session机制

关联
常用的关联技术有三种:录制中关联、录制后关联、手动关联。
(1)录制中关联
设置录制前的recording optionscorrelation,可以勾选LR已有的关联规则,也可以新建规则;录制过程中,关联自动在脚本体现。

图3.20设置关联
(2)录制后关联
关联的使用可以在脚本录制完成后,回放一次脚本,然后在脚本的菜单的vuserscan script for correlations进行设置。

图3.21关联
通过回放脚本和扫描关联,系统尝试找到录制与执行时服务器响应的差异部分,找到需要关联的数据,并建立关联。

图3.22关联
(3)手动关联
录制前关联与录制后关联都属于自动关联的范畴。如果出现自动关联不能解决的问题,就需要使用手动关联的方法。手动关联的一般步骤如下:
1)录制两份脚本,保证业务流程和使用的数据相同。
2)使用工具比较两份脚本,对两份脚本中不同的地方进行判断,找到需要关联的数据。
3)找到左边界和右边界字符串,写出关联函数。
4)在脚本中‘需要关联的数据’前面插入关联函数。
5)用关联函数中定义的参数取代脚本中‘需要关联的数据’。

检查点
判断脚本是否执行成功是根据服务器返回的状态

图3.23检查点

查看日志

图3.24查看日志

其他
前面讲解了插入事务、插入集合点、参数化、建立关联,插入检查点等的方法,一般的脚本都需要做以上几项的修改工作。此外,还可以通过插入注释来完善脚本。另外脚本出现问题了,也可以通过打印信息来调试脚本。
插入注释:在脚本中插入注释,可以清晰找到需要修改的位置,增强脚本的可读性。

往期精彩文章
喜报来了!凡猫学员薪资最高16K!
金融行业软件测试介绍
2020年为什么大家都开始学习自动化测试?
学习测试开发前 你需要掌握的python 代码水平
1万+软件测试人员都在学的精品课程免费送,大家别错过

本文介绍了LoadRunner,它是预测系统行为和性能的负载测试工具,有三大主要模块。阐述了其测试流程,包括规划测试、创建脚本、定义场景等步骤。还详细讲解了VuGen基本功能使用,如脚本录制、插入事务、参数化、关联等内容。
9718

被折叠的 条评论
为什么被折叠?



