background image

好的测试工程师应具备的素质

   人是测试工作中最有价值也是最重要的资源,没有一个合格的、积极的测试小组,测试
就不可能实现。然而,在软件开发产业中有一种非常普遍习惯,那就是让那些经验最少的
新手、没有效率的开发者或不适合干其他工作的人去做测试工作。这绝对是一种目光短浅
的行为,对一个系统进行有效的测试所需要的技能绝对不比进行软件开发需要的少,事
实上,测试者将获得极其广泛的经验,他们将遇到许多开发者不可能遇到的问题。

、沟通能力

  一名理想的测试者必须能够同测试涉及到的所有人进行沟通,具有与技术(开发
者)和非技术人员(客户,管理人员)的交流能力。既要可以和用户谈得来,又能同开发
人员说得上话,不幸的是这两类人没有共同语言。和用户谈话的重点必须放在系统可以正
确地处理什么和不可以处理什么上。而和开发者谈相同的信息时,就必须将这些活重新组
织以另一种方式表达出来,测试小组的成员必须能够同等地同用户和开发者沟通。

、移情能力

  和系统开发有关的所有人员都处在一种既关心又担心的状态之中。用户担心将来使用
一个不符合自己要求的系统,开发者则担心由于系统要求不正确而使他不得不重新开发
整个系统,管理部门则担心这个系统突然崩溃而使它的声誉受损。测试者必须和每一类人
打交道,因此需要测试小组的成员对他们每个人都具有足够的理解和同情,具备了这种
能力可以将测试人员与相关人员之间的冲突和对抗减少到最低程度。

、技术能力

  就总体言,开发人员对那些不懂技术的人持一种轻视的态度。一旦测试小组的某个成
员作出了一个错误的断定,那么他们的可信度就会立刻被传扬了出去。一个测试者必须既
明白被测软件系统的概念又要会使用工程中的那些工具。要做到这一点需要有几年以上的
编程经验,前期的开发经验可以帮助对软件开发过程有较深入的理解,从开发人员的角
度正确的评价测试者,简化自动测试工具编程的学习曲线。

、自信心

  开发者指责测试者出了错是常有的事,测试者必须对自己的观点有足够的自信心。如
果容许别人对自己指东指西,就不能完成什么更多的事情了。

、外交能力

  当你告诉某人他出了错时,就必须使用一些外交方法。机智老练和外交手法有助于维
护与开发人员的协作关系,测试者在告诉开发者他的软件有错误时,也同样需要一定的
外交手腕。如果采取的方法过于强硬,对测试者来说,在以后和开发部门的合作方面就相

当于 赢了战争却输了战役 。