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