浅谈软件测试工程师的培训工作

来源:互联网 发布:subtitle软件 编辑:程序博客网 时间:2024/04/30 03:11

  国内软件测试工程师的职位从无到有,经历的时间还不足10年。成熟的软件测试理论体系构建也仅有10余年的历史。而纵观现在如雨后春笋般蓬勃增长的计算机软件企业,对优秀软件测试工程师需求和渴望的现实,不禁让我们不得不去思考一个问题:如何开展并做好软件测试工程师的培训工作。

  对于软件测试的重要性,很多人有些误解。因为刚刚开始做软件测试的人员往往是从黑盒测试做起,而黑盒测试不需要编程经验,所以总是给人感觉测试人员不需要太多的知识,无论谁上了岗都能做,因此也就导致软件企业不愿意、也认为不需要对软件测试工程师开展培训工作。一旦软件产品发货到用户手中,发现质量低劣、效率低下、维护成本昂贵,又都毫不留情地骂测试人员无能,为什么测不出Bug(软件缺陷)。

  中国有句老话:磨刀不误砍柴工。看到上面这种恶果,显而易见,现在至少我们应该达成一种共识:软件测试工程师也需要培养,并且需要接受正规培训。培训什么?我想应至少从三个方面入手培训工作。

  一、入职培训

  软件测试工程师初来乍到一个公司,往往兴趣十足,预备全身心投入到“捉虫”的战斗中。但往往不得其法,事倍功半,因为抓不到虫子,或是即使抓到了虫子并不重要也被开发人员视而不见。设身处地的为这些雄心勃勃的测试工程师想想,他们是多么需要入职培训。

  软件测试工程师的入职培训可以从三个方面来分头进行。产品的培训、测试技术的培训和测试工具的培训。软件测试的工作对象即是企业开发的软件产品,所以务必要对软件产品有一个全面的了解和清醒的认识。作为一个测试管理者,应至少安排足够的培训时间,让测试新手研习被测试软件的内容。我们可以利用一切可利用的培训资料。软件产品本身、用户手册、开发组的需求规格说明书、技术文档,包括熟悉产品的人员进行功能讲解等等,用这些形式不拘一格的产品内容来迅速武装起测试工程师的头脑。光有这些培训还不能罢休,要善于检查测试工程师的学习情况,及时地向他们提问产品中那些最关键性的问题,如产品的核心概念、业务流程等。有培训有检查,通过一问一答的方式,既了解了初学者对产品的了解程度,同时也传授了产品中的精髓,并且还能够从初学者的疑问中抓到培训工作中的漏洞,为今后更好地开展培训奠定基础。

  因为软件测试工程师总是如人们所预料的一样,来自于各行各业、五湖四海。有测试经验的,无测试经验的,统统汇集到企业中。所以必须的测试技术培训一定是要有的。培训内容主要以黑盒测试技术为主,一是因为黑盒测试技术是基础,二为的是成本更为昂贵的白盒测试人员在需要的时候,也能够出色的完成黑盒测试的任务。黑盒测试常用的测试方法、测试用例的设计、黑盒测试常见的测试类型、不同测试类型各自关注的主要问题等等,在入职培训中都应有所全面接触。同样,方法的学习离不开实践的过程。可以找一些具有普遍性的功能点,由测试人员尝试设计测试用例。只有通过由易到难,由简单到复杂,不断反复的练习,才能慢慢建立起测试人员的测试概念、设计方法、捉虫的敏感度,并且保证他们不会走不必要的弯路。

  在入职培训中,测试工具的培训已经逐渐提到议事日程上来。随着软件规模和复杂度的提高,纯粹意义上的人工测试已经不能满足软件测试各个方面的要求,因此对于测试工具的使用需求应运而生。为了使大家尽早成为会使用工具的高端测试人员,所以在入职培训中也应重视测试工具的培训。LoadRunner、WinRunner、TestDirector,这些常用的测试工具是需要让测试工程师尽早掌握的。网络上汇集了这些工具的大量资料,只是看我们如何自己整合打包形成适合自身需要的培训资料。

  二、在职培训

  入职培训不过是软件测试领域的一块敲门砖,能够带领初学者尽早领悟到测试工作中最精华的那部分内容。要想真正培养出一位合格的软件测试工程师,只靠入职培训显然是远远不够的。几年前曾听一位资深软件开发工程师提到过InJobTraining的概念。意思是说,作为工程师自己要注重工作过程中的自我培训,作为管理者更需加强在工作进程中对员工的知识灌输和能力培养。

  InJobTraining可以是正式培训,也可以是非正式培训。按照以往经验,一对一式的非正规培训,其培训效果更容易得到保证。每经历一个产品或是项目的测试,都将是一次在职培训的极好机会。从跟随开发组开发用户需求开始,到协助开发组并审核开发组的功能设计,而后是测试工程师独立的完成测试设计工作,到最后的测试执行,测试管理者始终需要指导和带领测试工程师,教会他们在软件开发全生命周期的各个阶段,软件测试的工作目标、工作内容和结果物是什么。那些在入职培训中刚刚建立起的一点点测试概念和技术理论,需要在实际工作中得到最大化的尝试和实践。在在职培训过程中,测试管理者务必要花费较大的力气去审核测试工程师的各项工作,就如同在软件产品中捉虫一样,需要尽早发现每位测试工程师的工作漏洞、工作缺陷和改进的重点方向。不能以为通过入职培训,测试工程师就真的什么都已经学会了。不要忘记软件测试工作也是技术性很强的工作,和功能设计、代码开发一样,需要反复的实践,找出其中的不足,不断的加以改进,工作技能才能得到稳步的提高。

  现在企业中定义软件测试工作范畴,恐怕大多数情况已经不再单纯是测试执行本身了。所以一批批软件测试工程师入职企业后,企业应该按照各位工程师不同的特点和特长,在在职培训过程中,为其选择重点进行培训,也就是进一步加强在职培训的趋向性。比如说,有人可能擅长完成较大规模功能的测试设计工作,那就重点培养其测试设计的能力;有人可能擅长利用测试工具开发测试案例,那就重点培养其测试工具开发的能力;有人可能具有极强的耐心、探究精神和怀疑的态度,那就重点培养其测试执行的能力;还有人可能具有一两年、两三年的开发经验,那就重点培养其白盒测试的能力。总之,在职培训过程中,应当依照测试工程师不同的工作经验和技术背景,为其正确选择重点培养方向。如果面面俱到,很有可能发生投入大产出小的低价结果,而且会挫伤测试工程师的积极性,同时也会影响到测试管理者对测试工程师的客观评价。更何况作为测试管理者,也不可能有足够的时间和精力,逐个培养每位测试工程师的每项能力。所以基于这点考虑,在职培训中加强目的性、重点性,明确培训的方向和目标就显得尤为重要了。

  ......

本文转载自51Testing软件测试网,查看全文:http://www.51testing.com/html/24/n-844124.html