性能测试场景的重要程度类似于业务测试的 case,case 是你进行业务测试的指引,case 是否完善也直接决定了测试的覆盖率。同理,场景是传递执行性能测试的步骤和目的,关于这两点是你一定要清楚的。
首先认识下最重要的三个性能场景:基准场景、单接口负载场景、混合场景负载测试,这几个场景也是经常说的“基石场景”。接下来讲解这三个场景是怎么操作,以及核心目的是什么?
基准场景
基准场景是指单线程或者少量线程(一般在 5 个线程以下)对单接口进行测试,然后将测试结果作为基准数据,在系统调优或者评估的过程中,通过运行相同的业务接口比较测试结果,为系统的优化以及后续测试流程提供决策数据。
有人觉得基准测试并不是在高并发下进行的,不算是性能测试,但我认为这其实是性能测试中重要的基础步骤,它有以下作用:
- 验证测试脚本及测试参数的正确性,同时也可以验证脚本数据是否能够支持重复性测试等;
- 通过少量线程访问系统获取结果数据,作为对比参考基准;
- 根据测试结果,初步判断可能成为系统瓶颈的场景,并决定是否进行后续的测试;
- 基准场景的结果被一部分公司作为上线的基线指标,不达到要求是不允许上线的,这样的场景也经常被固化成自动化的脚本定时触发和巡检。
单接口负载场景
单接口负载场景就是通过模拟多线程对单接口进行负载测试。我的具体做法是选定线程数后持续循环运行一定时间,比如分别运行 100