测试动态 / 测试知识 / 软件测试工具LoadRunner三大组件(VuGen、Controller、Analysis)详解
软件测试工具LoadRunner三大组件(VuGen、Controller、Analysis)详解
2025-12-01 作者:cwb 浏览次数:22

LoadRunner是一款业界领先的自动化负载测试工具,用来预测系统行为和性能。通过模拟成千上万的用户来对系统施加压力,从而发现性能瓶颈。这一切都是通过其三大组件协同完成的。

这三大组件分别是:Virtual User Generator (VuGen)、Controller 和 Analysis。它们分别对应了性能测试的三个主要阶段:脚本开发 -> 场景执行 -> 结果分析。


组件详解 : Virtual User Generator (VuGen) - “虚拟用户脚本生成器”

VuGen的任务是录制和编写虚拟用户(Vuser)脚本,用来模拟真实用户的操作行为。


主要功能

协议选择和录制

协议选择:LoadRunner支持上百种协议(如 HTTP/HTML, Web Services, Oracle, SAP等)。在开始前,必须根据被测系统的技术架构选择正确的协议。这是成功录制脚本的第一步。

录制操作:VuGen通过充当代理的方式,捕获客户端和服务器之间的所有通信。它记录下你的所有操作(点击、输入、导航等),并自动生成对应的脚本代码(默认是C语言)。


脚本增强和调试

录制生成的原始脚本非常脆弱,无法模拟真实的用户负载。因此必须对其进行增强。

事务(Transactions):

目的:衡量服务器的端到端性能。

操作:在关键业务操作(如登录、下单、查询)的开始和结束位置插入 lr_start_transaction 和 lr_end_transaction 函数。LoadRunner 会统计该事务的响应时间、通过率等。

实践:事务应该代表有意义的业务操作,并且其命名应清晰明了。

参数化(Parameterization):

目的:避免所有虚拟用户使用相同的数据,模拟真实世界中不同用户的行为。

操作:将脚本中的常量(如用户名、密码、搜索关键词)替换为参数。这些参数可以从文件、数据库或其他数据源中获取。

概念:需要设置参数的更新方式和取值顺序(如:每个用户唯一、每次迭代更新、顺序读取等)。

关联(Correlation):

目的:处理服务器返回的动态值(如 Session ID、Token、时间戳)。这些值每次会话都不同,如果脚本中直接使用录制的硬编码值,回放时必定失败。

操作:使用 VuGen 的“扫描关联”功能或手动编写代码,捕获服务器响应中的动态值,并将其保存到一个参数中,后续请求则使用这个参数来替代。

技术实现:通常使用 web_reg_save_param 等注册函数在请求之前捕获动态值。

检查点(Checkpoints):

目的:验证请求是否成功完成,而不仅仅是服务器返回了 HTTP 200 状态码。

操作:使用 web_reg_find 或 web_find 函数在服务器响应中搜索特定的文本或图片。如果找不到,则意味着业务操作可能失败。

集合点(Rendezvous):

目的:模拟瞬间的并发用户压力。

操作:在脚本的特定位置(如提交订单前)插入lr_rendezvous函数。当大量Vuser运行到这个点时,会暂停并等待,直到达到Controller中设置的释放条件后同时发起请求。

思考时间(Think Time):

目的:模拟真实用户在操作之间的停顿时间。

操作:录制时会自动捕获思考时间。在场景执行时,可以在Controller中设置是否忽略思考时间,或者按比例缩放思考时间,以制造更极端的压力。

组件详解:Controller- “负载测试指挥中心”

Controller 是 LoadRunner 的“大脑”,它负责设计、驱动、管理和监控整个负载测试场景。


主要功能

设计场景(Scenario Design)

规划负载:指定使用哪些 VuGen 脚本,以及每个脚本需要运行多少个Vuser。

负载生成器(Load Generators):为了模拟大量用户,单台机器性能不足。Controller可以管理多台负载生成器机器,将Vuser分布到这些机器上共同产生压力。

场景计划(Scenario Schedule):

面向目标场景:设定一个性能目标(如事务响应时间),让LoadRunner自动调整用户数来达到该目标。

手工场景:更常用,可以精确控制负载模式。

初始化:设置Vuser如何初始化。

启动:设置Vuser如何逐步启动(如:每15秒启动2个Vuser)。

持续时间:设置场景运行多长时间。

停止:设置Vuse 如何逐步停止。


运行时监控(Run-Time Monitoring)

实时图表:Controller 提供丰富的实时监控图表,让你在测试运行时就能洞察系统状态。

关键监控指标:

Running Vusers(运行中的虚拟用户数)

Transactions per Second(每秒事务数)

Transaction Response Time(事务响应时间)

Hits per Second(每秒点击量)

Windows Resources(Windows 资源):CPU、内存、磁盘 I/O 等。

Application/Web Server Performance(应用/服务器性能):可以通过SiteScope等工具监控。

Network Delay(网络延迟)


驱动执行

启动、停止、暂停场景,并处理执行过程中的异常。

组件详解: Analysis-“性能诊断专家”

测试执行完毕后,Controller会收集所有raw data(原始数据)。Analysis组件的作用就是将这些零散的数据合并、分析,并生成一份详尽的、图形化的性能测试报告,定位性能瓶颈。


主要功能

数据整合和报告生成

Analysis 会自动将来自 Controller、负载生成器、被监控系统的所有数据整合到一个会话中,并生成一个主图——事务摘要图,让你对测试整体结果一目了然。


深度关联分析

这是 Analysis 最强大的功能。仅仅看单个图表(如响应时间很慢)是找不到根本原因的。

方法:通过合并图表和自动关联功能,可以将不同指标的图表进行叠加关联。


经典案例:

问题:“登录”事务的响应时间在测试进行到 20 分钟时突然变长。


分析:

将 “运行 Vuser”图 和 “平均事务响应时间”图 合并,看响应时间变慢是否和用户数增加有关。

将 “系统资源(如 CPU)”图 和 “平均事务响应时间”图 合并,看响应时间变慢时,服务器的 CPU 使用率是否也达到了 100%。

将 “网络延迟”图 和 “平均事务响应时间”图 合并,看问题是否出在网络层面。

通过这样的层层关联,可以快速将性能问题定位到具体的系统组件(如应用服务器、数据库、网络等)。


丰富的图表和报告

Analysis 提供了数十种预定义的图表,从不同维度展示性能数据。

可以自定义报告内容,并导出为 Word、PDF、HTML 等格式,用于编写专业的性能测试报告。



VuGen 回答了 “模拟什么?”- 它定义了单个用户的行为。

Controller 回答了 “模拟多少?如何模拟?”-它将单个用户行为放大成并发负载,并管理整个测试过程。

Analysis 回答了 “结果如何?瓶颈在哪?”-它将负载测试产生的海量数据转化为有价值的洞察和结论。

文章标签: 软件测试 测试工具 第三方软件测试机构 第三方软件测试公司 软件测试用例 软件测试标准 软件测试中心
热门标签 换一换
数据库测试 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