软件开发测试工程师职业规划

来源:互联网 发布:贝叶斯算法的java实现 编辑:程序博客网 时间:2024/05/17 03:04

                                软件开发测试工程师职业规划

一、背景分析:软件开发测试工程师

根据有关职位统计资料显示,在国外大多数软件公司,1个软件开发工程师就需要辅有2个软件测试工程师。目前,软件测试自动化技术在我国则刚刚被少数业内专家所认知,而这方面的专业技术人员在国内更是凤毛麟角。根据对近期网络招聘IT人才情况的了解,许多正在招聘软件测试工程师的企业很少能够在招聘会上顺利招到合适的人才。

随着中国IT行业的发展,产品的质量控制与质量管理正逐渐成为企业生存与发展的核心。从软件、硬件到系统集成,几乎每个中大型IT企业的产品在发布前都需要大量的质量控制、测试和文档工作,而这些工作必须依靠拥有娴熟技术的专业软件人才来完成。而软件测试工程师就是其中之一,目前已成为各类科技企业紧急征召的重要对象。

据了解,由于软件测试工程师处于重要岗位,所以必须具有电子、电机类相关专业知识背景,并且还应有两年以上的实际操作经验。他们应熟悉中国和国际软件测试标准,熟练掌握和操作国际流行的系列软件测试工具,能够承担比较复杂的软件分析、测试、品质管理等任务,并能独立担任测试、品质管理部门的负责人。一般情况,软件测试工程师可分为测试工程师、高级测试工程师和资深测试工程师三个等级。

在具体工作过程中,测试工程师的工作是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。对软件测试工程师而言,必须具有高度的工作责任心和自信心。任何严格的测试必须是一种实事求是的测试,因为它关系到一个产品的质量问题,而测试工程师则是产品出货前的把关人,所以,没有专业的技术水准是无法胜任这项工作的。同时,由于测试工作一般由多个测试工程师共同完成,并且测试部门一般要与其他部门的人员进行较多的沟通,所以要求测试工程师不但要有较强的技术能力而且要有较强的沟通能力。

因此,在企业内部,软件测试工程师基本处于双高地位,即地位高、待遇高,有的人月薪可高达8000元。可以说他们的职业前景非常广阔,从近期的企业人才需求和薪金水平来看,软件测试工程师的年工资有逐年上升的明显迹象。测试工程师这个职位必将成为IT就业的新亮点。

 

二、做软件测试至少要有四种能力

曾经在方正研究院担任测试工程师的肖先生分析说,能胜任软件测试工程师的人,至少需要以下几个能力。

一、缜密的逻辑思维能力。为应对软件使用者千差万别的使用习惯和软件在使用过程中出现的各种现象,软件测试工程师应具有逆向思维能力,能够以用户角度出发,捕获一切可能性,对细节有不同寻常的关注能力。

二、出色的沟通能力。优秀的软件测试工程师,应具备出色的沟通和表达能力。既能和技术开发人员沟通,又能简洁明了地向客户、管理者等这些非技术人员阐述系统在哪方面有缺失。当发现软件有问题时,不仅需要跟开发人员沟通,找到问题出在哪儿,阐述自己挑错的理由,有时候甚至要提出解决方案,直接参与前期需求和代码的修改。

三、全面的技术能力。作为软件测试工程师,虽然无须精通各种语言各类技术,但必须全面理解被测软件系统,明白该使用何种工具进行测试。

四、耐得住性子。软件测试工作是枯燥的,甚至是重复性的,有时需要花费惊人的时间去分离、识别和分派一个错误,因此需要测试人员能静得下心、耐得住性子,心浮气躁是做不好的。

 

三、职业规划:

第一阶段:(测试员)初级测试工程师(初出校门)

自身条件:初入具备计算机专业学位,有一些手工测试经验。

具体工作:执行测试用例,记录bug,并回归测试,通过qtp等测试工具录制回归测试脚本,并执行回归测试脚本。

学习方向:开发测试脚本并且开始熟悉测试生存周期和测试技术。

第二阶段:(测试工程师)程序分析员(1-2年)

自身条件:有1~2年工作经验。具有初步的自动化测试能力,完善自动化测试脚本。

具体工作:设计和编写测试用例,编写自动测试脚本程序且担任测试编程初期的领导工作。

学习方向:拓展编程语言、操作系统、网络与数据库方面的技能。

第三阶段:(高级测试工程师)程序分析员(34

自身条件:有3~4年经验。具有一定的行业业务知识,储备系统分析员的能力。

具体工作:帮助开发或维护测试或编程标准与过程,分析软件需求,获得测试需求。确定测试需求相应的测试方法,获得测试策略方案。参与同行的评审 (软件需求,软件测试计划等),并为其它初级的测试工程师或程序员充当顾问。

学习方向:继续拓展编程语言、操作系统、网络与数据库方面的技能。

第四阶段:测试组负责人(4-6

自身条件:有4~6年经验。具有丰富的行业业务知识,具有系统分析员的能力,专长性能测试。

具体工作:负责管理1~3名测试工程师或程序员。集中于技能方面,担负一些进度安排和工作规模/成本估算职责。分析性能瓶颈的原因,为开发团队 提供bug解决策略。

学习方向:性能测试,测试技能

第五阶段:(资深安全或性能测试工程师)测试/编程高级负责人(6-10

自身条件:有6~10年经验的测试工程师或程序员。

具体工作:负责管理8~10名技术人员。性能测试整体方案设计,软件系统性能问题定位和性能优化,内存优化及分析数据溢出等,分析系统的安全漏洞等。负责进度安排、工作规模/成本估算、按进度表和预算目标交付产品。负责开发项目的技术方法。为一些用户提供支持与演示。

学习方向:开发一些特定领域的技术专长

第六阶段:测试/质量保证/开发项目经理

自身条件:有10多年的工作经验。(10年及之后)

具体工作:管理8名或更多的人员参加的1个或多个项目。负责这一领域(测试/质量保证/开发)内的整个开发生存周期业务。为一些用户提供交互和 大量演示。负责项目成本、进度安排、计划和人员分工

第七阶段:(公司级质量总监)计划经理

自身条件:有10年以上开发与支持(测试/质量保证)活动方面的经验。

具体工作:管理从事若干项目的人员以及整个开发生存周期。负责把握项目方向与盈亏责任

 
四、测试工程师的等级

等级:职责内容

初级测试工程师:按照测试方案和流程对产品进行功能测试;检查产品是否有缺陷;编写简单测试方案,提交项目组长。

中级测试工程师:能够编写测试方案、测试文档、与项目组一齐制定测试阶段的工作计划;能够在项目中合理利用测试工具来完成测试任务。

高级测试工程师:掌握测试与开发技术;对所测试软件对口的行业非常了解;能够对测试方案可能出现的问题能够进行分析和评估。

“软件测试人员一般有三大发展方向。”微软公司的陈宏刚博士介绍说,一是走软件测试的技术路线,成长为高级软件测试工程师。二是向管理方向发展,从测试工程师到组长,再到测试经理,以至更高的职位。三是可以换职业,做项目管理或做开发人员。经过软件测试岗位洗礼的人才往往是行业中的多面手,在技术、管理、市场甚至其他非IT领域都能得到良好的发展。当然这首先要取决于从业者是否具备长远眼光,对自己的职业生涯进行合理规划。

 

五、从业者说

HiAll求职社区,大学生求职第一社区,是广大应届生毕业生或在校生求职、交流、互动的论坛。 http://bbs.hiall.com.cn

更多时候要反向思维 贺伊娜 方正软件测试工程师 从业六年

我是在从事软件开发工作一年多后,转向软件质量工作。软件开发工作和软件测试工作在工作上都有一定的压力,只是阶段不同。软件开发工作的压力集中在前期编码,而软件测试工作是在后期验证测试的时候比较紧张繁忙。

这两项工作是有所不同的,软件开发工作被公认为是一种创造性的工作,运用的是正向思维的方式。而软件测试工作其实也不是不需要创造性,只是它要根据原始需求,验证编码,在思维上更多使用的是逆向方式,根据已知的方向进行发挥,从中找出并预见到软件开发中的不完善之处,因而,相比之下,软件测试人员更需要具有独特的反向思维能力。

发现故障时特别兴奋 马尔丹 雅虎中国测试工程师 从业三年

做软件测试这个工作要有耐心、责任心,而且还要经常加班,不过好在已经习惯了。有时候很枯燥,每天对着两台电脑不停地工作,但是一旦发现bug(故障)的时候就特别兴奋,特别有成就感。产品就好像自己的孩子,没发布前总是提心吊胆的,生怕出些纰漏,一旦这个产品发布出去,在一段时间里没有出现质量问题反馈,心里感觉还是比较踏实的。

觉得自己越来越被重视 杨银辉 雅虎中国测试工程师 从业五年

测试工作最大的体会就是——累!发现软件有问题的时候心里特别庆幸。随着软件测试工程师的地位逐步提高而且越来越被重视,自己对工作也越来越有干劲。现在资深的软件测试工程师不多,今后在这方面人才的培训要多发展。以前觉得只有女孩子才适合做这种细致的工作,现在男孩子不再仅限于做开发,很多人都在向测试方面转移。但是,不论在什么工作岗位上,认真是最关键的。