第4章 协作是性能测试之美的基石
性能测试通常是软件开发项目中最无奈、最复杂、最缺人手、时间最紧迫、最易被误解、最好斗以及最吃力不讨好的方面,但它并不必要如此。我曾在几个不同场合亲身经历过美丽的性能测试。事实上,似乎大多数优秀的职业测试人员都有至少一个关于美丽的性能测试的故事。
那么,美丽的性能测试有哪些特性呢?我认为它们应该是:
. 期望的
. 有意的
. 有用的
. 有技术含量的
. 社会的
. 值得尊敬的
. 谦逊的
. 有效率的
. (适度)挑战性的
. 价值驱动的
. 价值导向的
但我认为如果性能测试要变得美丽,首先就必须协作。
在接下来的故事中,我将与你分享塑造了我对性能测试之美的看法的关键事件。巧合的是,这一章也是在讲述一个软件开发公司如何处理性能测试,使几个开发项目在过程中变得越来越美丽。在阅读时,你需要特别注意两件事。第一,请注意这些故事在开始时,可以说,并不美丽。第二,请注意在每个故事中,协作都是取得进展、成功和解决冲突的关键。
设置舞台
下面的所有事件都发生在.com 时代的,一家精品软件定制开发公司的14 个月之内,我在那里担任性能测试技术组长和实践经理。这些事件跨越好几个开发项目,但核心项目小组在整个期间大致相同——这里的项目团队,我指不只是那些写代码的人,还包括管理人员、客户经理、项目管理、业务分析、测试人员、系统管理员和技术支持人员。
虽然我尽最大努力准确、客观地复述这些事件,不过接下来完全是我对所发生的事件的观点。事件发生的顺序与它们在这一章中出现的顺序一样,我没有任何故意调换,除了删除了一些攻击性的词汇或将其替换成一些不那么具有攻击性的词。此外,我必须说明的是,我故意修改了一些有关的个人、客户以及合同的识别信息,以保护无辜的、犯了错的、害羞的,以及那些我已经失去联系、无法获得使用其真实姓名的许可的人。
100% ?!?失败
我刚刚被告知,在接下来的星期一,我将开始一个新项目,为一家财富50 强的公司建立一个基于计算机的学习交付和学生进度跟踪系统(我将称其为eVersity )。该项目已经正式进入开发阶段,这意味着,客户接受了我们的概念,是时候让项目组的其余成员开始工作了。我当时正在我的办公桌前整理之前的项目的文档,新项目的测试经理Harold 走到我面前,直截了当地递给我一张纸,并问道“你能测试这个吗?”虽然我觉得这个问题略带侮辱性,不过我仍然看了那份文件。我刚看到:
“系统性能要求:
. 100% 的情况下,100% 的网页会在5秒或者更短的时间内显示出来。
. 应用程序应……”