软件测试工程师—中国“隐形富裕人口”的职业发展路线图!
前段时间有个叫“隐形贫困人口”的词特别火,指的就是那些看上去生活特别滋润,实际上却很贫困的人。而与之相反的恐怕就是“隐形富裕人口”了。那么哪种行业或者职业属于此类呢?收入水平高于市场上大部分职业,却并不爱炫富的软件测试员无疑是“隐形富裕人口”的典型代表。
但与此同时,也有很多人认为软件测试员最容易在中年之前就开始焦虑。他们认为“测试员是吃青春饭的”,“30岁还没做公司中层领导说明快被企业淘汰了”,“过了30岁年薪还没破20W+就该考虑转行了”……诸如此类的声音不绝于耳。
那么,对于中国的“隐形富裕人口”软件测试员来说,如何规划自己的职业生涯,才会一直“富裕”下去,而不是吃了几口“青春饭”就被淘汰呢?
首先谈谈我在软件测试行业的亲身经历
我的一位同事曾经很认真地问过我一个问题,他说他现在从事软件测试工作已经4年了,但是他不知道现在的工作和自己在工作3年时有什么不同,他想旁观者清,也许我能回答他的问题。此外他还想知道他做软件测试工作到第5年或第6年会怎么样。后来他在工作到第5年的时候转岗了。虽然他已经转岗了,但是最近联系时,他依然问我这个问题,似乎这个问题困惑他很深、很久了。
这件事情对我的触动很大,我相信这个问题是带有一定普遍性的,我也开始系统思考这个问题。
软件测试是一个缺乏发展空间、做到一定阶段后只能通过“转岗”来寻找发展机会的职业吗?
肯定不是。
Martin Pol,欧洲业界公认的“Test Guru”(大佬,精神领袖),1998年欧洲第一届杰出测试贡献奖获得者,并获得英国骑士勋章。Martin在测试领域已经几十年,最后在测试工作上名利双收。而且,据说他的大女儿和小女儿都是做测试的,这是名副其实的“测试世家”。
但是Martin的例子并不能解决“软件测试本身有哪些发展”这个问题。作为“精神领袖”,Martin只能让我们看到最美好的结果,让我们知道这条路是能走通的。有人已经成功了,这给了我们信心和希望。
那么软件测试的职业发展方向有哪些?作为软件测试工程师,又该如何为自己制订职业发展规划?
软件测试职业生涯有主要分为七个发展阶段,如下:
第一阶段:初级测试工程师
初级测试工程师基本上是初入行具备计算机专业学位或一些手工测试经验的个人。具体做一些执行测试用例,记录bug,并回归测试,通过测试工具录制回归测试脚本,并执行回归测试脚本的工作。如果此阶段的测试工程师向发展到下一个阶段的话就需要学习开发测试脚本并且开始熟悉测试生存周期和测试技术。
第二阶段:程序分析员或者测试工程师
此阶段的测试人员基本有了1~2年工作经验。具有初步的自动化测试能力,完善自动化测试脚本。主要工作是设计和编写测试用例,编写自动测试脚本程序且担任测试编程初期的领导工作。此阶段的测试人员想发展的下一阶段必须拓展编程语言、操作系统、网络与数据库方面的技能 。
第三阶段:程序分析员或者高级测试工程师
此阶段的测试人员基本有了3~4年经验的测试工程师或程序员。具有一定的行业业务知识,储备系统分析员的能力。此阶段工作主要是帮助开发或维护测试或编程标准与过程,分析软件需求,获得测试需求。确定测试需求相应的测试方法,获得测试策略方案。参与同行的评审(软件需求,软件测试计划等),并为其它初级的测试工程师或程序员充当顾问。如果想继续往上发展必须继续拓展编程语言、操作系统、网络与数据库方面的技能。
第四阶段:测试组负责人
此阶段的测试工程师有了4~6年经验的测试工程师或程序员。具有丰富的行业业务知识,具有系统分析员的能力,专长性能测试。工作中主要负责管理1~3名测试工程师或程序员。集中于技能方面,担负一些进度安排和工作规模/成本估算职责。分析性能瓶颈的原因,为开发团队提供bug解决策略。如果想往上晋升需要深度学习性能测试等测试技能。
第五阶段:资深安全或性能测试工程或测试高级负责人
此阶段的测试工程师有了6~10年经验的测试工程师或程序员。工作中主要负责负责管理8~10名技术人员。性能测试整体方案设计,软件系统性能问题定位和性 能优化内存及分析数据溢出等,分析系统的安全漏洞等,负责进度安排、工作规模/成本估算、按进度表和预算目标交付产品。负责开发项目的技术方法。为一些用户提供支持与演示。如果想再往上发展,需要开发自己一些特定领域的技术专长。
第六阶段:测试/质量保证/开发(项目)、经理
此阶段的工程师已经有了10多年的工作经验。工作中主要负责管理8名或更多的人员参加的1个或多个项目。负责这一领域(测试/质量保证/开发)内的整个开发生存周期业务。为一些用户提供交互和大量演示。负责项目成本、进度安排、计划和人员分工。
第七个阶段:(公司级质量总监)计划经理
此阶段的工程师至少有15年以上开发与支持(测试/质量保证)活动方面的经验。主要负责管理从事若干项目的人员以及整个开发生存周期。负责把握项目方向与盈亏责任。
总结:
随着互联网的飞快发展,IT行业出现了日新月异的变化,新的技术会不断出现,你熟练掌握的软件测试技术很快就过时了。慢慢地,你就会发现,之前的技术已经无法应付越来越复杂的项目,你该怎么办才能保证自己不被淘汰呢?当然是不断学习了!“学如逆水行舟,不进则退”,技术大牛都在努力提升自己,更何况我们呢?!
页:
[1]