[转]LoadRunner使用说明

上一篇 / 下一篇  2009-06-30 11:26:19 / 个人分类:performance test

一、概述

LAODRUNNER8.1作为专业的性能测试工具,通过模拟成千上万的用户对被测应用进行操作和请求,在实验室环境中精确重现生产环境中任意可能出现的业务压力,然后通过在测试过程中获取的信息和数据来确认和查找软件的性能问题,分析性能瓶颈.

LOADRUNNER提供了三个大主要模块,这三个模块既可以作为独立的工具分别完成各自的功能,又可以作为LOADRUNNER的一部分彼此衔接,其他模块共同完成软件性能的整体测试.这三大模块主要是:

Ø        VITUAL USER GENERATOR--------用于录制脚本

Ø        MERCURY LOADRUNNER CONTROLLER---------用于创建,运行和监视场景

Ø        MERCURY LOADRUNNER ANALYSIS--------用于分析测试结果;

二、LOADRUNNER8.1安装

LAODRUNNER8.安装过程比较简单,只需按系统的提示一步一步操作就可以了,这里对安装过程中的一些要点进行简要的说明.

Ø        安装类型 

安装盘内有两个盘片,MERCURY LOADRUNNER8.1MECURY LOADRUNNER 8.0ADD-INS.前者包括了LR安装程序及常用组件,后者全部为组件,各组件的作用在安装盘中都有详细的提示.

Ø        LICENSE类型

LICENSE类型说明如下:

PERMANENT 永不过期的LICENSE;

TIME LIMITED 限定了使用的起始时间和使用周期;

TEMPORARY  从安装后开始计算,限定了使用的天数;

VUD-BASED  限定了虚拟用户数量

PLUGGED  需要DONGLE,也就是HARDWARE KEY,DONGLE在中国被音译为“狗”,主要是防止软件被盗用

Ø        RPMWEB SERVER之间的鉴权

如果在安装时选择安装REMOTE PERFORMANCE MONITOR SERVER,LOADRUNNER会弹出一个要求输入用户名和密码的对话框,

REMOTE PERFORMANCE MONITOR SERVER是一个远程监视场景的服务器,为测试人员提供WEB化的场景页面,用于实现多台及其通过浏览器同时在线监视场景.这里设定用户名和口令的目的主要是为了REMOTE PERFORMANCE MONITOR(RPM)和运行了IISWEB SERVER之间进行鉴权.RPM安装完毕之后,只有在LOADRUNNER CONTROLLERRPM用户配置对话框中输入指定的用户名和口令,系统才能允许进行远程监控.

Ø        设定LOADRUNNER GENERATOR如何登陆到CONTROLLER

LOADRUNNER提供了两种方式让LOAD GENERATOR的虚拟用户登陆到CONTROLLER,

n        ALLOW VIRTUALUSERS TO RUN ON THIS MACHINE WITHOUT USER LOGIN

n        MANUAL LOG IN TO THE LOAD GENERATOR MACHINE

三、使用VITUAL USER GENERATOR录制开发脚本

LOADRUNNER脚本的开发过程一般需要以下几个过程

Ø        使用LOADRUNNERVIRTUAL USER GENERATOR录制基本的测试脚本;

Ø        根据系统需求编辑测试脚本,看能否通过,

Ø        在单机模式下运行脚本看能否通过,

 1.选择协议

要想正确的选择LOADRUNNER的脚本协议,首先要从LOADRNNER工作原理上深入理解协议的作用和意义。LOADRUNER启动后,在任务栏上会有一个LOADRNNER AGENT PROCESS的进程,这个进程的一项重要的工作就是监视各种协议的客户端和服务器端的通信。只要是能够支持的协议,LOADRUNNER在录制的过程中就可以通过脚本语言将通信过程录制下来。所以只要明确了被测软件的通信过程和所使用的协议,LOADRUNNER才能正确的录制脚本。对于常见的应用软件,我们可以根据被测应用是B/S结构还是C/S结构来选择协议;

Ø        对于B/S结构,可以选择WEBHTTP/HTTML)协议;

Ø        对于C/S结构,可以根据后端数据库的类型来选择,如SYBASECTLIB协议用于测试后台数据库为SYBASE的应用,MS SQL SERVER协议用于测试后台数据库为SQL SERVER的应用;

Ø        对于没有数据库的WINDOWS应用,可以选择WINDOWS SOCKETS这个底层的协议;

这里需要说明的是,无论使用哪种协议,LOADRUNNER的测试流程都基本是一样的,只有在设定细节上有所不同,测试人员只要对被测应用的技术架构熟悉了,就能够成功完成脚本的录制。

 2.录制测试脚本

根据需求设定好脚本录制参数后,在VIRTUAL USER GENERATOR主窗口单击START RECORD按钮,系统就开始自动录制脚本。

Ø        理解脚本的三个部分;

LOADRUNNER将测试脚本分为3个部分,VUSER_INIT,VUSER_ENDACTION,其中VUSER_INITVUSER_END一般用于存放应用程序初始化的脚本和注销关闭的脚本,在重复执行的时候,这两部分的内容只执行一次.ACTION部分用于存放实际的操作脚本,这部分脚本可以多次执行,测试人员还可以根据需要创建多个ACTION脚本,但不能创建VUSER_INITVUSER_END.

Ø        熟悉录制脚本工具栏;

在录制的过程中屏幕上有一个悬浮的工具栏,这是控制脚本录制的工具栏,是脚本录制过程中测试人员和VUGEN交互的主要平台,每个可用的按钮都可以执行相应的操作;

Ø        查看脚本;

n        SCRIPT. VIEW:查看全部的脚本;

n        TREE VIEW:查看从每个URL获取来的页面;

3.开发测试脚本

Ø        插入事务

有时侯测试人员根据项目需要,除了要衡量整个测试脚本的性能外,还想获取到脚本中的某一段和几段操作的性能数据;以便更详细的知道具体的是用户的哪些动作对性能的影响比较大.LOADRUNNER采用在脚本中定义事务来达到这一要求.

所谓事务(TRANSACTION),就是在脚本定义中定义的某段操作(ACTION),更确切的说,就是一段脚本语句.定义事务时,首先在脚本中找到事务的开始和结束位置,然后分别插入一个事务起始标记,这样,当脚本运行的时候,LOADRUNER会自动在事务的起始点计时,脚本在运行到事务结束点时计时结束,系统会自动记录这段操作的运行时间等性能数据;在脚本运行完毕后,系统会在结果信息中单独反映每个事务运行结果.

事务的插入操作可以在脚本运行过程中进行,也可以在脚本录制完毕后进行,建议在脚本录制完毕后进行.

n        定位事务语句的集合

n        插入事务起始点语句

将光标放置在欲定义事务的语句集合中第一条语句的上面一行,单击工具栏上的INSERT START TRANSACTION按钮,输入事务名称后,单击OK按钮,系统自动在脚本语句中插入如下语句:

LR_START_TRANSACTION(“事务名称”)

n        插入事务结束点语句

将光标放置在欲定义事务的语句集合中最后一条语句的后面一行,单击工具栏上的INSERT END TRANSACTION按钮,输入事务名称后,单击OK按钮,系统自动在脚本语句中插入如下语句:

LR_END_TRANSACTION(“事务名称“)

Ø        插入集合点

多用户同时加载并发,并发过程仅仅体现在开始执行的那一刹那,随着服务器对请求的响应时间的不一致或系统环境条件的限制,在运行过程中能集合到一点的可能性微乎其微,所以将一定数量的用户同时加载并不是真正意义上的并发.

系统压力最大的情况是:所有用户都集中到系统瓶颈的某个点上进行操作,从脚本的角度来讲,这个点就是执行脚本的某一条或一段语句,为了真实模拟这个最坏的情况,查看系统在最坏情况下的反映,LOADRUNNER提供了集合点的功能,帮助测试人员实现真正意义上的并发.

使用LOADRUUNER实现集合点功能的方法如下:

n        在脚本准备访问的语句上面插入一个空白行,并将光标移到该空白行上;

n        选择INSERT|RENDEZVOUS命令,系统弹出RENDEZVOUS对话框,

n        输入集合点名称后点击OK按钮.

系统会自动在脚本中插入下面语句

LR_RENDEZVOUS(“集合点名称”)

这样的脚本在运行的时候,就可以在集合点处实现真正的并发了.运行带有集合点的脚本时可以在SCENARIO GROUP列表的RENDEZ一栏看到虚拟用户的聚集过程.

需要说明的是,这部分内容仅介绍了如何在LOADRUNNER的脚本中插入集合点,LOADRUNNER允许测试人员对集合点的执行过程进行更详细的设定,如聚集的用户数,系统等待时间和等待策略等.

Ø        脚本参数化

让所有用户都使用相同的数据来运行,对系统造成的压力与实际情况会有所不同.而对于那些禁止一个用户多次登陆的系统,也就严重到无法测试的地步了.为了解决这个问题,让系统更加真实的模拟多用户使用的实际环境,LOADRUNNER提供了对脚本进行参数化输入的功能;

所谓的脚本参数化,就是针对脚本中的某些常量,定义一个或多个包含数据源的参数来取代,让场景中不同的虚拟用户在执行相同的脚本时,分别使用参数数据源中的不同数据代替这些常量,从而达到模拟多用户真实使用系统的目的.

n        确定需要参数化的常量

打开脚本后,首先要确定哪些常量需要参数化;

n        准备数据

既然是使用多组数据来替换常量,就需要在使用参数替换常量之前,针对性的准备一些模拟真实情况的数据.LOADRUNNER允许多种类型的数据源,DAT的文本文件,电子表格,来自ODBC的数据库数据和其他系统提供的数据源等,每种类型的数据源都要求了不同的格式,这些在LOADRUNER的帮助文件中都有详细的说明;

n        对脚本进行参数化

在脚本中用鼠标选中要参数化的常量,然后单击鼠标右键,在弹出的快捷菜单中选择REPLACE WITH A PARAMETER命令,系统弹出SELECT OR CREATE PARAMETER对话框.通过这个对话框可以选择一个已经存在的参数,还可以根据需要创建一个新的参数.

单击PROPERTIES按钮,可以在PARAMETER PROPERTIES对话框中设定脚本执行时参数的详细替换方式,不同的数据源类型的属性设定对话框的内容也会有所不同.

n        :参数化输入只能用于函数中的参数,不能用参数代替非函数中的常量参数;

Ø        插入检查点

LOADRUNNER检查点的功能主要用来验证某个界面上是否存在指定的TEXTIMAGE等对象,在使用LOADRUNNER测试WEB应用时,可以检查压力较大时WEB服务器能否返回正常的页面。

n        定位要检查的页面

定位需要检查的页面,最好将脚本视图切换到TREE VIEW方式,这样就可以直观地查看到LOADRUNNER录制时获取的每个页面了。在TREE VIEW视图中用鼠标单击页面左侧列表中页面对应的URL,就能迅速查看到准备检查的页面和页面上需要检查的图象或文本信息。

n        插入文字检查点

选择相应的URL,单击鼠标右键,在系统弹出的菜单中选择INSERT AFTERINSERT BEFORE命令,在URL的脚本前面或后面插入函数,在ADD STEP对话框中可以插入很多的函数,如果想为WEB应用插入图像或文本检查点,需要选择WEB CHECKS下面的IMAGE CHECKTEXT CHECK

在系统弹出的检查点属性对话框中,输入要查询的文字或图像名称后,系统会自动在TREE VIEW视图中的树型列表中插入类似的STEP

LOADRUNNER还允许对要检查的文字内容和图像名称进行参数化,参数化的过程可以在插入检查点的 过程中实现,还可以在插入之后重新打开脚本实现。要想在插入检查点时就直接实现参数化,只需要在设置被检查对象的名称时单击ABC按钮,创建或选择参数输入就可以了。

n        设定与检查点有关的选项

        系统在执行时是否起用检查点,是由一个系统参数控制的,该参数的设定方法为:VUSER|RUN-TIME SETTINGS|PREFERENCES,如果想让检查点起作用,需要选中ENABLE IMAGE AND

       TEXT CHECK复选框。

n        查看检查点是否通过

脚本运行结束后,要想查看检查点是否通过,可以在TREE VIEW视图下,用鼠标右键单击检查点步骤,选择GO TO STEP IN EXECUTION命令,则系统自动将光标定位到执行日志中获取检查点结果的一行上。

Ø        RUN-TIME SETTINGS

选择VUSER|RUN-TIME SETTINGS命令,可以设定VIRTUAL USER GENERATOR中和脚本相关的一些运行时参数;

n        ITERATION COUNT(重复次数)

入口:GENERAL|RUN LOGIC;

参数说明:设定每个ACTION的重复执行次数;

需要注意的是,DURATION参数是优先于ITERATION,举例说明,假定将DURATION设为5分钟,即使在RUN-TIME中将INRATIONS参数设为1,虚拟用户也会在5分钟之内进行尽可能多的反复执行脚本,在限定了DURATION的场景中,DURATION时间是从所有用户状态变为INIT开始计算的,这样就存在一个问题,有些初始化过程很长的用户,可能还没有到达RUN状态就因DURATION时间限制而中止了,要解决这个问题,测试人员可选择INITIALIZE ALL VUSERS BEFORE RUN选项,这样DURATION时间会在所有用户都到达RUN状态后开始计时.

n        THINK TIME

THINK TIME参数设定入口:GENERAL|THINK TIME

参数说明:设定脚本回放时对思考时间的处理方式.

IGNORE THINK TIME:

选择该选项,脚本回放时将不在执行LR_THINK_TIME()函数,这样会给服务器造成更大的压力.

REPLAY THINK TIME:

选择该选项,脚本回放时执行LR_THINK_TIME()函数,

1,按录制时获取的THINK TIME值回放脚本;

2,按照录制时获取值的整数倍回放脚本;

3,限定一个最大和最小的比例,按照两者之间的随机值回放脚本;

LIMIT THINK TIME TO:

用于限定THINK TIME的最大值,脚本回放过程中,如果发现有超过这个值的,用这个最大值替代;

n        ERROR HANDLING

入口:GENERAL|MISCELLANEOUS

参数说明:设定遇到错误时的处理方式

1,CONTINUE ON ERROR,遇到错误继续运行;

2,FAIL OPEN TRANSACTIONS ON LR_ERROR_MESSAGE,

执行到事务中调用的LR_ERROR_MESSAGE()函数时将事务的结果置为FAILED

3,GENERATE SNAJPSHOT ON ERROR对错误进行快照.

n        MULTITHREADING

设定脚本运行方式;

入口:GENERATOR|MISCELLANEOUS

1,RUN VUSER AS A PROCESS,以多进程方式运行;

2,RUN VUSER AS A THREAD,以多线程方式运行;

4.在LoadRunner脚本中做关联(Correlation)

Ø        自动关联---- Rules Correlation

可以自动找出需要关联的值,并且自动使用关联函数建立关联。

 

在录制过程中VuGen会根据订定的规则,实时自动找出要关联的值。

1.       启用auto-correlation

n        点选VuGen<span style="colo


TAG:

笨笨叶的测试学习窝 引用 删除 wjtest   /   2010-04-11 14:15:16
 

评分:0

我来说两句

Open Toolbar