1、经过这几年的发展 ,国内 IT 公司的测试水平有了很大的提高,但是与此同时 ,很多测试工程师也迎来了个人的发展瓶颈:很多人从测试工程师做到了测试经理的职位 ,不知道下一步如何发展 ;或者每天机械地从事着功能测试工作。根据作者多年的经验 ,一个有竞争力的测试人员要具有下面三个方面的素质:1. 计算机专业技能计算机领域的专业技能是测试工程师应该必备的一项素质 ,是做好测试工作的前提条件。尽管没有任何 IT 背景的人也可以从事测试工作 ,但是一名要想获得更大发展空间或者持久竞争力的测试工程师 ,则计算机专业技能是必不可少的。计算机专业技能主要包含三个方面 :测试专业技能现在软件测试已经成为一个很有潜
2、力的专业。要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础,这也是本书的编写目的之一。因此,测试工程师应该努力学习测试专业知识 ,告别简单的 “点击 ”之类的测试工作 ,让测试工作以自己的专业知识为依托。测试专业知识很多 ,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围很广 :既包括黑盒测试、白盒测试、测试用例设计等基础测试技术 ,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法 , 还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。软件编程技能“测试人员是否需要编程?”可以说是测试人员最常提出的问题之一。实际上,由于在我国开发人员待遇
3、普遍高于测试人员,因此能写代码的几乎都去做开发了,而很多人则是因为做不了开发或者不能从事其它工作才“被迫 ”从事测试工作。最终的结果则是很多测试人员只能从事相对简单的功能测试 ,能力强一点的则可以借助测试工具进行简单的自动化测试 (主要录制、修改、回放测试脚本。软件编程技能实际应该是测试人员的必备技能之一,在微软 ,很多测试人员都拥有多年的开发经验。因此 ,测试人员要想得到较好的职业发展,必须能够编写程序。只有能给编写程序 ,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。此外 ,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确 ,同时兼顾高效率
4、 ,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据作者的经验 ,测试工程师至少应该掌握 Java、C#、C+之类的一门语言以及相应的开发工具。网络、操作系统、数据库、中间件等知识:与开发人员相比 ,测试人员掌握的知识具有“博而不精 ”的特点 , “艺多不压身 ”是个非常形象的比喻。由于测试中经常需要配置、调试各种测试环境 ,而且在性能测试中还要对各种系统平台进行分析与调优 ,因此测试人员需要掌握更多网络、操作系统、数据库等知识。在网络方面 ,测试人员应该掌握基本的网络协议以及网络工作原理,领测认为尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知
5、识。操作系统和中间件方面 ,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于 Unix 、linux 来运行的 ,这就要求测试人员掌握基本的操作命令以及相关的工具软件。而 WebLogic 、Websphere等中间件的安装、配置很多时候也需要掌握一些。数据库知识则是更应该掌握技能 ,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置 ,还要掌握 SQL。测试人员至少应该掌握 Mysql 、MS Sqlserver、 Oracle 等常见数据库的使用。作为一名测试人员 ,尽管不能精通所有的知识,但要想做好测试工作 ,应该尽可能地去学习更多的与测试工作相关的知识。2. 行
6、业知识行业主要指测试人员所在企业涉及的行业领域,例如很多 IT 企业从事石油、电信、银行、电子政务、电子商务等行业领域的产品开发。行业知识即业务知识 ,是测试人员做好测试工作的又一个前提条件 ,只有深入地了解了产品的业务流程 ,才可以判断出开发人员实现的产品功能是否正确。很多时候 ,软件运行起来没有异常 ,但是功能不一定正确。只有掌握了相关的行业知识 ,才可以判断出用户的业务需求是否得到了实现。行业知识与工作经验有一定关系,通过时间即可以完成积累。3. 个人素养作为一名优秀的测试工程师 ,首先要对测试工作有兴趣 :测试工作很多时候都是显得有些枯燥的 ,因此热爱测试工作 ,才更容易做好测试工作。
7、因此 ,除了具有前面的专业技能和行业知识外 ,测试人员应该具有一些基本的个人素养 ,即下面的 “五心 ”。专心 :主要指测试人员在执行测试任务的时候要专心 ,不可一心二用。经验表明 , 高度集中精神不但能够提高效率 ,还能发现更多的软件缺陷 ,业绩最棒的往往是团队中做事精力最集中的那些成员。细心 :主要指执行测试工作时候要细心 ,认真执行测试 ,不可以忽略一些细节。某些缺陷如果不细心很难发现 ,例如一些界面的样式、文字等。耐心 :很多测试工作有时候显得非常枯燥 ,需要很大的耐心才可以做好。如果比较浮躁 ,就不会做到 “专心 ”和“细心 ”,这将让很多软件缺陷从你眼前逃过。责任心 :责任心是做好工作必备的素质之一 ,测试工程师更应该将其发扬光大。如果测试中没有尽到责任 ,甚至敷衍了事 ,这将会把测试工作交给用户来完成 ,很可能引起非常严重的后果。自信心 :自信心是现在多数测试工程师都缺少的一项素质 ,尤其在面对需要编写测试代码等工作的时候 ,往往认为自己做不到。要想获得更好的职业发展 ,测试工程师们应该努力学习 ,建立能 “解决一切测试问题 ”的信心。“五心 ”只是做好测试工作的基本要求,测试人员应该具有的素质还很多。例如测试人员不但要具有团队合作精神 ,而且应该学会宽容待人 ,学会去理解 “开发人员 ”, 同时要尊重开发人员的劳动成果 开发出来的产品。