测试动态 / 测试知识 / 软件性能测试工具LoadRunner使用教程:性能测试脚本增强策略
软件性能测试工具LoadRunner使用教程:性能测试脚本增强策略
2025-11-17 作者:cwb 浏览次数:2

性能测试时,录制完成的脚本往往只是一个起点。要让脚本真正模拟出真实用户行为并获取有价值的性能数据,脚本增强是重要步骤。


脚本增强主要技术

在LoadRunner中,脚本增强主要通过VuGen(Virtual User Generator)完成,主要包括以下几个主要方面:

参数化:避免缓存,模拟不同用户数据。使用数据文件,设置更新方法(如每次迭代)。

插入检查点:验证结果正确性,判断事务成败。在请求前使用web_reg_find注册检查点。

关联:处理服务器返回的动态数据。用web_reg_save_param捕获动态值,后续请求中使用参数。

插入事务:测量特定操作集的响应时间。使用lr_start_transaction和lr_end_transaction,务必成对出现。

设置思考时间:模拟用户真实操作间隔,影响吞吐量。使用lr_think_time函数,事务内避免包含思考时间。


详细操作指南

1. 参数化

参数化是使用参数来替换脚本中的常量值,模拟不同用户使用不同数据的行为。

操作步骤:在VuGen中选中要替换的常量值,右键创建参数并选择参数类型(如File),然后准备数据文件并设置参数属性(如更新方法)。

示例:登录用户名和密码的参数化。


c

// 参数化后的登录代码

web_submit_data("Login",

    "Action=http://example.com/login",

    "Method=POST",

    ITEMDATA,

    "Name=username", "Value={Username}", ENDITEM,  // 使用参数

    "Name=password", "Value={Password}", ENDITEM,  // 使用参数

    LAST);


2. 插入检查点

检查点通过验证响应内容中是否存在特定文本来判断请求是否成功。

操作步骤:在HTTP请求之前插入web_reg_find函数,并设置要查找的文本和用于存储匹配次数的参数。


示例:检查登录后页面是否包含"欢迎回来"字样。


c

// 在请求前注册检查点

web_reg_find("Text=欢迎回来",

             "SaveCount=LoginSuccess", // 保存匹配次数的参数

             LAST);


// 接下来是具体的请求,如web_url等


// 请求后根据检查点结果判断

if (atoi(lr_eval_string("{LoginSuccess}")) > 0) {

    lr_output_message("登录成功");

} else {

    lr_error_message("登录失败");

}

3. 关联

关联用于处理服务器返回的动态变化的值(如SessionID、Token),将其捕获并在后续请求中使用。

操作步骤:使用关联函数(如web_reg_save_param)在动态数据出现的请求前注册,定义左右边界以精确定位,后续请求中使用捕获到的参数值。

示例:处理异步任务的完成状态检查。


c

int num = 0;

do {

    // 在请求前注册关联函数,捕获状态值

    web_reg_save_param("status_success",

        "LB=<string>success</string><long>",

        "RB=</long>",

        "NotFound=WARNING",

        "Search=Body",

        LAST);

    

    // 这是检查任务状态的请求

    web_custom_request("xmlhttp",

        "URL=http://192.168.25.22/test/xmlhttp?bid=addTaskDAO",

        "Method=POST",

        ... // 其他部分省略

        );

    num = num + 1;

    lr_think_time(1); // 每次检查后等待1秒

} while((strcmp( lr_eval_string("{status_success}"), "1" ) != 0) && (num < 61)); // 循环直到成功或超时


4. 插入事务

事务用于衡量一个或多个操作(即一个业务过程)的响应时间。


操作要点:

事务的开始(lr_start_transaction)和结束(lr_end_transaction)必须成对出现,且名称一致。

事务内部不应包含思考时间(lr_think_time),以确保测量的响应时间准确排除了人为等待。


示例:测量用户登录这个事务的响应时间。

c

lr_start_transaction("登录事务"); // 事务开始

// 登录操作的相关请求,如web_submit_data等

web_submit_data("Login", ...);

lr_end_transaction("登录事务", LR_AUTO); // 事务结束,LR_AUTO表示自动判断结果


5. 设置思考时间

思考时间模拟真实用户在操作之间的停顿,对吞吐量和并发数有显著影响。


设置方法:

在脚本中直接使用lr_think_time(秒数)函数。

在运行时设置(Run-Time Settings) 中灵活配置思考时间的行为:

忽略思考时间(Ignore think time):用于压测系统极限性能。

按录制时间回放(As recorded):严格按录制时的停顿执行。

使用随机百分比(Use random percentage):设置一个范围(如50%到150%),更真实地模拟用户差异。

注意:思考时间应放在事务之外,避免影响事务响应时间的准确性。


保持脚本简洁有效:只录制和增强与测试目标相关的必要请求,移除冗余操作。

善用注释:在脚本的关键部分添加注释,便于后期维护和团队协作。

版本控制:对性能测试脚本使用版本控制工具进行管理。

文章标签: 测试工具 软件应用性能测试 应用性能测试 接口性能测试 软件性能测试 性能测试 软件测试
热门标签 换一换
数据库测试 H5应用测试 软件质检机构 第三方质检机构 第三方权威质检机构 信创测评机构 信息技术应用创新测评机构 信创测试 软件信创测试 软件系统第三方测试 软件系统测试 软件测试标准 工业软件测试 软件应用性能测试 应用性能测试 可用性测试 软件可用性测试 软件可靠性测试 可靠性测试 系统应用测试 软件系统应用测试 软件应用测试 软件负载测试 API自动化测试 软件结题测试 软件结题测试报告 软件登记测试 软件登记测试报告 软件测试中心 第三方软件测试中心 应用测试 第三方应用测试 软件测试需求 软件检测报告定制 软件测试外包公司 第三方软件检测报告厂家 CMA资质 软件产品登记测试 软件产品登记 软件登记 CNAS资质 cma检测范围 cma检测报告 软件评审 软件项目评审 软件项目测试报告书 软件项目验收 软件质量测试报告书 软件项目验收测试 软件验收测试 软件测试机构 软件检验 软件检验检测 WEB应用测试 API接口测试 接口性能测试 第三方系统测试 第三方网站系统测试 数据库系统检测 第三方数据库检测 第三方数据库系统检测 第三方软件评估 课题认证 第三方课题认证 小程序测试 app测试 区块链业务逻辑 智能合约代码安全 区块链 区块链智能合约 软件数据库测试 第三方数据库测试 第三方软件数据库测试 软件第三方测试 软件第三方测试方案 软件测试报告内容 网站测试报告 网站测试总结报告 信息系统测试报告 信息系统评估报告 信息系统测评 语言模型安全 语言模型测试 软件报告书 软件测评报告书 第三方软件测评报告 检测报告厂家 软件检测报告厂家 第三方网站检测 第三方网站测评 第三方网站测试 检测报告 软件检测流程 软件检测报告 第三方软件检测 第三方软件检测机构 第三方检测机构 软件产品确认测试 软件功能性测试 功能性测试 软件崩溃 稳定性测试 API测试 API安全测试 网站测试测评 敏感数据泄露测试 敏感数据泄露 敏感数据泄露测试防护 课题软件交付 科研经费申请 软件网站系统竞赛 竞赛CMA资质补办通道 中学生软件网站系统CMA资质 大学生软件网站系统CMA资质 科研软件课题cma检测报告 科研软件课题cma检测 国家级科研软件CMA检测 科研软件课题 国家级科研软件 web测评 网站测试 网站测评 第三方软件验收公司 第三方软件验收 软件测试选题 软件测试课题是什么 软件测试课题研究报告 软件科研项目测评报告 软件科研项目测评内容 软件科研项目测评 长沙第三方软件测评中心 长沙第三方软件测评公司 长沙第三方软件测评机构 软件科研结项强制清单 软件课题验收 软件申报课题 数据脱敏 数据脱敏传输规范 远程测试实操指南 远程测试 易用性专业测试 软件易用性 政府企业软件采购验收 OA系统CMA软件测评 ERP系统CMA软件测评 CMA检测报告的法律价值 代码原创性 软件著作登记 软件著作权登记 教育APP备案 教育APP 信息化软件项目测评 信息化软件项目 校园软件项目验收标准 智慧软件项目 智慧校园软件项目 CSRF漏洞自动化测试 漏洞自动化测试 CSRF漏洞 反序列化漏洞测试 反序列化漏洞原理 反序列化漏洞 命令执行 命令注入 漏洞检测 文件上传漏洞 身份验证 出具CMA测试报告 cma资质认证 软件验收流程 软件招标文件 软件开发招标 卓码软件测评 WEB安全测试 漏洞挖掘 身份验证漏洞 测评网站并发压力 测评门户网站 Web软件测评 XSS跨站脚本 XSS跨站 C/S软件测评 B/S软件测评 渗透测试 网站安全 网络安全 WEB安全 并发压力测试 常见系统验收单 CRM系统验收 ERP系统验收 OA系统验收 软件项目招投 软件项目 软件投标 软件招标 软件验收 App兼容性测试 CNAS软件检测 CNAS软件检测资质 软件检测 软件检测排名 软件检测机构排名 Web安全测试 Web安全 Web兼容性测试 兼容性测试 web测试 黑盒测试 白盒测试 负载测试 软件易用性测试 软件测试用例 软件性能测试 科技项目验收测试 首版次软件 软件鉴定测试 软件渗透测试 软件安全测试 第三方软件测试报告 软件第三方测试报告 第三方软件测评机构 湖南软件测评公司 软件测评中心 软件第三方测试机构 软件安全测试报告 第三方软件测试公司 第三方软件测试机构 CMA软件测试 CNAS软件测试 第三方软件测试 移动app测试 软件确认测试 软件测评 第三方软件测评 软件测试公司 软件测试报告 跨浏览器测试 软件更新 行业资讯 软件测评机构 大数据测试 测试环境 网站优化 功能测试 APP测试 软件兼容测试 安全测评 第三方测试 测试工具 软件测试 验收测试 系统测试 测试外包 压力测试 测试平台 bug管理 性能测试 测试报告 测试框架 CNAS认可 CMA认证 自动化测试
专业测试,找专业团队,请联系我们!
咨询软件测试 400-607-0568