软件测试人员应具备的素质
摘要:主要阐述了作为一名合格的软件测试人员应具备的基本素质,同时简要说明了软件测试工程师在我国的发展概况及前景。
关键词:软件测试;软件测试工程师;计算机专业技能;软件编程技能
一个有竞争力的测试人员要具有下面3个方面的素质:
(1)计算机专业技能。计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。尽管没有任何IT背景的人也可以从事测试工作,但是一名想获得更大发展空间或者有竞争力的测试工程师,计算机专业技能是必不可少的。
(2)测试专业技能。现在软件测试已经成为一个很有潜力的专业。要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础。因此,测试工程师应该努力学习测试专业知识,告别简单的“点击”之类的测试工作,让测试工作以自己的专业知识为依托。
测试专业知识很多,我认为测试人员应该掌握基础的专业技能。测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。
(3)软件编程技能。“测试人员是否需要编程?”是测试人员常考
虑的问题之一。由于在我国开发人员待遇普遍高于测试人员,因此能写代码的几乎都去做开发了,而很多人则是因为做不了开发或者不能从事其它工作才“被迫”从事测试工作。最终的结果则是很多测试人员只能从事相对简单的功能测试,能力强一点的则可以借助测试工具进行简单的自动化测试(主要录制、修改、回放测试脚本)。
软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。
此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据我的经验,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。
网络、操作系统、数据库、中间件等知识:
与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。由
于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等知识。
在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。
操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的操作命令以及相关的工具软件。而WebLogic(是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器)、Websphere(是IBM 的集成软件平台,它包含了编写、运行和监视全天候的工业强度的随需应变Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具)等中间件的安装、配置很多时候也需要掌握一些。
数据库知识则是更应该掌握的技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握SQL。测试人员至少应该掌握Mysql(是一个多线程的,结构化查询语言数据库服务器)、MS Sqlserver(是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案)、Oracle等常见数据库的使用。
作为一名测试人员,尽管不能精通所有的知识,但要想做好测试工作,应该尽可能地去学习更多的与测试工作相关的知识。
2软件测试工程师-IT就业新亮点
根据有关职位统计资料显示,在国外大多数软件公司,1个软件开发工程师就需要配备2个软件测试工程师。目前,软件测试自动化技术在我国则刚刚被少数业内专家所认知,而这方面的专业技术人员在国内更是凤毛麟角。根据对近期网络招聘IT人才情况的了解,许
多正在招聘软件测试工程师的企业很少能够在招聘会上顺利招到合适的人才。
随着中国IT行业的发展,产品的质量控制与质量管理正逐渐成为企业生存与发展的核心。从软件、硬件到系统集成,几乎每个中大型IT企业的产品在发布前都需要大量的质量控制、测试和文档工作,而这些工作必须依靠拥有娴熟技术的专业软件人才来完成。而软件测试工程师就是其中之一。
软件开发工程师待遇
由于软件测试工程师处于重要岗位,所以必须具有电子、电机类相关专业知识背景,并且还应有实际操作经验。他们应熟悉中国和国际软件测试标准,熟练掌握和操作国际流行的系列软件测试工具,能够承担比较复杂的软件分析、测试、品质管理等任务,并能独立担任测试、品质管理部门的负责人。一般情况,软件测试工程师可分为测试工程师、高级测试工程师和资深测试工程师3个等级。
在具体工作过程中,测试工程师的工作是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。对软件测试工程师而言,必须具有高度的工作责任心和自信心。任何严格的测试必须是一种实事求是的测试,因为它关系到一个产品的质量问题,而测试工程师则是产品出货前的把关人,没有专业的技术水准是无法胜任这项工作的。由于测试工作一般由多个测试工程师共同完成,并且测试部门一般要与其他部门的人员进行较多的沟通,所以要求测试工程师不但要有较强的技术能力而且要有较强的沟
通能力。
目前国内还没有很好的软件测试氛围,专业机构也很少,相关从业人员也没有一起交流的圈子。很多人都认为软件测试是一件非常简单的事情,缺乏对软件测试的端正认识,而一些对软件测试本身感兴趣的人,通常不到入门的途径,也不知道该如何获取相关知识。中国信息主管网联姻软件质量管理领域的龙头企业——中国惠普,共同建立了软件测试领域的专业技术网站——中国测试平台网(www.chinatesting)。有了中国测试平台网这一平台,相信我们的软件测试行业会进步得更快。当整个产业链都对软件测试有了非常深的认识时,相信我们的软件项目质量也会跟着上一个台阶。
参考文献:
[1]汪晓平.精通Java网络编程[M].北京:清华大学出版社,2008.
[2]汪孝宜.JSP数据库开发实例精粹[M].北京:电子工业出版社,2006.
[3]邓良松.软件工程[M].西安:西安电子科技大学出版社,2005.
[4]张克东,庄燕滨.软件工程与软件测试自动化教程[M].北京:电子工业出版社,2005.
[5][德]DirkHuberty.软件件质量和软件测试[M].北京:清华大学出版社,2009.
[6][美]CEMKANRT.软件测试经验与教训[M].北京:机械工业出版社,2008.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。