background image

            测试工程师技能素养要求

 很多年轻或者刚刚从事测试工作的工程师,经常会问:

“测试工程师需要什么技能或者具

有什么素质才是合格的?

”与开发人员相比,测试人员不但需要一技之长,还需要掌握诸如

操作系统、数据库、网络等多方面的知识。

 

经过这几年的发展,国内

IT 公司的测试水平有了很大的提高,但是与此同时,很多测试工

程师也迎来了个人的发展瓶颈:很多人从测试工程师做到了测试经理的职位,不知道下一
步如何发展;或者每天机械地从事着功能测试工作。
根据作者多年的经验,一个有竞争力的测试人员要具有下面三个方面的素质:

1        计算机专业技能

计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。尽
管没有任何

IT 背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞

争力的测试工程师,则计算机专业技能是必不可少的。计算机专业技能主要包含三个方面:

2         测试专业技能

现在软件测试已经成为一个很有潜力的专业。要想成为一名优秀的测试工程师,首先应该具
有扎实的专业基础。因此,测试工程师应该努力学习测试专业知识,告别简单的

“点击”之类

的测试工作,让测试工作以自己的专业知识为依托。
测试专业知识很多,测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例
设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方
法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。

3         软件编程技能

“测试人员是否需要编程?”可以说是测试人员最常提出的问题之一。实际上,由于在我国开
发人员待遇普遍高于测试人员,因此能写代码的几乎都去做开发了,而很多人则是因为做
不了开发或者不能从事其它工作才

“被迫”从事测试工作。最终的结果则是很多测试人员只能

从事相对简单的功能测试,能力强一点的则可以借助测试工具进行简单的自动化测试(主
要录制、修改、回放测试脚本)。
软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的
开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能给编写程
序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。
此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于
运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员
要具备一定的算法设计能力。依据作者的经验,测试工程师至少应该掌握

Java、C#、C++之类

的一门语言以及相应的开发工具。

4         网络、操作系统、数据库、中间件等知识:

与开发人员相比,测试人员掌握的知识具有

“博而不精”的特点,“艺多不压身”是个非常形

象的比喻。由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系
统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等知识。
在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络
环境的配置,这些都是测试工作中经常遇到的知识。
操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基

Unix、linux 来运行的,这就要求测试人员掌握基本的操作命令以及相关的工具软件。而

WebLogic、Websphere 等中间件的安装、配置很多时候也需要掌握一些。
数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本