LoadRunner测试报告

时间:2024.3.19

目录

1 概述 ...................................................................................................................................................... 2

1.1 目的 ............................................................................................................................................... 2

1.2 背景 ............................................................................................................................................... 2

1.3 范围 ............................................................................................................................................... 2 2 测试概要 .......................................................................................................................................... 2

2.1 测试环境 ...................................................................................................................................... 2

2.2 人力资源 ...................................................................................................................................... 2

2.3 测试工作量 .................................................................................................................................. 3 3 测试内容及方法 ........................................................................................................................ 3

3.1 测试需求/目标 ........................................................................................................................... 3

3.2 测试内容 ...................................................................................................................................... 3

3.3 测试工具 ...................................................................................................................................... 3 4 测试结果及分析 ........................................................................................................................ 3

4.1 网站处理性能评估 .................................................................................................................... 3

4.2并发登录用户测试 ..................................................................................................................... 4 5 结果分析 .......................................................................................................................................... 5

5.1 场景执行情况 ............................................................................................................................. 5

5.2 Statistics Summary(统计信息摘要) ............................................................................... 5

5.3 Transaction Summary(事务摘要) ................................................................................... 6

5.4 HTTP Responses Summary(HTTP响应摘要) ................................................................ 6

5.5 并发数分析 ............................................................................................................................... 7

5.6 响应时间 .................................................................................................................................... 8

5.7 每秒点击数 ............................................................................................................................... 8

[键入文字] LoadRunner性能测试报告 [键入文字]

1 概述

1.1 目的

本测试报告为IJob的首页面搜索访问的性能测试报告,目的在于总结测试阶段的测试以及分析测试结果,描述网站是否符合需求。

1.2 背景

考虑到用户数量及数据的增多给服务器造成压力不可估计,因此计划对网站负载性能测试,在系统配置不变的情况下,在一定时间内,服务器在高负载情况下的性能行为表现,便于对系统环境进行正确的分析及评估。

1.3 范围

本次测试主要是IJob首页面访问的性能测试。

2 测试概要

2.1 测试环境

PC机:Lenovo笔记本

操作系统:windows XP

测试机与被测服务器在同一局域网进行,排除了网速限制及网速度不稳定性。

2.2 人力资源

下表列出了所有参与此项目的测试人员:

LoadRunner测试报告

2

[键入文字] LoadRunner性能测试报告 [键入文字]

2.3 测试工作量

LoadRunner测试报告

LoadRunner测试报告

3 测试内容及方法

3.1 测试需求/目标

在大用户量、数据量的超负荷下,获得服务器运行时的相关数据,从而进行分析系统的稳定性。

3.2 测试内容

本次测试主要是对IJob首页访问操作在大负荷情况下处理数据的能力及承受能力。 测试方法:

3.3 测试工具

主要测试工具为:LoadRunner性能测试工具

辅助软件:截图工具,Word2003

4 测试结果及分析

4.1 网站处理性能评估

这次测试属于局域网环境进行,排除了外网的网速限制及不稳定性。

3

LoadRunner测试报告

[键入文字] LoadRunner性能测试报告 [键入文字]

4.2并发登录用户测试

测试内容:

这次测试没有加入思考时间(think time),只是简单的百度首页页面的响应。

LoadRunner测试报告

说明:用户的整个执行流程都录制在Action(循环)部分,所以Vuser_int (开始)和Vuser_end(结束)部分为空。Action_Transaction部分的时间为运行整个Action脚本所需的时间。

整个Action的平均响应时间为:71.77秒。

LoadRunner测试报告

说明:所有响应事务数为:37个,1359个失败,187个停止。

4

[键入文字] LoadRunner性能测试报告 [键入文字] 5 结果分析

5.1 场景执行情况

LoadRunner测试报告

该部分给出了本次测试场景的名称、结果存放路径及场景的持续时间,如上图所示。从该图我们知道,本次测试从2012/6/2 13:52 开始,到2012/6/2 14:02结束,共历时10分。

5.2 Statistics Summary(统计信息摘要)

LoadRunner测试报告

该部分给出了场景执行结束后并发数、总吞吐量、平均每秒吞吐量、总请求数、平均每秒请求数的统计值,如图所示。从该图我们得知,本次测试运行的最大并发数为200,总吞吐量为28,824,240字节,平均每秒的吞吐量为48,121字节,总的请求数为6,213,平均每秒的请求为10.372,对于吞吐量,单位时间内吞吐量越大,说明服务器的处理能越好,而请求数仅表示客户端向服务器发出的请求数,与吞吐量一般是成正比关系。

5

[键入文字] LoadRunner性能测试报告 [键入文字]

5.3 Transaction Summary(事务摘要)

LoadRunner测试报告

该部分给出了场景执行结束后相关Action的平均响应时间、通过率等情况,如上图所示。从该图我们得到每个Action的平均响应时间与业务成功率。

5.4 HTTP Responses Summary(HTTP响应摘要)

LoadRunner测试报告

该部分显示在场景执行过程中,每次HTTP请求发出去的状态,是成功还是失败,都在这里体现,如图5- 6所示。从图中可以看到,在本次测试过程中LoadRunner共模拟发出了6213次请求(与“统计信息摘要”中的“Total Hits”一致),其中“HTTP 200”的是6190次,而“HTTP 204”则有23,说明在本次过程中,经过发出的请求大部分都能正确响应了,但还是有部分未得到任何返回内容,但未影响测试结果,“HTTP 200”表示请求被正确响应,而“HTTP 204”表示服务器成功处理了请求,但未返回任何内容。

6

[键入文字] LoadRunner性能测试报告 [键入文字]

5.5 并发数分析

LoadRunner测试报告

“Running Vusers(运行的并发数)”显示了在场景执行过程中并发数的执行情况。它们显示Vuser的状态、完成脚本的Vuser的数量以及集合统计信息,将这些图与事务图结合使用可以确定Vuser的数量对事务响应时间产生的影响。上图显示了百度性能测试过程中Vusers运行情况,从图中我们可以看到,Vusers的运行趋势与我们场景执行计划中的设置是一样,表明在场景执行过程中,Vusers是按照我们预期的设置运行的,没有Vuser出现运行错误,这样从另一个侧面说明我们的参数化设置是正确的,因为使用唯一数进行参数化设置,如果设置不正确,将会导致Vuser运行错误。

7

[键入文字] LoadRunner性能测试报告 [键入文字]

5.6 响应时间

LoadRunner测试报告

这张图是平均事务响应时间与结果摘要中的“Transaction Summary”合成的。 此次测试用户操作流程简单,但200并发用户对服务器造成高度负载,服务器运行不稳定。

从设置200人的压力分析,响应速度太慢,超出用户的感觉快速响应时间。

5.7 每秒点击数

LoadRunner测试报告

LoadRunner测试报告

“Hits per Second(每秒点击数)”反映了客户端每秒钟向服务器端提交的请求数量,如果客户端发出的请求数量越多,与之相对的“Average Throughput

8

[键入文字] LoadRunner性能测试报告 [键入文字] (bytes/second)”也应该越大,并且发出的请求越多会对平均事务响应时间造成影响,所以在测试过程中往往将这三者结合起来分析。从图中可以看出, “Hits per Second”正常,而“Average Throughput (bytes/second)”不正常,则表示服务器虽然能够接受服务器的请求,但返回结果较慢,可能是程序处理缓慢。

9


第二篇:Loadrunner 脚本编程


HP LoadRunner 软件 — 配置、脚本编写和执行的提示与技巧

Loadrunner脚本编程

白皮书

目录

摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3作者简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3执行成功的性能测试计划 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 制定高级测试计划 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4脚本编写提示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 定义目录结构和命名规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 记录脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 通过关联性和参数化创建动态脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 创建事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 用参数表示并转换 itoa (C++) 代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Date_Time 操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 获得当前日期七天后的日期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 轮询批处理运行状态 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 记录消息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 为检查表编写脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7构建情境提示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 通过 HP LoadRunner 控制器执行测试 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 时间安排选项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8数据处理提示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 使用虚拟表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 针对具有相同子网掩码 IP 段和网络的客户端的 IP 欺骗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 解析基于数值的字符串 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 用 switch 和 case 语句进行随机化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10测试执行和时间安排提示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 HP LoadRunner 超时错误 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 扩展后的日志代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

摘要:本指南提供 HP LoadRunner 软件的配置、脚本Waste Management 的总部位于德克萨斯州的休斯编写和执行的相关提示与技巧。它是 HP LoadRunner 顿,它确保了许多社区的生活质量,为北美洲的大约 超级用户 Opral Wisham 所学课程的综合,其中包2500 万居民及 200 万商业客户提供废料解决方案。括特有代码以及从其他测试人员处收集的代码。本指南旨在帮助测试人员学会使用 HP LoadRunner,并为长期使用 HP LoadRunner 的人员提供新的最佳实践。

作者简介:Opral Wisham 目前是 Waste

Management, Inc.(行业领先的综合废料管理服务提供商)在性能和容量方面的专家。

Opral 在 Waste Management 的职责包括管理公司所有新应用的容量和性能验证 (CPV) 流程。在担任 CPV 技术经理期间,Opral 收集了很多最佳实践,用于协调公司跨部门 CPV 团队的测试活动,并加快对团队新成员的培训。

执行成功的性能测试计划

在将任何新的应用投入生产之前,必须执行涵盖范围广泛的容量和性能验证 (CPV) 测试。本指南旨在帮助新用户和经验丰富的专业人士学习利用 HP LoadRunner 制定并成功实施负载测试计划的新方法。

性能测试流程可以分为以下四个阶段:最初的性能测试请求、测试准备、脚本开发和执行,以及测试分析。

本文档的以下章节描述了部分步骤以及在制定并执行有效的性能测试计划时可以遵照的最佳实践。

表 1. 该表阐述了性能测试执行流程的功能流程,并附有各个阶段

描述的建议交付成果。

CPV 请求

经过 CPV 后,将对总体

解决方案进行测试召开计划会议,概述需求并解决问题

保留与 CPV 之间的测试 间隙

业务所有者

架构审核委员会批准性能需求文档(草案)已确定的支持人员

准备安全硬件配置硬件/软件数据爆炸创建 ID

业务情境和测试用例

业务所有者 管理员性能需求文档 (最终版)配有支持人员已配置的测试环境和 已验证的数据获取自动控制工具 (如未提供)

开发和执行创建自动化脚本调试自动化脚本针对每个测试周期 运行预先确定的负载在每个测试周期后提供 结果提供总结报告CPV

总结报告概括了调整 变更、CPV 问题和统 计数据

分析

分析 CPV 为每个 测试周期提供的 数据

确定不可接受的 性能

确保硬件容量准确

业务所有者 CPV

立场声明和推荐

所有者

可交付成果

3

制定高级测试计划

性能测试团队应首先定义高级测试计划,以描述所1. 列 出项目各个阶段(试验、代码冻结和生产阶段)的所有测试里程碑和可交付成果。有测试工作的时间安排,其中包括要执行的测试类2. 创 建综合生产的物理结构图,使每个细节的信息型(例如,在线的基础架构压力和负载测试、批处都一目了然,包括每个组件的连接方式。理性能测试等)。此外,该计划还应指明性能测试3. 列出测试所需的所有硬件和软件需求。团队将如何与企业内部的开发、部署和/或支持小组4. 确定所有数据库的数据量需求。配合展开工作。在可能的情况下,该计划有助于在说明交互作用的过程中使用资源的实际名称和标题。5. 定义所有性能目标。测试团队应描述测试意欲测量和/或报告的对象。阐6. 确定所有性能基准(如果有)。明所有可能造成误解的术语(例如,“事务的响应7. 确定预期用户总数。时间”(“Transaction’s Response Time”) 可以指从按8. 指定并发用户数量的最大值和最小值。下 “enter” 按钮到从系统得到结果所需的时间,或是9. 选 择五个业务情境(人工编写的脚本),在每个指执行某项需要人为干预的功能所需的时间)很重应测量的情境(事务)中加入动作。要。某些用于 Web 应用的量度与传统的在线批处理10. 确定用户负载混合。应用具有不同的定义,如平均点击数/秒、Web 服务

11. 定义每个事务可接受的平均响应时间。器吞吐量等。

下列检查表可在定义综合性能测试流程的步骤时使用:12. 定义平均点击数/秒或一小时内的事务数。13. 定义吞吐量(如果适用)。

14. 确定所有正在运行的并发批处理流程。

15. 确定所有领导、技术和联系人员。

以下章节提供的示例可帮助性能测试团队简化脚本编写、情境建立、数据处理、测试执行及测试时间安排的流程。4

脚本编写提示

定义目录结构和命名规则

记录脚本

性能测试团队应尽可能地使用 HP LoadRunner 的自动记录选项。该方法提供了最高效的途径来记录大

为创建目录结构和制定命名规则确定正式的程序至多数基于 Web 的应用的负载测试脚本。关重要。为新项目创建目录结构(文件夹名称)时可以使用以下命名法:

ProjectName

? LR_Scripts? Scenarios? TestDoc

? TestPlanAndReport? TestExecution? Recommendations? LR_Reports

? Cycle1? Cycle2? Cycle1? Cycle2

通过关联性和参数化创建动态脚本

性能测试团队可以在前述语句需要某个值之前利用关联性来检索该值,从而使服务器能动态生成未知值。当值已知且在执行语句之前不可用时,性能测试团队可以进行参数化处理。 下面是参数化的示例:

1. 利用文件将“来源”、“货币”、“业务单元” 和“帐户”参数化。选择的下一行应为“与业务单元相同”。“业务单元选择”的下一行应为“连续”或“随机”(这取决于持续时间或重复次数)。

? Reports

? HTML_Reports

2. 利用 %m/%d/%Y 将日期用参数表示为 “date/time”。

3. 将“数量”用参数表示为 1 到 10,000 之间的随机数。

4. 利用 %m 将“记帐期”用参数表示为 “date/

对于系统的新用户而言,项目和脚本的名称应直观且具有描述性。例如:

ProjectName:应确定进行测试的项目或应用。

LR_Scripts:文件应为已保存的 HP LoadRunner 脚本的名称。

FunctionName_Type

类型:为 func、rpt 或 qry

time”。

5. 用文件将 URL 参数化。这样可以减少 URL 变更时所需的脚本变更。

关联性和参数化是创建动态数据驱动测试的关键。

Scenarios:文件应确定模拟的项目和虚拟用户的数量。

ProjectName_VuserCount

TestDoc:目录应包含所有测试文档。

TestPlanAndReport

测试计划测试用例工作量等脚本注释测试总结

创建事务

然后,性能测试团队应定义用于测量服务器性能的事务。每个事务都会测量服务器对指定虚拟用户 (Vuser) 的请求做出响应的时间。

为了标记事务的开始点,测试团队应在记录工具栏中单击“启动事务”按钮。在事务名称框中输入事务名称。单击“确定”接受事务名称。HP LoadRunner 虚拟用户生成器 (VuGen) 会自动将 lr_start_transaction 语句输入脚本。单击“结束事务”按钮来结束事务。VuGen 会自动将 lr_start_transaction 语句输入脚本。

TestExecution 推荐

推荐

执行进度日志对比日志

5

通常,性能测试会为登录、注销及脚本中出现 “submit” 的任何地方创建事务。可以包含更多事务,但所有提交都必须具有事务以测量响应时间。

Date_Time 操作

可以插入以下语句来操作日期时间戳。在本例中,脚本中的日期必须为当前日期后一天的日期。参数

动态事务名称是指根据参数化值的变化而变化的名{Tomorrow} 保存在脚本中出现当前日期的地方。插称。如果存在多个随机运行的报告,团队可以使用入该参数后,会在出现当前日期的地方插入明天的下面的代码动态地定义事务名称:

日期。

Char rname[10];sprintf( rname,

“Run_Report_%s”,lr_eval_string(“{report}”) );

Action1(){

lr_save_datetime(“Tomorrow is %m/%d/%Y”, DATE_NOW + ONE_DAY, “Tomorrow “);

//lr_output_message(lr_eval_string(“{Tomorrow }”));

lr_output_message(rname);lr_start_transaction(rname);lr_end_transaction(rname,2);

itemdata.....*

用参数表示并转换 itoa (C++) 代码

如果团队需要增加计数器数值或将计数器作为参数使用,则需要利用 sprintf 函数将整数转换为字符串。转换后,需要将字符串用作参数。因此,应该用 lr_save_string 将字符串保存为参数。

**

“Name=PV_REQ_SR_WRK_DUE_DT$0”, “Value={Tomorrow }”, ENDITEM,

获得当前日期七天后的日期

此代码会在当前日期的基础上加七天。如果交付日期在当前日期的七天之后,这会很有用:

/* M:\Remedy\Test Scripts\Modify an Existing Remedy Help Desk Case */

/* insert before action */

char wid_str[6]; /* 0xFFFF = 65535 + NULL = 6 */int i = 0;

/* initialize I */

lr_save_datetime(“%m/%d/%Y”, DATE_NOW + ONE_DAY + ONE_DAY + ONE_DAY + ONE_DAY + ONE_DAY + ONE_DAY + ONE_DAY, “curr_date”);

i = i + 2; /* increment I by 2 or whatever value */

/* copy integer into string *//* save into parameter value */

sprintf( wid_str, “%d”, i );

lr_save_string(wid_str, “wid_num”);

6

轮询批处理运行状态

本例用于要求单击“刷新”按钮直到运行状态变为“成功”的脚本。此代码提供自动刷新,直到批处理作业完成。下一步要求完成批处理作业。

“Name=PMN_FILTER_WS_OPRID”, “Value=CPVID”, ENDITEM,

“Name=PMN_FILTER_PRCSTYPE”, “Value=”, ENDITEM,“Name=PMN_FILTER_FILTERVALUE”, “Value=1”, ENDITEM,

“Name=PMN_FILTER_FILTERUNIT”, “Value=1”, ENDITEM, “Name=PMN_FILTER_SERVERNAME”, “Value=PSUNX”, ENDITEM,

“Name=PMN_FILTER_PRCSNAME”, “Value=”, ENDITEM,“Name=PMN_DERIVED_PRCSINSTANCE”, “Value={Process_Instance}”, ENDITEM,

“Name=PMN_DERIVED_TO_PRCSINSTANCE”, “Value={Process_Instance}”, ENDITEM,“Name=PMN_FILTER_RUNSTATUS”, “Value=”, ENDITEM, LAST);

int x; // flag will be 0 or 9// values to hold strings

char *temp, *temp2; Action1(){

temp2=”Success”;

//compare string 2

//lr_message(“temp2 = %s”, temp2);......

// set x to 0 x is the success flagx=0;do {

web_reg_save_param(“RunStatus”,

“LB=<td align=’LEFT’ >\n”,“RB=\n”,“Ord=5”,“Search=body”,LAST);

// Compare correlation value with character stringtemp = lr_eval_string(lr_eval_string(“{RunStatus}”));

// correlation value to variable//compare string 1

// string compare success with correlation value

// set flag to indicate success

//lr_message(“temp = %s”, temp); if(strcmp(temp,temp2)==0){

class=’PSLEVEL1GRIDODDROW’

x=9; }

}while (x == 0); // do while flag not set

web_submit_data(“PROCESSMONITOR.PROCESS MONITOR.GBL”,

记录消息

使用消息功能之一将虚拟用户消息发送到虚拟用户日志和输出窗口。CPV 最常用的是 lr_output_message。日志消息可以用来确认脚本执行期间关于虚拟用户的许多事项,包括:

“Action=http://crpu028a:8050/psc/fs84cpv/EMPLOYEE/ERP/c/ PROCESSMONITOR.PROCESSMONITOR.GBL”,

“Method=POST”,

“RecContentType=text/html”,

“Referer=http://crpu028a:8050/psc/fs84cpv/EMPLOYEE/ERP/c/ PROCESSMONITOR.PROCESSMONITOR.GBL?Page=PMN_PRCSLIST&Action=U&”,

“Snapshot=t17.inf”,“Mode=NORESOURCE”,ITEMDATA,

“Name=ICType”, “Value=Panel”, ENDITEM,“Name=ICElementNum”, “Value=0”, ENDITEM,“Name=ICStateNum”, “Value={ICStateNum6}”, ENDITEM,

“Name=ICAction”, “Value=REFRESH_BTN”, ENDITEM,“Name=ICXPos”, “Value=0”, ENDITEM,“Name=ICYPos”, “Value=0”, ENDITEM,“Name=ICFocus”, “Value=”, ENDITEM,“Name=ICChanged”, “Value=-1”, ENDITEM,“Name=ICFind”, “Value=”, ENDITEM,

1. 确定虚拟用户在脚本执行期间是否到达特定点。2. 确认向参数传递了有效的值。

3. 确认所传递的值是否出现在数据库的适当位置(方法是捕获所传递的值并了解要搜索的对象)。

为检查表编写脚本

在创建了所有自动化脚本后,HP LoadRunner 会进行脚本测试。下列情况下,可将脚本添加到性能测试台中:

1. 没有发生脚本编写错误。

2. 循环成功;用不同的值代替参数化变量。3. 在每个系统层上记录活动。4. 模拟至少有十个用户负载的情况。5. 脚本在随后一天运行(日期关联正确)。

7

构建情境提示

通过 HP LoadRunner 控制器执行测试可以使用以下步骤执行性能测试:

1. 添加负载生成器并连接。5. 每次重复时,模拟一个新用户:指导 VuGen 在重复操作期间将所有 HTTP 环境重置为初始部分结尾处的状态。在该设置下,虚拟用户可以更准确地模拟新用户以启动浏览会话。它将重置所有的 cookie,关闭所有活动的连接,清空高速缓存,并重置用户名和密码(默认情况下,处于启用状态)。

2. 添加情境组:将一个或多个脚本添加到情境列表中。6. 按情境安排时间:随着用户数量的增加,可能需

3. 创建运行时设置:根据业务分析人员或用户的反馈来协调用户。

a. 禁用日志记录

b. 通过业务分析人员或用户来确定在脚本的哪

些地方插入判断时间。如果脚本中有非随机值,则可以将判断时间随机化。

4. 模拟浏览器高速缓存:该选项指导虚拟用户用高速缓存模拟浏览器。高速缓存用于保存频繁访问的文档的本地副本,从而减少连接到网络所需的时要调整等待周期 (ramp-up)。大多数测试(压力测试除外)的持续时间应为一小时。7. 按组安排时间:允许测试人员按组交错情境,这意味着情境 B 可以在情境 A 之后 10 分钟开始。等待周期是指每个情境中多个虚拟用户登录到系统的频率。持续时间是指特定情境组在等待周期后还有多久才会被执行。测试人员可以控制持续时间,使测试在相似的时间停止。时间安排选项间。默认情况下,高速缓存模拟处于启用状态。有时,有必要将测试设置为稍后运行。该设置也可以如果禁用了该选项,所有虚拟用户都不能用高速在 HP LoadRunner 控制器中完成。要将测试设置为稍缓存来模拟浏览器。注意:与常规的浏览器高速后运行,首先应按照其运行的原有方式设置测试。例缓存不同,分配给虚拟用户的高速缓存只会模拟如,在设计屏幕上调整运行时的设置(就如同利用未图形文件的存储。该高速缓存不存储与网页相关经安排的测试来完成一样)。然后,从菜单栏里选择的文本或其他页面内容。每个虚拟用户都有自己情境/开始时间。输入测试延迟时间(例如,现在是的高速缓存 - 每个虚拟用户必须从高速缓存保存和下午 5:00 点,测试应该在下午 7:00 点进行,则应检索图像。禁用高速缓存后,HP LoadRunner 对每输入两个小时的延迟时间)。个页面图像仍只能下载一次。

8

图 1. 在“网上邻居”(负载生成器上)中设置

Loadrunner脚本编程

数据处理提示

使用虚拟表

脚本偶尔可以用来生成运行其他脚本所需的数据。此时,就必须使用虚拟表来完成该任务(此类任务要求对原始脚本做出最小程度的更改)。HP 虚拟表可提供将信息从一个脚本发送至虚拟表的功能,以便从其他脚本的虚拟表中检索信息。

1. 开始菜单 –> LoadRunner –> 工具 –> IP 向导2. 检查创建新设置

3. 输入 Web 服务器 IP(即 10.208.4.171)

4. 从分配的 IP 地址(即 10.208.40.4)输入要添加的 IP 数目(即 250),然后检查验证未使用的 IP

5. 单击“完成”。将出现包含 bat 文件(nt 和 unix)路径 (如 C:\temp\unix_routing.sh 和 C:\temp\nt_routing.bat)的弹出窗口

6. 检查重新启动验证添加的 IP 地址

1. 开始菜单 –> 运行 –> CMD –> 输入 ipconfig。将显示所 有可用的IP 地址

示例:解压 C:\Program Files 下的文件包,并将 vtclient.dll、控制器中的设置:

? 运行时设置 ー 作为“进程”(常规选项卡中)运行? 在控制器工具栏的“情境”选项卡中启用“IP 欺骗”? 在控制器工具栏的“工具”选项卡中,选中“专家模式”

vtserver.dll 和 vts2.sh 复制到相应的文件夹中。使用 regsvr32 并确保存在下列文件:

Regsvr32 “C:\WINNT\system32\msflxgrd.ocx”Regsvr32 “C:\WINNT\system32\vtsctls.ocx”

确保 “C:\WINNT\system32\COMCTL32.DLL” 存在。

在“网上邻居”(负载生成器上)中设置:见图 1。

在控制器和将用作虚拟表服务器的机器上安装虚拟表。将 vtclient.dll 和 vtserver.dll 复制到 lr/bin:文件夹,然后找到“include”文件夹 (lr/include:),并插入 vts2.h(这些都可以在硬盘驱动器上的产品文件夹中找到)。

此外,验证所有新的 IP 地址是否都已在“网上邻居”/“属性”/“协议”/“高级”中列出。验证 Wins 地址和 DNS 是否都已设置了正确的 IP

针对具有相同子网掩码 IP 段和网络

的客户端的 IP 欺骗

地址。

注意:

当需要唯一的用户 IP 地址来识别唯一的数据时,会为了使 IP 欺骗起作用,IP SPOOFING ADD ROUTE

BAT 文件需要在目标服务器上运行。用到 IP 欺骗。

在脚本中:

用于验证 IP 欺骗的代码:lr_message (“ IP ADDRESS _ %s “,

lr_get_vuser_ip());

添加 IP 地址:

转到 IP 向导……依照说明添加 IP

9

解析基于数值的字符串用 switch 和 case 语句进行随机化利用下面的代码解析字符串并在随后的步骤中使用用 switch 命令改变事务。如果正在测试多个报告,这些数据。字符串 ”Wisham333445555” 可被划分这些报告的 Web URL 有着明显区别但是其他步骤都为多个变量,如姓和规格序列号。相同,那么用户就可以使用 switch 语句。char *string;

char *first_x;

// LASTNAME=Wisham333445555

string = lr_eval_string(“{LASTNAME}”); //Save value in

LASTNAME

// lr_output_message(“LastName: %s”, string);int num;num = ((rand () % 4 ));switch (num){case 0:

lr_think_time(300);

lr_start_transaction(“FS_QRY_06_ZAM_ACQ_VERIFY_SEARCH”);

:

:

break;

case 1:

lr_think_time(300);

lr_start_transaction(“FS_QRY_06_ZLT_UDP_VERIFY_SEARCH”);

:

:

break;

default:

lr_output_message(“Random Number selected was not between

0 and 1”);

}first_x = (char *)strchr(string, ‘3’); // Find first occurrence of 3 and save values after// lr_output_message(“SSN: %s”, first_x); lr_save_var( first_x, 9, 0, “SSN”); // Save 9 characters after 3 encountered// lr_output_message(“SSN: %s”, lr_eval_string(“{SSN}”));

10

测试执行和时间安排提示

HP LoadRunner 超时错误

如果希望实现某项功能(如保存数据)所需的时间少于 1,000 秒,则可以利用以下步骤来避免 HP LoadRunner 出现超时错误:

1. 从“控制器”转到“运行时设置”–>“浏览器模拟”选项卡 –>“高级”

2. 将默认的超时设置(应为 3)更改为小于或等于 1000 的数字3. 单击“确定”

4. 转至“工具”–>“选项”–>“超时”选项卡5. 将负载生成器和 VU 超时参数更改为小于或等于 1000 的数字6. 单击“确定”

如果希望实现某项功能(如上载)所需的时间大于 1,000 秒,则可以利用以下步骤来避免出现 HP LoadRunner 超时错误:

1. 修改 LoadRunner\template\qtweb\default.cfg。插入以下内容:

5=“T_EDIT_NUM;Web;ConnectTimeout;Connect timeout (seconds);出错前虚拟用户等待连接到服务器所花费的最长时间(以秒为单位)。;1;120;<0;10000>”

6=“T_EDIT_NUM;Web;ReceiveTimeout;Receive timeout (seconds);出错前虚拟用户等待从服务器接收消息所花费的最长时间(以秒为单位)。;1;120;<0;10000>”

7=“T_EDIT_NUM;Web;NetBufSize;Network buffer size;设置虚拟用户可以使用的网络缓冲区的最大容量。默认值 12288 个字节。;1;12288;<0;100000>”

8=“T_COMBOBOX;Web;CacheAlwaysCheckForNewerPages;高速缓存模拟总是会检查新的页面;;1;Yes;<Yes;No>”

9=“T_EDIT_NUM;Web;PageDownloadTimeout;页面下载超时(以秒为单位);;1;120;<0;32000>”

3. 利用以上的步骤 1-6 来更改控制器 GUI 参数。

扩展后的日志代码

该代码打开跟踪,以扩展模式回放脚本的指定部分,而不以该模式回放整个脚本。这样就大大缩短了回放时间。

// TURN FULL TRACE ON

lr_set_debug_message(LR_MSG_CLASS_EXTENDED_LOG | LR_MSG_CLASS_FULL_TRACE |

LR_MSG_CLASS_RESULT_DATA | LR_MSG_CLASS_PARAMETERS, LR_MSG_ON);

[web]

ReceiveTimeout=10000

web_reg_save_param(“EMPLID”,“LB/IC=’PSEDITBOX_DISPONLY’ >”,“RB/IC=<”,“Ord=4”,“Search=body”,LAST);

2. 修改 LoadRunner\dat\WebAdvancedOpt.txt。更改为:

// TURN FULL TRACE OF

lr_set_debug_message(LR_MSG_CLASS_EXTENDED_LOG |

[LIST]

1=“T_COMBOBOX;Web;EnableIPCache;DNS caching;将主机的 IP 地址保存到高速缓存中,以节省随后对该主机进行呼叫所需的时间。;1;Yes;<Yes;No>”

2=“T_COMBOBOX;Web;HTTPVer;HTTP version;指明应用所采用的 HTTP 版本。Select version 1.0 or 1.1.;1;1.1;<1.0;1.1>”3=“T_COMBOBOX;Web;KeepAlive;Keep-Alive HTTP connections;允许持续的 HTTP 连接,以通过同一 TCP 连接发送多个请求。;1;Yes;<Yes;No>”

4=“T_EDIT_NUM;Web;MaxConnections;Concurent connections limit;设置在脚本执行期间虚拟用户可以维护的并发活动连接的最大数目;1;4;<0;10>”

LR_MSG_CLASS_FULL_TRACE |

LR_MSG_CLASS_RESULT_DATA | LR_MSG_CLASS_PARAMETERS, LR_MSG_OFF);

11

详情请访问 .cn/software

或拨打支持热线:800-820-2255 转 126

? 版权所有 2007 Hewlett-Packard Development Company, L.P. 本文中包含的信息如有更改,恕不另行通知。随 HP 产品和服务提供的明示性担保声明中列出了适用于该 HP 产品及服务的专用担保条款。本文中的任何内容均不构成额外的担保。HP 对本文中的技术或编辑错误及缺漏不负任何责任。

4AA1-2107EEW,2007 年 5 月

更多相关推荐:
Loadrunner使用测试实验报告

一实验目的熟悉LoadRunner的使用并对网站进行并发测试得到性能指标二实验内容1题目内容描述题目一LoadRunner的使用熟悉LoadRunner的界面掌握LoadRunner进行性能测试的测试流程题目二...

loadrunner测试,200个不同用户登陆的报告模板

200个不同用户登陆结果分析Loadrunner测试结果分析如下1AnalysisSummary场景摘要结果及分析如下Secenarioname场景名称Resultsinsession场景运行的结果目录Dura...

loadrunner压力测试报告

压力测试报告XXXX性能测试报告第2页拟制PreparedBy审核ReviewedBy日期Date日期DateXXXX性能测试报告第3页目录第1章第2章第3章3132第4章4142第5章第6章系统概述4方案设计...

loadrunner性能测试报告A

软件测试性能测试报告百度网站访问性能测试班级XX姓名XX学号XX指导老师XX20xx年6月2日键入文字软件测试性能测试报告键入文字目录1概述311目的312背景313范围32测试概要321测试环境322人力资源...

LoadRunner性能测试报告

xxx系统性能测试报告姓名班级学号目录1前言32被测系统定义321功能简介322性能测试指标33系统结构及流程431系统总体结构432功能模块433业务流程534关键点描述535性能测试环境54性能测试641性...

loadrunner测试_200个不同用户登陆的报告模板

200个不同用户登陆结果分析Loadrunner测试结果分析如下1Summary场景摘要结果及分析如下Secenarioname场景名称Resultsinsession场景运行的结果目录Duration场景运行...

loadrunner模拟笔试题目0519

软件性能测试模拟笔试题目一注本试卷中题目所涉及性能测试工具如无特殊说明则均为LoadRunner一填空题11515分1软件性能测试的目的是为了2常见的性能测试策略有答案基准测试并发测试在线测试场景测试负载测试疲...

loadrunner接口测试使用说明

本文档是基于java结合loadrunner115破解版对系统中http接口测试的简要说明以下提到的loadrunner均是指loadrunner115破解版一loadrunner的许可证1golba65000...

软件工具大作业—压力测试工具loadrunner的使用

压力测试工具loadrunner的使用摘要随着计算机软件工程的飞速发展和广泛应用软件性能已经成为和软件功能同样重要的用户考虑因素性能测试已经成为软件开发过程中必不可少的一个重要环节本文就当今业界广泛使用的压力测...

Loadrunner性能测试一个实例

随着测试越来越重要其中的性能测试也受到越来越多的关注比较普遍的性能测试工具是Loadrunner751但是很多人对此性能工具不是很熟悉本人也是总结心得体会将做过的性能测试实例以饷大家希望对各位做测试的朋友有所帮...

Loadrunner性能测试实施 大纲

Loadrunner性能测试实施计划书1Loadrunner性能测试简介简单介绍一下loadrunner工具的运行原理2Loadrunner性能测试的目的从性能测试出发详细描述一下性能测试能为web系统提供那些...

Loadrunner性能测试一个实例

随着测试越来越重要其中的性能测试也受到越来越多的关注比较普遍的性能测试工具是Loadrunner751但是很多人对此性能工具不是很熟悉本人也是总结心得体会将做过的性能测试实例以饷大家希望对各位做测试的朋友有所帮...

loadrunner测试报告(12篇)