LoadRunner培训初级教程

一 LoadRunner简介

1.1 Loadrunner介绍

LoadRunner 是 HP Mercury Interactive用来测试应用程序性能的工具 
LoadRunner 通过模拟一个多用户并行工作的环境来对应用程序进行负载测试。通过
使用最少的硬件资源,这些虚拟用户提供一致的、可重复并可度量的负载,像实际用户
一样使用所要测试的应用程序。LoadRunner 深入的报告和图提供了评估应用程序性能所
需的信息。
1.2 Loadrunner 应用程序负载测试
现代的系统体系结构很复杂。在提供了空前强大的功能和灵活性的同时,这些
系统也难以测试。单用户测试主要侧重于系统组件的功能和用户界面,而应用程序
试则侧重于整个系统的性能和可靠性。
例如,一个典型的应用程序测试方案的情况可能是星期一早上有 1000 个用户同时登
录到系统上。该系统的响应时间是多少?系统会崩溃吗?要回答这些问题(以及更多
的问题),一个完整的应用程序性能测试解决方案必须:
Ø测试一个组合了各种软件应用程序和硬件平台的系统
Ø确定服务器与任何给定应用程序的适应性
Ø在开发出必要的客户端软件之前测试服务器
Ø模拟多个客户端与单个服务器应用程序之间进行交互的环境
Ø在几十、几百甚至几千个潜在用户的负载情况下测试应用程序
1.3 LoadRunner解决方案  
vLoadRunner 通过使用虚拟用户 Vuser 代替实际用户。这些 Vuser 模拟实际用户的行为 - 运行实际的应用程序。
v因为一台计算机上可以运行许多 Vuser,因此 LoadRunner 减少了对硬件的要求。
vLoadRunner Controller 可以从一个单一的控制点简单有效地控制所有的 Vuser。
vLoadRunner 联机监视应用程序的性能。
vLoadRunner 在测试过程中会自动记录应用程序的性能。
vLoadRunner 可检查出现性能延迟的地方:网络或客户端延迟、CPU 性能、I/O 延迟、数据库锁定和数据库服务器上的其他问题。LoadRunner 将监视网络和服务器资源以帮助改进性能。
二  LoadRunner测试过程
Ø制定负载测试计划
Ø开发测试脚本
Ø创建运行场景
Ø执行测试
Ø监视场景
Ø分析测试结果
Loadrunner组件介绍
 
LoadRunner 包含很多组件,其中最常用的有 Visual User Generator(以下简称VuGen)、Controller,Analysis。
v Mercury 虚拟用户生成器 (VuGen) — 创建脚本VuGen
通过录制应用程序中典型最终用户执行的操作来生成虚拟用户 (Vuser)。VuGen 将这些操作录制到自动虚拟用户脚本中,以便作为负载测试的基础。
v Mercury LoadRunner Controller — 设计和运行场景
Controller 是用来创建、管理和监控负载测试的中央控制台。使用 Controller 可以运行用来模拟真实用户执行的操作的脚本,并可以通过让多个 Vuser (虚拟用户)同时执行这些操作来在系统中创建负载。
v Mercury Analysis — 分析场景
Mercury Analysis 提供包含深入的性能分析信息的图和报告。使用这些图和 报告,可以标识和确定应用程序中的瓶颈,并确定需要对系统进行哪些更改来提高系统性能。
使用VuGen开发脚本的步骤:
Ø录制测试脚本
Ø完善测试脚本
Ø配置Run-Time Settings项
Ø单机运行测试脚本
Ø创建运行场景

   

使用VuGen开发脚本-录制测试脚本

 

点击开始->Mercury LoadRunner->Applications->Virtual User Generator或开始->
Mercury LoadRunner-> Mercury LoadRunner->Load Testing->Create/Edit Scripts来启
动VuGen。

 

启动VuGen后,可以选择新建单协议脚
本,多协议脚本,打开脚本等;如果不
想下次再显示该页,在Don’t show the
startup dialog in the future前打勾
即可。
使用VuGen开发脚本-录制测试脚本
新建一个用户脚本,选择系统通讯的
协议,这里我们需要测试的是Web
应用,所以我们需要选择Web(HTTP
/HTML)协议,确定后,进入主窗体。
 
设置录制选项
ØApplication type中选择应用程序类型Internet Application
ØURL中输入要测试的网址
ØWorking directory中设置工作目录
ØRecord into Action中选择要把录制的脚本放到哪一个部分,见意选择 Action
 
vVuGen 中的脚本分为三部分:vuser_init、vuser_end 和Action。其中vuser_init 和vuser_end 都只能存在一个,不能再分割,而Action 还可以分成无数多个部分(通过点击New 按钮,新建ActionXXX)
v“Record the application startup”默认情况下是选中的,说明应用程序一旦启动,VuGen 就会开始录制脚本;如果没有选中,应用程序启动后,VuGen 出现右边的对话框,并且暂时不会开始录制脚本,用户操作应用程序到需要录制的地方,按下“Record”按钮,VuGen 才开始录制。

 

录制工具条介绍
录制过程中,在屏幕上会有一个工具条出现。下面我们简单介绍一下各个按钮的功能:

 

录制完成后,按下“结束录制”按钮,VuGen 自动生成用户脚本,退出录制过程。
查看脚本
录制结束后,可以通过两种方式来查看脚本:脚本视图及树视图
Ø脚本视图
v脚本视图是一种基于文本的视图,列出了作为 API 函数的 Vuser 操作。要在脚本视图中查看脚本,请单击工具栏上的“View Script”按钮或者选择“View” > “View Script”。
v在脚本视图中, VuGen 将在编辑器中显示带有彩色编码的函数及其变量值的脚本。
 

 

Ø树视图
v树视图是基于图标的视图,列出了作为步骤的 Vuser 操作.要在树视图中查看脚本,请单击工具栏上的“View Tree”按钮或者选择“View” > “View Tree”。
v对于录制期间所执行的每一步骤, VuGen 都在测试树中生成一个图标和一个标题。在树视图中,将看到作为脚本步骤的用户操作。大多数步骤都附带相应的录制快照。

 

使用VuGen开发脚本-完善测试脚本
事务
当录制完一个基本的用户脚本后,在正式使用前我们还需要完善测试脚本,增强脚本
的灵活性。例如,可以在脚本中插入名为内容检查的步骤,以验证某些特定内容是否显示
在返回页上。可以修改脚本来模拟多用户行为,也可以用事务来 度量特定的业务流程。
事务(Transaction):为了衡量服务器的性能,我们需
要定义事务。比如:我们在脚本中有一个数据查询操作,
为了衡量服务器执行查询操作的性能,我们把这个操作定
义为一个事务,这样在运行测试脚本时,LoadRunner 运
行到该事务的开始点时,就会开始计时,直到运行到该事
务的结束点,计时结束。这个事务的运行时间会在结果中
显示。
插入事务操作可以在录制过程中进行,也可以在录制
结束后进行。LoadRunner 运行在脚本中插入不限数量的事
务。
 
插入事务的方法

 

在需要定义事务的操作前面事务的“开始点” ,通过菜单或者工具栏插入。

 

输入事务的名称。注意:事务的名
称最好要有意义,能够清楚的说明该
事务完成的动作
插入事务的开始点后,在需要定义事务的操作后面插入事务的结束点。同样可以通过菜单或者工具栏插入

 

默认情况下,事务的名称列出最近的一个事务名称。一
般情况下,事务名称不用修改。事务的状态默认情况下
是LR_AUTO。一般情况下,我们也不需要修改。
三、使用VuGen开发脚本-单机运行测试脚本
 
运行脚本可以通过菜单或者工具栏来操作:
执行“运行”命令后,VuGen 先编译脚本,检查是否有语法等错误。如果有错误,Vu
Gen将会提示错误。双击错误提示,VuGen 能够定位到出现错误的那一行。如果编译通
过,就会开始运行。然后会出现运行结果。
四、使用Controller创建场景-新建场景窗口介绍
Loadrunner的场景能够描述在测试活动中发生的各种事件。一个场景包括一个运行虚拟用
户活动的Load Generator 机器列表,一个测试脚本的列表以及大量的虚拟用户和虚拟用户组
点击开始->Mercury LoadRunner->Applications->Controller或开始->Mercury LoadRunner-> Mercury
LoadRunner->Load Testing->Run Load Tests来启动Controller程序。
在新建场景的窗口,选择一种场景类型:
vManual Scenario:完全手动的设置场景(1)
vManual Scenario with Percentage Mode(1.1):
该项只有在“Manual Scenario”选中的情况下才能选择。选择该项后,在场景中我们需要定义要使用的虚拟用户的总数,Load Generator machine 机器集,然后我们为每一个脚本分配要运行的虚拟用户的百分比。
vGoal—Oriented Scenario(2): 在测试计划中,
一般都包括性能测试要达到的目标。选择该项后,
LoadRunner 基于这个目标,自动为你创建一个场景。在场景中,我们只要定义好我们的目标即可。
 
四、使用Controller创建场景-Controller设计窗口概述
Controller 窗口的“设计”选项卡包含两个主要部分:场景计划和场景组
 
v场景计划: 在“场景计划”部分中,您可以设置负载行为以精确地描绘用户行为。您还可以确定将负载应用于应用程序的速率、负载测试持续时间以及如何停止负载。
v场景组:您可以在“场景组”部分中配置 Vuser 组。在此部分中,您可以创建代表系统典型用户的各种组。您可以定义这些典型用户运行的操作、运行的 Vuser数以及 Vuser 运行时所用的计算机。
四、使用Controller创建场景-Controller运行窗口概述
 
Controller 窗口中的“运行”选项卡是用来管理和监控测试的控制中心。“运行”视图包含五个
主要部分:场景组,场景状态,可用图树,图查看区域和图例。
 
v场景组:位于左上窗格中,可以查看场景组中的 Vuser 的状态。使用该窗格右侧的按钮可以启动、停止和重置场景,查看单个 Vuser 的状态,并且可以手动添加更多的 Vuser,从而增加场景运行期间应用程序上的负载。
v场景状态:位于右上窗格中,可以查看负载测试的概要,其中包括正在运行的 Vuser 数以及每个 Vuser 操作的状态。
v可用图树:位于中部左侧窗格中,可以查看 LoadRunner 图列表。要打开图,请在该树中选择一个图,然后将其拖动到图查看区域中。
v图查看区域:位于中部右侧窗格中,可以自定义显示以查看一至八个图(“View” > “View Graphs”)。
v图例:位于底部窗格中,可以查看选定图中的数据。

 

四、使用Controller创建场景-运行Controller

 

打开 Controller 运行视图。单击“Start Scenario”按钮 或选择“Scenario” -> “Strart”开始运行测试。如果您第一次运行该场景, Controller 将启动场景。结果文件自动保存到负载生成器的临时目录中。如果要重复此测试,将提示您覆盖现有结果文件。单击“否”,指定新的结果目录。对每个结果集输入 唯一且有意义的名称,这是因为在分析图时,可能希望重叠几个场景运行的结果。

 

五、使用Analysis分析结果-Analysis窗口概述

 

在 Analysis 会话过程中生成的
图和报告提供了有关系统性能的重
要信息。使用这些图和报告,可以
轻松地标识和确定应用程序中的瓶
颈以及提高系统性能所需的改进。
从AnalySis中可以得到用户终端的
事务响应时间,事务的平均响应时
间,网络和服务器的响应时间等。
开始->Mercury LoadRun
ner->Applications->Analysis
开始->Mercury LoadRunner-
>Mercury LoadRunner->Load
Testing->Analyze Load Tests
来启动Analysis程序。

转载于:https://www.cnblogs.com/SH-xuliang/p/5025933.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/471327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android model 设计,Android model层设计

model层在开发app的过程中,不管是使用了mvp还是mvc甚至mvvm模式,model层的设计基本都是一样的,model层可以被称为数据层,它的主要任务就是为上层提供各种的数据服务,上层完全不需要关心这些数据是来自网络,还是内存&am…

LeetCode 2134. 最少交换次数来组合所有的 1 II(数组*2 + 滑动窗口)

文章目录1. 题目2. 解题1. 题目 交换 定义为选中一个数组中的两个 互不相同 的位置并交换二者的值。 环形 数组是一个数组,可以认为 第一个 元素和 最后一个 元素 相邻 。 给你一个 二进制环形 数组 nums ,返回在 任意位置 将数组中的所有 1 聚集在一…

四、pink老师的学习笔记——元素的显示与隐藏

1. 元素的显示与隐藏 目的 让一个元素在页面中消失或者显示出来 场景 类似网站广告,当我们点击关闭就不见了,但是我们重新刷新页面,会重新出现! 1.1 display 显示(重点) display 设置或检索对象是否及如…

SpringMVC详解

来源:Sunnier(http://www.admin10000.com/document/6436.html) 一、SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包。 2.添加Web.xml配置文件中关于SpringMVC的配置 12345678910111213141…

LeetCode 2135. 统计追加字母可以获得的单词数(位运算+哈希)

文章目录1. 题目2. 解题1. 题目 给你两个下标从 0 开始的字符串数组 startWords 和 targetWords 。每个字符串都仅由 小写英文字母 组成。 对于 targetWords 中的每个字符串,检查是否能够从 startWords 中选出一个字符串,执行一次 转换操作 &#xff0…

五、pink老师的学习笔记——CSS精灵技术(sprite)

5. CSS精灵技术(sprite) 重点 5.1 为什么需要精灵技术 图所示为网页的请求原理图,当用户访问一个网站时,需要向服务器发送请求,网页上的每张图像都要经过一次请求才能展现给用户。 然而,一个网页中往往会应用很多小的…

Javadoc的Html文件传输chm

Javadoc的Html文件转chm 工具下载地址:http://msdn.microsoft.com/en-us/library/ms669985.aspx 两篇相关文章: MyEclipse生成javadoc文档http://blog.csdn.net/kakarot5/article/details/40683837 Java凝视总结http://blog.csd…

六、pink老师学习笔记——CSS三角形之美 margin负值之美文字围绕浮动元素行内块元素布局的巧妙运用

7. 拓展 7.1 margin负值之美 1). 负边距定位:水平垂直居中 咱们前面讲过, 一个绝对定位的盒子, 利用 父级盒子的 50%, 然后 往左(上) 走 自己宽度的一半 ,可以实现盒子水平垂直居中。 2). 压住盒子相邻边框 上图第…

LeetCode 2136. 全部开花的最早一天(贪心)

文章目录1. 题目2. 解题1. 题目 你有 n 枚花的种子。每枚种子必须先种下,才能开始生长、开花。播种需要时间,种子的生长也是如此。给你两个下标从 0 开始的整数数组 plantTime 和 growTime ,每个数组的长度都是 n : plantTime[i…

html悬浮窗口退出,网页中可关闭的漂浮窗口实现

注释部分为广告的左右调节,可以自行设定网页中可关闭的漂浮窗口关闭点击这里,关闭广告!!!var bodyfrm ( document.compatMode.toLowerCase()"css1compat" ) ? document.documentElement : document.body;v…

pycharm profile对函数调用效率进行测试

假设有如下代码: def func1():for i in range(1000):print("i love python")def func2():for i in range(10):print("i love c")func3()def func3():for i in range(100):print("i love java")def main():func1()func2()if __name__…

八、pink老师的学习笔记—— CSS用户界面样式(鼠标样式、轮廓线、防止拖拽文本域)

2. CSS用户界面样式 所谓的界面样式, 就是更改一些用户操作样式,以便提高更好的用户体验。 更改用户的鼠标样式 (滚动条因为兼容性非常差,我们不研究)表单轮廓等。防止表单域拖拽 2.1 鼠标样式cursor 设置或检索在对象上移动的鼠标指针采…

LeetCode 2138. 将字符串拆分为若干长度为 k 的组

文章目录1. 题目2. 解题1. 题目 字符串 s 可以按下述步骤划分为若干长度为 k 的组: 第一组由字符串中的前 k 个字符组成,第二组由接下来的 k 个字符串组成,依此类推。每个字符都能够成为 某一个 组的一部分。对于最后一组,如果字…

九、一篇文章帮助你读懂CSS属性:vertical-align 垂直对齐

3. vertical-align 垂直对齐 有宽度的块级元素居中对齐,是margin: 0 auto;让文字居中对齐,是 text-align: center; 但是我们从来没有讲过有垂直居中的属性。 vertical-align 垂直对齐,它只针对于行内元素或者行内块元素, verti…

LeetCode 2139. 得到目标值的最少行动次数(贪心)

文章目录1. 题目2. 解题1. 题目 你正在玩一个整数游戏。从整数 1 开始,期望得到整数 target 。 在一次行动中,你可以做下述两种操作之一: 递增,将当前整数的值加 1(即, x x 1)。加倍&#…

十、CSS三行代码实现 溢出的文字省略号显示(white-space: nowrap;overflow: hidden;text-overflow: ellipsis;)

4. 溢出的文字省略号显示 4.1 white-space white-space设置或检索对象内文本显示方式。通常我们使用于强制一行显示内容 white-space:normal ;默认处理方式white-space:nowrap ; 强制在同一行内显示所有文本,直到文本结束或者遭遇br标签对…

LAMP环境安装与apache配置

可以写在一起也可以分开写 sudo apt-get install apache2 php5 sudo apt-get install libapache2-mod-php5 php5-mysql 修改apache2.conf AddType 是与类型表相关的,描述的是扩展名与文件类型之间的关系,如:AddType application/x-x509-ca-ce…

LeetCode 2140. 解决智力问题(动态规划)

文章目录1. 题目2. 解题1. 题目 给你一个下标从 0 开始的二维整数数组 questions ,其中 questions[i] [pointsi, brainpoweri] 。 这个数组表示一场考试里的一系列题目,你需要 按顺序 (也就是从问题 0 开始依次解决)&#xff0…

计算机的起源和历史英语作文,端午节的由来和历史英语作文

端午节的由来和历史英语作文端午节与春节和中秋节并列为中国三大节日。下面是小编分享给大家的端午节的由来和历史英语作文,希望能给您带来帮助!端午节的由来和历史英语作文1The Dragon Boat Festival is a lunar holiday, occurring on the fifth day o…

LeetCode 2141. 同时运行 N 台电脑的最长时间(二分查找)

文章目录1. 题目2. 解题1. 题目 你有 n 台电脑。给你整数 n 和一个下标从 0 开始的整数数组 batteries ,其中第 i 个电池可以让一台电脑 运行 batteries[i] 分钟。 你想使用这些电池让 全部 n 台电脑 同时 运行。 一开始,你可以给每台电脑连接 至多一个…