做好测试工程师需要学习掌握的技能
很多年轻或者刚刚从事 测试工作 的工程师, 经常会问: “测试工程师需要什么技能或者具
有什么素质才是合格的? ”与开发人员相比,测试人员不但需要一技之长,还需要掌握诸如
操作系统 、数据库 、网络等多方面的知识。
经过这几年的发展, 国内 IT 公司的测试水平有了很大的提高, 但是与此同时, 很多测试
工程师也迎来了个人的发展瓶颈: 很多人从测试工程师做到了测试经理的职位, 不知道下一
步如何发展;或者每天机械地从事着 功能测试 工作。
根据作者多年的经验,一个有竞争力的测试人员要具有下面三个方面的素质:
1. 计算机专业技能
计算机领域的专业技能是测试工程师应该必备的一项素质, 是做好测试工作的前提条件。
尽管没有任何 IT 背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久
竞争力的测试工程师, 则计算机专业技能是必不可少的。 计算机专业技能主要包含三个方面:
l 测试专业技能
现在 软件测试 已经成为一个很有潜力的专业。要想成为一名优秀的测试工程师,首先应
该具有扎实的专业基础, 这也是本书的编写目的之一。 因此, 测试工程师应该努力 学习 测试
专业知识,告别简单的 “点击 ”之类的测试工作,让测试工作以自己的专业知识为依托。
测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业
技能涉及的范围很广: 既包括黑盒测试、 白盒测试 、测试用例设计等基础测试 技术 ,也包括
单元测试 、功能测试、集成测试、系统测试、 性能测试 等测试方法,还包括基础的测试流程
管理、 缺陷管理 、 自动化测试 技术等知识。
l 软件编程技能
“测试人员是否需要编程? ”可以说是测试人员最常提出的问题之一。实际上,由于在我
国开发人员待遇普遍高于测试人员, 因此能写代码的几乎都去做开发了, 而很多人则是因为
做不了开发或者不能从事 其它 工作才 “被迫 ”从事测试工作。 最终的结果则是很多测试人员只
能从事相对简单的功能测试, 能力强一点的则可以借助测试工具进行简单的自动化测试 (主
要录制、修改、回放测试脚本)。
软件编程技能实际应该是测试人员的必备技能之一,在 微软 ,很多测试人员都拥有多年
的开发经验。 因此,测试人员要想得到较好的 职业发展 ,必须能够编写程序。只有能给编写
程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。
此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼
于运行正确, 同时兼顾高效率, 尤其体现在与性能测试相关的测试代码编写上。 因此测试人
员要具备一定的算法设计能力。依据作者的经验,测试工程师至少应该掌握 Java 、C# 、
C++ 之类的一门语言以及相应的开发工具。
l 网络、操作系统、数据库、中间件等知识:
与开发人员相比,测试人员掌握的知识具有 “博而不精 ”的特点, “艺多不压身 ”是个非常
形象的比喻。 由于测试中经常需要配置、 调试各种测试环境, 而且在性能测试中还要对各种
系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等知识。