1.4性能测试执行时机
当今的互联网产品市场需要争分夺秒,机会转瞬即逝,产品的版本迭代速度非常快,而性能测试不同于功能测试,性能测试的耗时较久。另外,考虑性能测试的特殊性,没有必要每个版本迭代都做性能测试。所以作者根据版本号结合一些原则制定了性能测试的执行时机,具体如下。
(1)新产品或主版本必须执行性能测试的负载测试和稳定性测试,原则上需覆盖所有业务和接口,必要时,经项目组和测试组综合评估,部分业务和接口可不覆盖。
(2)在两个主版本之间或新产品和主版本之间,必要时,由项目组和测试组综合评估,选择合适的版本(含前一个主版本)完成压力测试、基准测试、可靠性测试和并发测试等各种性能测试,以此来检验项目的综合性能情况。性能测试的通过标准为无致命、严重问题(无内存泄漏、无表死锁、无线程死锁、无日志错误)。
(3)在两个主版本之间或新产品和主版本之间,对于一些关键节点版本、重要运营推广活动节点版本等需要开展负载测试和稳定性测试,原则上需覆盖所有业务和接口,必要时,经项目组和测试组综合评估,部分业务和接口可不覆盖。在两个主版本之间或新产品和主版本之间,至少有一个版本执行上述过程。
1.5性能测试通用标准
性能测试没有一个绝对的标准,不同的业务形态、不同的用户数量、不同的系统架构等都会有不一样的性能要求。但是在项目日常迭代中,性能测试执行结果还是需要制定一些标准,以便在相同的环境下,更加直观地判断性能测试异常现象。作者从服务器资源指标、业务指标、数据库指标和JVM指标这4个维度定义了性能测试中需要重点观察的指标项和标准,供读者参考,如表1-7所示。其中,业务指标大家可以根据业务形态进一步细分,例如支付类的业务响应时间要求是多少,査询商品类的业务响应时间是多少等。另外,业务的TPS处理的波动性其实也是很有必要的,可以考虑新增指标,若波动很大,则明显是有性能问题的。
表1-7性能测试中需要重点观察的指标项和标准
1.6小结