后端性能测试工具首先通过虚拟用户脚本生成器生成基于协议的虚拟用户脚本,然后根据性能测试场景设计的要求,通过压力控制器控制协调各个压力产生器以并发的方式执行虚拟用户脚本,并且在测试执行过程中,通过系统监控器收集各种性能指标以及系统资源占用率,最后通过测试结果分析器展示测试结果数据。
从宏观角度来讲,完成企业级性能测试,可以划分为五个阶段:
无论是进行什么类型的测试,第一步工作都是要根据测试目的明确测试的具体需求。一般情况下,企业级后端性能测试的具体需求,主要包含以下内容:
完成这些点的测试,只要按照已经明确的需求,开发后续的测试脚本、设计性能测试场景就可以了。但是,如果想要成长为更资深的性能测试工程师,或者已经是性能测试的设计者、资深的性能测试工程师,就需要全程参与到这些需求的获取和确定中。
获取这些测试需求是性能测试中最难的两个工作之一;另一个最难的工作是,测试结果分析与性能问题定位。而其他类似性能测试脚本开发、场景设计等工作看起来很有技术含量,但实际都是一些相对机械性的重复工作。
因为绝大多数情况下没有明确告知具体的性能需求。对于功能测试来说,如果需求不明确,可以直接求助于产品经理。
对于性能测试需求而言,产品经理通常无法准确告知用户的各个业务操作所占的百分比,也无法告知准确的用户行为模式。产品经理能做的,往往是给出定性描述,然后需要测试人员去计算或者根据过往经验得到具体的定量需求。
另外,在得到负载模型以后,性能测试设计人员往往还会在此基础上加入一定的负载冗余,比如在峰值的基础上再额外放大20%,以增强系统上线后稳定运行的信心。
通过上面这个分析过程可以认识到,性能测试需求的定义与计划非常复杂,牵涉到项目的方方面面,需要不断地沉淀在实战中获得的经验。
制订了性能测试计划后,接下来需要根据性能计划中涉及的用户业务操作来开发性能测试的脚本。
从整体角度来看,开发虚拟用户脚本主要包括以下四个步骤:
四、创建并定义性能测试场景
五、执行性能测试场景
性能测试报告的分析,是一项技术含量非常高的工作,优秀的性能测试工程,通过报告中的数值以及数值之间的相互关系,就能判断出系统中可能存在的问题。性能测试报告的解读,需要丰富的系统架构、性能理论以及大量实战经验的积累。
参考:
「极客时间」-《软体测试52讲》-《第32讲 | 无实例无真相:基于LoadRunner实现企业级伺服器端性能测试的实践(上)》 - 2018-09-10 茹炳晟
「极客时间」-《软体测试52讲》-《第33讲 | 无实例无真相:基于LoadRunner实现企业级伺服器端性能测试的实践(下)》 - 2018-09-12 茹炳晟
推荐阅读: