性能测试方案需包含测试测试需求分析、测试资源准备、测试风险、测试执行策略、测试报告输出这几个关键点:
测试需求分析:测试中涉及的测试目的、测试指标、测试对象的分析定义。
测试资源准备:测试中涉及的测试环境、测试工具、测试数据、测试桩、测试人员&周期的分析准备。
测试风险分析:测试中涉及的环境风险、人力风险、技术风险的分析定义。
测试执行策略:测试中涉及的测试类型、测试用例、测试轮次的分析定义。
性能测试报告:测试中涉及的测试结果分析,并输出测试进度报告和测试结论报告的规范定义。
1. 测试需求分析
1)测试目标
测试目标需要清晰明确,没有歧义,主要分为业务或系统两方面的促进/改善:
业务改善:
新业务上线,验证能够满足上线指标
验证改进后的业务性能效果(需与以往测试结果进行比对)
系统改善:
验证系统是否存在明显的性能瓶颈
验证系统稳定性
验证改进后的系统性能效果(需与以往测试结果进行比对)
至于如何界定性能测试的结果满足预定的目标,一般有如下几个标准:
新上线的测试系统没有明确的数字标准比对情况下,被测试系统已经被测试到了系统极限(系统的某些资源已经耗尽,cpu、句柄、内存、数据库出现大量的slow query,系统有些处理已经变慢),并且系统被证明是可以水平扩展的,则可以上线。
有以往测试结果进行比对,只要证明类似的测试条件下,此次的结果比以往的测试结果更好即可(每秒处理个数更多、单次请求的处理速度更快)。
没有可以比较的测试结果,但是产品已经上线一段时间(至少3个月),有一些运营数据,则需要分析运营的数据来作为比对的基准,只要被测系统达到3个月内系统并发峰值的 4 倍(经验值)则认为是可以接受的(如果是以接口为测试对象,则需要混合主要的接口来进行性能测试)。
运营、开发人员提供经验值作为比对的基准,则被测对象只要证明满足开发人员提出的经验值即可。
2)测试指标分析
关键指标
性能测试指标要可测量,定量指标给出具体数值,定性指标给出具体描述。一般分为业务指标和系统指标两方面