LoadRunner 的基本原理
后端性能测试工具首先通过虚拟用户脚本生成器生成基于协议的虚拟用户脚本,然后根据性能测试场景设计的要求,通过压力控制器控制协调各个压力产生器以并发的方式执行虚拟用户脚本,并且在测试执行过程中,通过系统监控器收集各种性能指标以及系统资源占用率,最后通过测试结果分析器展示测试结果数据。
在 LoadRunner 中,Virtual UserGenerator 对应的就是虚拟用户脚本生成器,Controller对应的就是压力控制器和系统监控器,Load Generator 对应的就是压力产生器,Analysis 对应的就是测试结果分析器。
LoadRunner 的主要模块
第一,Virtual User Generator
Virtual User Generator,用于生成模拟用户行为的测试脚本,生成的手段主要是基于协议的录制,也就是由性能测试脚本开发人员在通过 GUI 执行业务操作的同时,录制客户端和服务器之间的通信协议,并最终转化为代码化的 LoadRunner 的虚拟用户脚本。
第二,LoadRunner Controller
Controller 相当于性能测试执行的控制管理中心,负责控制 Load Generator 产生测试负载,以执行预先设定好的性能测试场景;同时,它还负责收集各类监控数据。
第三,LoadRunner Analysis
Analysis 是 LoadRunner 中一个强大的分析插件。它不仅能图形化展示测试过程中收集的数据,还能很方便地对多个指标做关联分析,找出它们之间的因果关系。它最根本的目的就是,分析出系统可能的性能瓶颈点以及潜在的性能问题。
基于 LoadRunner 完成企业级性能测试的五个阶段:
阶段 1:性能需求收集以及负载计划制定
一般情况下,企业级后端性能测试的具体需求,主要包含以下内容:
-
系统整体的并发用户数。比如,高峰时段会有 10 万用户同时在线;
-
并发用户业务操作的分布情况。比如,20% 的用户在做登录操作,30% 的用户在做订单操作,其他 50% 的用户在做搜索操作;
-
单一业务操作的用户行为模式。比如,两个操作之间的典型停留时间,完成同一业务的不同操作路径等;
-
并发用户高峰期的时间分布规律。比如,早上 8 点会有大量用户登录系统,晚上 6 点后用户逐渐退出;
-
达到最高峰负载的时间长度。比如,并发用户从 0 增长到 10 万花费的总时间;
-
…
获取这些测试需求时性能测试中最难的两个工作之一。因为绝大多数情况下没人会明确告诉你具体的性能需求。
性能测试需求的定义与计划非常复杂,牵涉到项目的方方面面,不可能通过阅读一两篇文章就快速掌握这一技能,需要不断地沉淀在实战中获得的经验。
来源于 极客时间 茹炳晟 软件测试52讲