一、性能测试步骤

后端性能测试工具首先通过虚拟用户脚本生成器生成基于协议的虚拟用户脚本,然后根据性能测试场景设计的要求,通过压力控制器控制协调各个压力产生器以并发的方式执行虚拟用户脚本,并且在测试执行过程中,通过系统监控器收集各种性能指标以及系统资源占用率,最后通过测试结果分析器展示测试结果数据。

从宏观角度来讲,完成企业级性能测试,可以划分为五个阶段:

  1. 性能需求收集以及负载计划制定;
  2. 录制并增强虚拟用户脚本;
  3. 创建并定义性能测试场景;
  4. 执行性能测试场景;
  5. 分析测试报告。

二、性能需求收集以及负载计划制定

无论是进行什么类型的测试,第一步工作都是要根据测试目的明确测试的具体需求。一般情况下,企业级后端性能测试的具体需求,主要包含以下内容:

  • 系统整体的并发用户数;比如,高峰时段会有10万用户同时在线。
  • 并发用户业务操作的分布情况;比如,20%的用户在做登录操作,30%的用户在做订单操作,其他50%的用户在做搜索操作。
  • 单一业务操作的用户行为模式;比如,两个操作之间的典型停留时间,完成同一业务的不同操作路径等。
  • 并发用户高峰期的时间分布规律;比如,早上8点会有大量用户登录系统,晚上6点后用户逐渐退出。
  • 达到最高峰负载的时间长度;比如,并发用户从0增长到10万花费的总时间。

完成这些点的测试,只要按照已经明确的需求,开发后续的测试脚本、设计性能测试场景就可以了。但是,如果想要成长为更资深的性能测试工程师,或者已经是性能测试的设计者、资深的性能测试工程师,就需要全程参与到这些需求的获取和确定中。

获取这些测试需求是性能测试中最难的两个工作之一;另一个最难的工作是,测试结果分析与性能问题定位。而其他类似性能测试脚本开发、场景设计等工作看起来很有技术含量,但实际都是一些相对机械性的重复工作。

因为绝大多数情况下没有明确告知具体的性能需求。对于功能测试来说,如果需求不明确,可以直接求助于产品经理。

对于性能测试需求而言,产品经理通常无法准确告知用户的各个业务操作所占的百分比,也无法告知准确的用户行为模式。产品经理能做的,往往是给出定性描述,然后需要测试人员去计算或者根据过往经验得到具体的定量需求。

另外,在得到负载模型以后,性能测试设计人员往往还会在此基础上加入一定的负载冗余,比如在峰值的基础上再额外放大20%,以增强系统上线后稳定运行的信心。

通过上面这个分析过程可以认识到,性能测试需求的定义与计划非常复杂,牵涉到项目的方方面面,需要不断地沉淀在实战中获得的经验。

三、录制并增强虚拟用户脚本

制订了性能测试计划后,接下来需要根据性能计划中涉及的用户业务操作来开发性能测试的脚本。

从整体角度来看,开发虚拟用户脚本主要包括以下四个步骤:

  1. 识别被测应用使用的协议;
  2. 录制脚本;
  3. 完善录制得到的脚本;
  4. 验证脚本的正确性。

四、创建并定义性能测试场景

五、执行性能测试场景

六、分析测试报告

性能测试报告的分析,是一项技术含量非常高的工作,优秀的性能测试工程,通过报告中的数值以及数值之间的相互关系,就能判断出系统中可能存在的问题。性能测试报告的解读,需要丰富的系统架构、性能理论以及大量实战经验的积累。


参考:

「极客时间」-《软体测试52讲》-《第32讲 | 无实例无真相:基于LoadRunner实现企业级伺服器端性能测试的实践(上)》 - 2018-09-10 茹炳晟

「极客时间」-《软体测试52讲》-《第33讲 | 无实例无真相:基于LoadRunner实现企业级伺服器端性能测试的实践(下)》 - 2018-09-12 茹炳晟

推荐阅读:

相关文章