B.2.2 第1步:需求分析
从所有利益相关者那里收集性能需求。需要这些信息去成功创建项目计划或工作说明书(SOW)。
·为性能测试设定一个截止日期,规划部署的时间也要算进去。
·确定执行测试的资源来自外部还是内部。
·在测试环境的设计上达成一致。(搭建一个合适的测试环境所需的时间会比预想的要多很多。)
·在每一个测试周期之内,确保将测试环境中的程序代码冻结。
·确保测试环境不会受到其他用户操作的影响。
·所有性能目标都要得到合适的商业合作伙伴的验证和认同。
·应用程序所有关键事务已经被识别、记录并准备录制。
·事务的哪些部分应该被单独监控?(比如“检查点(Checkpoint)”)
·识别所选事务进行的输入、目标以及运行时数据需求。确保自己能够在测试项目时间进度范围内创建足够的准确的测试数据,同时还要注意数据的安全性和保密性。
·确定性能测试的次数、类型和事务内容以及虚拟用户配置等。还要为每一个事务的部署确定思考时间、步帧以及负载注入策略。
·验证并记录服务器、应用服务器以及网络KPI。
·比较测试结果与预期性能目标之间的差异,验证性能测试的可交付性。
·制定一个向开发人员或者软件厂商提交在测试环节中发现的软件缺陷的流程。
·确定是否拥有一个专业的性能测试团队?根据项目规模的不同,应该至少有一个项目经理和足够的测试人员(几乎不会超过2个)。参见图B-1。
·确保团队拥有执行一个有效性能测试所需的工具和资源。
·确保所有的团队成员都充分地接受了有关测试工具使用的培训。
图 B-1 性能测试团队结构实例
在这种情况下,继续以下工作:
·基于这些需求,创建一个大致的测试计划,包含资源。时间点和里程碑。
·创建一个更详细的测试计划,包括所有相关的时间点,具体的场景和测试用例,工作量和环境信息。
·包含在性能测试执行过程中出现意外情况而额外增加测试的时间,以及解决所发现的性能问题的解决时间。
·包含测试未能按计划进行或未能达到性能目标的风险评估。
当以上准备工作完成时,您可以继续以下步骤。并非所有提到的工作都与测试需求相关,但是它们之间的执行顺序是很重要的。(参考附录E中一个简单的微软项目测试计划。)