进行任何性能测试之前,都需要制定一份详尽的测试计划,从业务角度到技术角度详细地说明性能测试将如何进行。一份性能测试计划应该至少包含以下方面:
总体方法
依据与基本假定
性能测试前的操作
性能测试方法
性能测试操作
业务范围内的过程
业务范围外的过程
性能测试方案
性能测试的执行
性能测试指标
和任何测试计划一样,这份性能测试计划的文字要做到尽量精简,可以使用列表清晰明确地将信息表达出来。这将减少因为沟通问题产生的误解。
总体方法
这一部分是指用非技术性术语将性能测试的总体方法描述出来。目标受众是管理部门与业务部门。样例如下:
“此性能测试方法主要用来对新部署的系统所支持的业务过程进行测试。通过部署这次性能测试,我们将:
以减少这次新部署所带来的性能问题为主要目的。
做出基本的运行假定,确定部署中需要进行性能测试的部分。
就这些假定取得一致意见,决定性能与压力测试的适当等级,并在有限的任务时间内完成。
这份文件是即时更新的。随着我们收集到越来越多的信息,并就适当的性能测试方法达成一致协议时,将再次更新这份文件。”
依据与基本假定
在这一部分中,要清晰地描述测试前必须满足的依据(必须完成的任务)与基本假定(测试时假定为真)。样例如下:
“继续部署任何性能测试之前,必须满足以下条件:
要进行性能测试的组件必须能完全正常运行。
要进行性能测试的组件要安装在可以代表(或按比例可调的)预期的生产系统的硬件或固件中。
数据存储库要能代表(或按比例可调)预期的生产系统。
有确定的性能测试目标,包括运行情况的假定与测试方案。
安装好性能测试工具并提供所需的技术支持。”
性能测试前的操作
这部分要清楚地说明在正式进行性能测试之前为确定系统已经就绪而进行的预测试操作。相当于功能测试中的烟雾测试(smoke testing)。样例如:
“为减少性能测试中的风险,可以进行几项预测试操作:
在质量保证测试环境下利用‘桩(stub)’或‘实用程序(utilities)’测试事务处理能力,即投影最大负载(projected peak loads)。
用‘桩’或‘实用程序’代替无需测试或只需进行有限测试的B2B类事务。这将取消任何关于B2B事务的依据。
用‘桩’或‘实用程序’代替性能测试中无法使用的内部组件。这将移除所有关于此类组件的依据。
在所有大规模服务器上部署合适的性能监控器。”
依据与基本假定
在这一部分中,要清晰地描述测试前必须满足的依据(必须完成的任务)与基本假定(测试时假定为真)。样例如下:
“继续部署任何性能测试之前,必须满足以下条件:
要进行性能测试的组件必须能完全正常运行。
要进行性能测试的组件要安装在可以代表(或按比例可调的)预期的生产系统的硬件或固件中。
数据存储库要能代表(或按比例可调)预期的生产系统。
有确定的性能测试目标,包括运行情况的假定与测试方案。
安装好性能测试工具并提供所需的技术支持。”