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程序。

时间: 2024-08-07 00:15:52

LoadRunner培训初级教程的相关文章

JavaScript强化教程——JQuery初级教程

本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:JavaScript强化教程 --JQuery初级教程 第一步 下载jquery首先需要在jquery官网下载 jquery-3.0.0.js(版本和当前最新版本一致)放到自己的文件夹中第二部 引用jquery <script src="jquery-3.0.0.js"></script> 第三部 使用jquery语法写一个简单地程序 <!DOCTYPE html> <html la

Linux培训基础教程

linux下查询history操作时间的方法 要在linux操作系统中查看history记录的操作时间,可以按如下步骤实现: 兄弟连Linux培训基础教程 1,修改/etc/profile文件,在末尾添加:exporthisttimeformat="%f %t `whoami` " 2,或在用户目录下,修改文件 .bash_profile,添加export histtimeformat="%f%t `whoami` " 退出终端,重新登录. 例,查看history操

shellKali Linux Web 渗透测试— 初级教程(第三课)

shellKali Linux Web 渗透测试— 初级教程(第三课) 文/玄魂 目录 shellKali Linux Web 渗透测试—初级教程(第三课)... 1 课程目录... 1 通过google hack寻找测试目标... 2 一个asp站点的sql注入... 3 一个php站点的sql注入... 4  课程地址:点击 课程目录 两个基本案例,以sql注入入手,目标为熟悉基本的思路,关注细节信息. 关于google hack,web 扫描,sql注入更详细和复杂的内容后续教程会专门讲解

VFP+6.0中文版教程--初级教程

下载地址:网盘下载 Microsoft Visual FoxPro 6.0中文版教程 初级教程目录 第一课 开场白第二课 见识一下面向对象的编程第三课 简要介绍对象.属性.事件.方法第四课 常用的对象.属性.事件.方法第五课 常用编程命令及常用函数第六课 编一个完整的软件第七课 编程中的一些技巧第八课 程序的调试第九课 软件的编译及生成安装盘 下载地址:网盘下载

《英语语法新思维初级教程》学习笔记(二)名词

参考资料: 1. <英语语法新思维初级教程> ? 知识点 ▼ 名词是用来表示人.事物.地点以及抽象事物的名称. ▼ 名词通常分为两大类:专有名词(proper noun)和普通名词(common noun). ▼ 专有名词表示特定的人.物.机构或场所等的名词(首字母须大写).如:Paris,the United States和Bill Gates等. ▼ 普通名词又分为:可数名词(countable noun)和不可数名词(uncountable noun)两类. ▼ 可数名词 = 个体名词

《英语语法新思维初级教程》学习笔记(一)名词短语

参考资料: 1. <英语语法新思维初级教程> ? 知识点 ▼ 英语是“固定词序语言(a fixed-word-order language)”. ▼ 语言的构造级别分五个层次:1. 词(word):2. 短语(phase):3. 句子(sentence):4. 段落(paragraph):5. 篇章(discourse) a red rectangle emblazoned with five starts. ▼ 名词短语是由名词和它的修饰语一起构成的.名词的修饰语与名词的关系分两种:1. 放

chrome plug 初级教程

前言:本教程适合于有一定HTML.CSS.JS基础的前端开发人员.如何写一个chrome 插件呢?在入门时只需要弄明白以下4个概念就OK了.1.manifest.json配置文件2.background背景区3.popup弹出区4.content内容区 那么,在讲那4个概念之前,我们先来了解下chrome的文件结构.先看图 开发环境下的文件主要是放在src中,src之外的可以任意放你需要的文件夹,而我是用grunt打包的,所以有dist文件夹,data文件夹则是用来存放一些ajax调试数据.我们

《英语语法新思维初级教程》学习笔记(三)冠词

参考资料: 1. <英语语法新思维初级教程> 2. 英语国际英标表 ? 知识点 ▼ 限定词的是对名词起限定作用的各类词的总称,具体作用有限定名词所指的范围,对名词起泛指或特指.定量或或不定量等限定修饰. ▼ 冠词属于限定词(determiner),对名词起修饰作用.英语中的冠词由三个,其中两个是不定冠词a和an,一个是定冠词the(也可以认为它也是两个,同型不同音). out of the question // 不可能 out of question // 毫无疑问 ▼ the在辅音前读[ð

Babylonjs 初级教程---微软的基于webgl的H5 3D游戏引擎

Babylon.js 页面图像库 游戏创建系统! Hi!欢迎阅读 Babylon.js 初级教程, 这是后面学习最棒的基于Javascript的网页图形库框架所需必备知识的一个基础介绍. 你想知道什么是框架么?  你可以把框架认为成 建筑里的脚手架, 它支撑你围绕它创建新东西而不必为底层细节操心. Babylon.js构造里一个复杂的系统, 让网页图形库更容易使用. 我们希望以一种非常快速的方式教给你大量的信息.  通常这里的任务都有多于一种方式达成.  我希望你自己去发现其它的方式.  根据对