一、软件测试工程师大致有4个发展方向:
1 资深软件测试工程师
一般情况,软件测试工程师可分为测试工程师、高级测试工程师和资深测试工程师三个等级。
达到这个水平比较困难,这需要了解很多知识,例如C语言,JAVA语言,数据库,数据结构,软件工程,等等,但是你要在一家公司干3 -- 5年的话,在压力中这些技能你都会掌握!
2 测试部门管理者
小的如组长,大的如测试经理,这需要你有先天的优势,善于交流沟通,善于处理人际关系!不过做两年,你也会成为老油条的!
3 测试书籍编写者
出书也是很赚钱的,当你在这一行干了几年,积攒了足够的经验,可以把你的经验,具体做过的项目总结出来,现在关于软件测试的书很少,你要写本与众不同的书肯定畅销!
4 软件测试培训师
当你在这一行做腻了,你可以选择培训机构,培训机构缺乏有经验的软件测试师,必然会高薪聘请你! 至于晋升流程,一个公司一个样,但是你要知道,你想发展的话,必须要委婉的让上级知道,有些你无法触及的测试项目,需要你的上级分配,一旦有无关紧要的项目或空闲时,经理就会考虑你,会让你尝试做一些高级测试项目! 这时就要看你的个人悟性了! 要知道这一行,技术越高越吃香!越能让老板和开发人员信服!
开始考虑求学、培训的充电问题,学到老才能活到老。
二、软件测试工程师需要具备的素质
在具体工作过程中,测试工程师的工作是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。
对软件测试工程师而言,必须具有高度的工作责任心和自信心。
任何严格的测试必须是一种实事求是的测试,因为它关系到一个产品的质量问题,而测试工程师则是产品出货前的把关人,所以,没有专业的技术水准是无法胜任这项工作的。
同时,由于测试工作一般由多个测试工程师共同完成,并且测试部门一般要与其他部门的人员进行较多的沟通,所以要求测试工程师不但要有较强的技术能力而且要有较强的沟通能力。
三、软件测试职位要求:
首先说说要做个软件测试工程师,需要了解的方方面面,也可以说是一个职业要求汇总吧。
基本常识类
1. 计算机基础知识
2. 计算机网络基础知识
3. 软件测试基本知识(软件质量,软件质量管理基础知识,软件测试概念,软件测试标准,软件测试技术及方法,软件测试项目管理)
4. 软件开发基本知识(软件工程知识,理解软件开发方法及过程)
技术类
1. 程序语言
C/C++,VB,VC,Java,.net,ASP,Javascript等。具体要求要视公司的具体项目或产品来定。但一般以C为基本要求。
2. 数据库知识
SQLServer,Oracle,MySQL,Sybase等。一般对测试人员的要求就是要求会使用,然后熟练使用SQL语句进行查询,修改,添加,删除数据操作。
3. 操作系统
Windows,Linux(常用的RedHat,SUSE,Debian)/Unix(FreeBSD,Solaris,HP-UX,AIX,Mac)系统。
自动化测试工具类
1. 自动化测试概念/自动化测试框架
好多人觉得自动化测试就是使用自动化测试工具,其实各种工具只是自动化测试实施的一个有效利器,如何建立一个脱离工具的自动化测试框架远远比研究如何使用测试工具复杂,困难的多。
2. 自动化测试流程
3. 自动化测试工具的使用
自动化测试框架(流程)
GUI的功能测试自动化
非GUI的功能测试自动化
性能测试(广义的和狭义的性能测试)
4.自动化测试工具(功能测试工具,性能测试工具,缺陷管理工具,测试管理工具)
实战类(工作经验)
1. 公司的测试流程
2. 公司的具体缺陷管理流程(提交bug报告,追踪bug状态)
3. 测试环境的搭建及管理51Testing软件测试网m‘_9M6zu$M
4. 测试计划,测试用例,测试报告等相关文档的编写
语言类
1. 英语
2. 日语
四.自我分析:
1. 细心,关注细节
2. 耐心,不怕麻烦
3. 良好的沟通能力
4. 优秀的学习能力,逻辑思维强
5. 工作积极主动
6. 上进性强,永远不满足现状
7. 团队合作精神
五.职业规划:
第一阶段:(测试员)初级测试工程师(初出校门)
自身条件:初入具备计算机专业学位,有一些手工测试经验。
具体工作:执行测试用例,记录bug,并回归测试,通过qtp等测试工具录制回归测试脚本,并执行回归测试脚本。
学习方向:开发测试脚本并且开始熟悉测试生存周期和测试技术。
第二阶段:(测试工程师)程序分析员(1-2年)
自身条件:有1~2年工作经验。具有初步的自动化测试能力,完善自动化测试脚本。
具体工作:设计和编写测试用例,编写自动测试脚本程序且担任测试编程初期的领导工作。
学习方向:拓展编程语言、操作系统、网络与数据库方面的技能。
第三阶段:(高级测试工程师)程序分析员(3—4)
自身条件:有3~4年经验。具有一定的行业业务知识,储备系统分析员的能力。
具体工作:帮助开发或维护测试或编程标准与过程,分析软件需求,获得测试需求。确定测试需求相应的测试方法,获得测试策略方案。参与同行的评审 (软件需求,软件测试计划等),并为其它初级的测试工程师或程序员充当顾问。
学习方向:继续拓展编程语言、操作系统、网络与数据库方面的技能。
第四阶段:测试组负责人(4-6)
自身条件:有4~6年经验。具有丰富的行业业务知识,具有系统分析员的能力,专长性能测试。
具体工作:负责管理1~3名测试工程师或程序员。集中于技能方面,担负一些进度安排和工作规模/成本估算职责。分析性能瓶颈的原因,为开发团队提供bug解决策略。
学习方向:性能测试,测试技能
第五阶段:(资深安全或性能测试工程师)测试/编程高级负责人(6-10)
自身条件:有6~10年经验的测试工程师或程序员。
具体工作:负责管理8~10名技术人员。性能测试整体方案设计,软件系统性能问题定位和性能优化,内存优化及分析数据溢出等,分析系统的安全漏 洞等。负责进度安排、工作规模/成本估算、按进度表和预算目标交付产品。负责开发项目的技术方法。为一些用户提供支持与演示。
学习方向:开发一些特定领域的技术专长
第六阶段:测试/质量保证/开发(项目)、经理
自身条件:有10多年的工作经验。(10年及之后)
具体工作:管理8名或更多的人员参加的1个或多个项目。负责这一领域(测试/质量保证/开发)内的整个开发生存周期业务。为一些用户提供交互和 大量演示。负责项目成本、进度安排、计划和人员分工
第七阶段:(公司级质量总监)计划经理
自身条件:有10年以上开发与支持(测试/质量保证)活动方面的经验。
具体工作:管理从事若干项目的人员以及整个开发生存周期。负责把握项目方向与盈亏责任