LR简单介绍nullLR
Simple introduction &Minor caseLR
Simple introduction &Minor caseWritten by Sean
Oct 19th 2010Simple introductionSimple introductionSummary
What and When LR can do
How to used LR
Introduction: Module & Common option
DEMO
Summary-简介Summary-简介LR是一种预测系统行为和性能负载的测...
nullLR
Simple introduction &Minor caseLR
Simple introduction &Minor caseWritten by Sean
Oct 19th 2010Simple introductionSimple introductionSummary
What and When LR can do
How to used LR
Introduction: Module & Common option
DEMO
Summary-简介Summary-简介LR是一种预测系统行为和性能负载的测试工具,通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题.
用于测试应用程序的性能 (性能测试)
在可控制的峰值负载条件下测试系统(压力测试)Summary-工作原理Summary-工作原理LR启动以后,在任务栏会有一个Agent进程,通过Agent进程,监视各种
Client与Server的通讯,使用自带的一套C语言函数将录制下来的操作转为脚本。LR调用这些脚本向服务器端发出请求,并接收服务器响应。而服务器内部的处理,它不关心。
LR的一些好处LR的一些好处轻松创建虚拟用户
创建真实的负载
大量实时监测器
精确
结果
自动重复测试
支持的广泛协议
。。。。。。。基本使用流程基本使用流程如何使用LoadRunner?
主要步骤
1 — 创建脚本:捕获在应用程序中执行的最终用户操作。
2 —
场景:通过定义测试会话期间发生的事件,设置负载测试场景。(脚本的增强)
3 — 运行场景:运行、管理并监控负载测试。
4 — 分析结果:分析负载测试期间 LoadRunner 生成的性能数据。
LR的构成LR的构成LoadRunner的组成部分
Virtual User Generator(Vugen)— 创建脚本
Controller — 设计和运行场景
Analysis — 分析场景
Tuning Console(LoadRunner8.0以上)— 调优(需破解)
LR的使用-选择协议LR的使用-选择协议选择协议
Web(http/html)
LR的使用-URL和Action选择LR的使用-URL和Action选择URL:http://192.168.10.181/login.html
VuGen 中的脚本分为三部分:vuser_init、vuser_end 和Action。其中vuser_init 和vuser_end 都只能存在一个,不能再分割,而Action 还可以分成无数多个部分(通过点击New 按钮,新建ActionXXX)
LR的使用-录制脚本LR的使用-录制脚本Vugen
录制脚本
选择正确的协议
自动/手动生成脚本
脚本的三个部分(Init、Action、End)
典型例子:Init-登录,Action-操作,End-退出
LR的使用-脚本LR的使用-脚本LR的使用-脚本的增强LR的使用-脚本的增强增强、编辑脚本
插入事务(Transaction)
插入事物是为了衡量服务器性能
插入集合点(Rendezvous )只能放在action中
插入集合点为了衡量加重负载情况下服务器性能情况(一般和事物结合使用)
其它(注释、检查点、thinktime、优化)
其他脚本的一些判断(状态,字符串返回值的比较)LR的使用-插入事物LR的使用-插入事物插入事务(Transaction)
为了衡量某个任务的性能,需要在该任务的开始和结束位置插入事务。每个事务度量服务器响应指定的 Vuser 请求所用的时间。
事务可以是简单任务(如单个查询),也可以是复杂任务(如提交多个查询和生成报表)
LR的使用-插入集合点LR的使用-插入集合点插入集合点(Rendezvous)
集合点是一个并发访问的点。在测试计划中,可能会要求系统能够承受100人同时提交数据,在提交数据操作前面加入集合点,当虚拟用户运行到提交数据的集合点时,LR 就会检查同时有多少用户运行到集合点,如果不到100人,LR就命令已经到集合点的用户在此等待,当集合点等待的用户达到100 人时,LR 命令100 人同时去提交数据,达到并发的目的。
(一般和事物结合使用,插入在事物开始之前,只可用在action中)
LR的使用-参数化LR的使用-参数化如果用户在录制脚本过程中,填写提交了一些数据,这些操作将都被记录到脚本中。当多个虚拟用户运行脚本时,都会提交相同的记录,这样做可能会被应用程序禁止而导致出,同时这也不符合实际的运行情况,而且有可能引起冲突。为了更加真实的模拟实际操作,需要各种各样的输入。这时就需要用到参数化
用参数表示用户的脚本有两个优点:
① 可以使脚本的长度变短。
② 可以使用不同的数值来测试你的脚本。例如,登录的用户名,密码,搜索,发布的内容。
LR的使用-参数类型LR的使用-参数类型
参数类型
File:需要在属性设置中编辑文件,添加内容,也可以从现成的数据库中取数据(最为常用)
DateTime:在需要输入日期/时间的地方,可以用DateTime 类型来替代。
Group Name :未使用过
Load Generator Name:在实际运行中,LoadRunner 使用该虚拟用户所在Load Generator 的机器名来代替。
Iteration Number :在实际运行中,LoadRunner 使用该测试脚本当前循环的次数来代替。
Random Number:随机数
Unique Number:唯一数,在属性设置中可以设置第一个数以及递增的数的大小 (可能会造成超过允许输入范围的情况)LR的使用-参数属性LR的使用-参数属性
LR的使用-参数属性LR的使用-参数属性
LR的使用-参数属性LR的使用-参数属性
LR的使用-参数属性LR的使用-参数属性 Notpad记事本
LR的使用-参数属性几个选项LR的使用-参数属性几个选项
“Select next row ”有以下几种选择:
Sequential:按照顺序一行行的读取。每一个虚拟用户都会按照相同的顺序读取(常用)
Random:在每次循环里随机的读取一个,但是在循环中一直保持不变
Unique :唯一的数。注意:使用该类型必须注意数据表有足够多的数。比如Controller 中设定20 个虚拟用户进行5 次循环,那么编号为1 的虚拟用户取前5个数,编号为2 的虚拟用户取6-10 的数,依次类推,这样数据表中至少要有100
个数据,否则Controller 运行过程中会返回一个错误。
Same Line As 某个参数(比如Name):和前面定义的参数Name 取同行的记录。通常用在有关联性的数据上面。
(用户名和userid的一一对应)LR的使用-常用的函数LR的使用-常用的函数
登录成功与否的判断:
取得成功与否的标志,如果登录失败有错误提示
1.定义标志变量
Int status;
2.从脚本中取得成功与否的标志
status = web_submit_data("reguserAction.do",
3.对登录失败的报错提示
if (status == LR_FAIL) //一旦登陆失败,脚本给出提示报错信息。
lr_error_message(“错误信息: %s”, “登录失败!");
return -1;
} LR的使用-常用的函数LR的使用-常用的函数
对所做操作成功与否的判断:(以添加一度好友为例)
1.定义成功标志
Char Addfriends[50]=“已经成为优士上的一度人脉了 ”
2添加web_reg_save_param函数,具体操作是在提交事件前右击鼠标选择Insert Before 选项,然后在弹出的对话框中选择Services里的web_reg_save_param选项
LR的使用-常用的函数LR的使用-常用的函数
3.字符串比较函数strcmp
if (strcmp(addfriends,lr_eval_string(“{2处去的参数名字}"))!=0)
lr_error_message XXXX
lr_eval_string 自带的求字符串函数
LR的使用-ControllerLR的使用-ControllerLR的使用-Controller-场景设置LR的使用-Controller-场景设置Manual Scenario:手动设置场景,这项下面还可以设置为每一个脚本分配要运行的虚拟用户的百分比,可在Controller的Scenario菜单下设置。
Goal—Oriented Scenario:如果测试计划是要达到某个性能指标,比如:每秒多少点击,每秒多少transactions,能到达多少VU,某个Transaction在某个范围VU(500-1000)内的反应时间等等,那么就可以使用面向目标的场景。
LR的使用-Controller-场景设置LR的使用-Controller-场景设置
LR的使用-Controller- Manual LR的使用-Controller- Manual
以Manual Scenario为例LR的使用-ControllerLR的使用-ControllerLR的使用-Load GeneratorLR的使用-Load Generator点右边的“Generators”按钮,出现Load Generators 窗口
Ready表示正常,failed表示没有正常连接,设置完saveLR的使用-添加虚拟用户LR的使用-添加虚拟用户Quality里直接输入需要并发的用户数
LR的使用-集合点设置LR的使用-集合点设置Controller里设置集合点的一些策略
Scenario- Rendezvous
Policy还可做具体设定
LR的使用-集合点设置LR的使用-集合点设置Controller里设置集合点的一些策略
Scenario- Rendezvous
Policy还可做具体设定
LR的使用-运行脚本和监控LR的使用-运行脚本和监控JConsole监控 主要监控cpu和内存的使用
前提条件:确保本地安装JDK
进入路径:盘符:\java\jdk\bin\jconsole
LR的使用- AnalysisLR的使用- Analysis此部分不做详细介绍,主要是些报表根据运行情况的一些反馈,可以根据场景设置情况和预期目标进行对比
常用功能:
添加图表
合并图表
复制图表
常用图表:
Summary Report
Average Transaction Response Time
Transactions per Second
Hits per Second(Web协议)
DEMODEMO
Q&A
(相关文档已放在
\\192.168.10.42\documentation\Training\QA\Auto docus) Q&A
(相关文档已放在
\\192.168.10.42\documentation\Training\QA\Auto docus)
本文档为【LR简单介绍】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。