2.3 制定切合实际的性能指标
通过前面2节的讲述,现在我们来确定在性能测试过程中的测试指标是什么。通常“指标”被看成是性能目标或是服务水平(Service Level Agreement, SLA)。在性能测试过程中应该定义清晰的性能指标,只有这样才能将性能测试的结果跟以往的结果进行对比;否则性能测试就没有意义。
2.3.1 一致性
很关键的一点是保证所有相关人员对这些性能指标的理解保持一致。应用程序对每个群体都会有影响;包括应用程序的用户和高层管理者,所以相关人员必须对性能指标达成共识,否则他们不会认可测试结果。无论是内部测试或是为第三方提供测试服务,这一点都同样重要。
性能测试应该是应用程序生命周期内部管理策略的一部分。以往的测试过程中常常忽视性能测试,或是直到最后阶段才进行,这样的做法与产品的商业部署一致性(性能指标符合度)完全背道而驰。
在一个机构内部的性能测试项目中,寻求一致性的策略应该围绕促进专家评审和参与[1]的思想来进行。您应该在项目的早期阶段就让各个相关部门参与进来,以便使所有成员都对于项目进程和交付等问题都有个清楚的了解,包括以下团队或个人:
商务
·首席信息官(CIO)
·首席技术官(CTO)
·首席财务官(CFO)
·部门领导
请记住,您可能不得不为了购买一套自动化性能测试工具解决方案而创建一个商务项目,以及建立一个(昂贵的)测试环境,所以,邀请那些能够做出商务决策以及管理关键任务的业务部门人员参与进来是一个不错的主意(并且签单!)。
其他
·开发人员
·测试人员(内部或外包)
·基础设施组
·最终用户
所有这些团队都和应用程序紧密联系在一起,因此他们需要对各自的期望和承担的职责有清楚的认识。开发人员,不管是内部人员还是外部人员,是他们将应用程序集成在一起;因此在性能测试执行过程中需要有一条清晰的路线能够回溯重现与应用程序相关的问题。
测试人员总是处于风口浪尖,所以他们有着不同的考虑,他们需要知道正确的事务以便创建测试脚本,所需的测试设计类型,以及他们追求的性能指标。
基础设施组,这项任务和负责维护IT基础设施的管理一样重要,他们需要对什么情况下能够确保有足够的服务器和网络容量,以及应用程序是否已进行了正确的配置和部署等问题了如指掌。
最终用户,是即将使用这套应用程序的用户,因此我们在确定性能指标的时候应该邀请他们参与,尊重他们的意见。最终用户应该在应用程序的设计过程就参与进来(或者更早),并且要参与最后的用户验收测试(User Acceptance Testing, UAT)。如果他们已经在使用一套应用程序,而正在测试的这套应用程序即将取代现有的系统,那么他们将对“现在的系统可以达到什么样的指标才是可以接受的系统性能”有十分清楚的认识。
[1]这里的“参与思想”指的是所有与系统相关的人员都参与项目测试指标的确认。