亚里士多德说世上的道理不是被讲一遍两遍而是成千上万遍,是的,因为Weinberg也讲了一遍,在上面提到的那本书里面。请原谅我再次引用他的话,粉丝嘛。

  “Although it‘s necessary to have an overview of the problem, the big picture often turns on one critical detail.”

  critical detail, 对,是这个term。其实不光是这里说的测试,工作和生活中的很多事情都是一样,不是要不要关心细节,而是它是否critical。

  那么,怎么区分一个细节是不是critical或者怎样找到critical的detail呢?

  嗯...,这是个好问题,不过不好意思这个不是这里要讨论的范畴。

  3. 项目和任务

  性能测试本身肯定是一个任务,无论对于被安排去做这个的人,或者安排的人。但是它有时候也像一个项目,对于去做这件事情的人。为什么呢?

  首先你需要和很多的人打交道。

  产品经理或者客户:获取需求,设定目标。

  QA manager/lead:讨论resource和schedule。包括需要的机器,环境,软件,还有整个计划。

  开发人员:查找问题和调优等。

  功能测试的owner: 性能测试人员可能不是什么功能都很懂。

  Admin:Lab,网络,DB等等

  其次,它是一个周期很长,跨度很大的工作。特别是对于一个比较大的产品而言。你需要准备详细的测试设计,包括目标、范围、可能的方法,以及上面提到的资源和时间计划;然后邀请很多人来评审这个计划;接下来要准备工具、环境和测试数据。然后是执行,记录分析结果。如果有问题还要反复的调整和regression。后要整理报告,回答疑问。

  说它是一个项目一来是因为上面的原因导致工作的复杂性,还有一些原因是因为性能测试带有评测的性质,因为你是在试图去度量、衡量或者评价一个东西,而且带有比较的结果。这样导致性能测试不可避免的要引入一些权威性的问题,尽管你并不一定期望这样。这使得很多的东西像一个其他项目一样,有期望管理和良好的外部沟通和协调的需要。所以有时候,更愿意把它作为一个小的项目来看待,这样或许可以做得更全面。