loadrunner包含很多组件,其中最常用的有visual user cenerator(VuGen,主要用于对程序脚本的录制和参数的设置),controller(用于压力值设置和场景监视)和analysis(分析场景得出的结果)。使用loadrunner进行测试的过程可以表示为:第1步:计划测试;第二步:创建VU脚本;第三步:创建测试场景;第四步:运行测试场景;第五步:分析结果。

1. VuGen

VuGen可以创建用户脚本。

1.1 录制:使用录制功能或得到供测试用的最基本的脚本。

1.2 修改:测试人员需要按测试所需对脚本进行必要的调试和修改。

1.2.1 插入事务。将脚本中的某一重点操作,如登录等,定义为一个事务。这样,在运行测试脚本时,loadrunner运行到该事务的开始点时,lr就会开始计划,直到运行到该事务的结束点,计时结束。该事务的运行时间在analysis的结果中会体现出来。

1.2.2 插入集合点。这是为了衡量在加重负载的情况下服务器的性能情况。如要求系统能承受n人同时提交数据,则可在此处加入集合点。当运行到此处时,lr就会检查同时有多少用户在此等待,只有当人数达到n人时,才会继续执行集合点以下的脚本。

1.2.3 插入函数。VuGen中可以使用C语言中比较标准的函数和数据类型,语法和C语言相同。可以使用流程控制(if; for;while)、字符串函数、输出函数(lr_output_message)、和lr提供的标准函数(lr_eval_string、lr_save_string)

1.2.4 插入text/image检查点。在进行压力测试时,为了检查web服务器返回的网页是否正确,VuGen允许插入text/image检查点,这些检察点验证网页上是否存在指定的text或image,还可以测试在比较大的压力测试环境中,被测试的网站功能是否保持正确。

1.3 单机运行测试脚本。

2. Controller

controller用来创建和运行性能测试的场景(场景:根据性能要求定义每次测试期间发生的事件)。一个场景包括一些运行虚拟用户的负载机器(load machine)、一个测试脚本列表、场景本身的模式以及所设定的虚拟用户运行模式。lr中提供了两种不同的场景类型,分别是manual scenario 和 goal-oriented scenario。前者需要用户完全手动地设置场景,在该场景中需要指定每个脚本的虚拟用户数、每个用户的运行时间等信息。后者需要设定性能测试要达到的目标和虚拟用户的增长模式,当达到用户设定的目标后停止测试。

2.1 manual scenario

【选择Vuser Groups】 - 【添加虚拟用户数】 - 【添加load generator machines】 - 【设置脚本运行的shedule】 - 【设置集合点】-【run-time setting】

2.2 Goal-Oriented Scenario

与manual scenario相比,goal-oriented scenario有两个显著的差异。1)虚拟用户的分配是按照百分比形式而不是绝对用户数方式给出的。2)需要为场景设定一个goal。

2.3 lr的场景监视设置

lr提供了多种服务器、应用服务器、数据库的性能指标的监控能力,通过lr可以很方便地在性能测试过程中获取需要的性能计数器的值,并在后续的分析中利用lr提供的丰富报表功能对其进行处理。

3. Analysis

Lr提供了analysis应用对性能测试的结果进行辅助分析。anlysis应用可以根据用户在测试中获得的性能计数器数据生成各种图表,并提供对图表进行合并、分解等的功能。