前言
在国内,软件测试行业是近20年来随着互联网的飞速发展逐步兴起来的。随着行业的发展,测试市场的人才缺口也越来越大,能够提供的就业机会也就越来越多,所以越来越多的人意气风发地投身到测试行业,憧憬这自己在这个行业内的事业前景。但是,随着大家这个行业的认知加深,慢慢也有很多人开始产生迷茫:我在这个测试行业里工作多年之后,每天似乎都在做重复的事情,技术提升遇到瓶颈;这样下去我会不会被这个行业所淘汰?随着工作年限的增加,我的年纪也在增加,开始焦虑,我在测试行业到底还可以做多久呢?甚至,有些还没有入行,只是准备想要进入这个行业测试人员,也在犹豫:测试行业会不会只是一场青春站,过了青春期,就会被这个行业所遗弃?
溯源
其实,根据市场就业调查数据显示,目前超过三十五岁的测试工程师确实没有年轻人好找工作,甚至有些公司直接明文规定 “要求年纪35-40岁以下”。市场产生如此残酷的现象的原因大致有如下两点:
-
如金字塔原理,企业对越靠近金字塔顶端的人才的需求量就越少,所以市场上能提供出来适用35-40岁经验级别的岗位,肯定远少于初级测试员的岗位。这就是从源头上,减少了这个人群的就业缺口。
-
随着年纪增加,往往都没有办法像刚毕业的年轻人那样全心全意的扑在工作上了。前段时间,一个日剧《大叔的爱》里有句台词扎穿了很多网友的心,剧中交谈的两个人道出一条职场规则:“不要骂那些年轻人,他们会立刻辞职的,但你可以往死里骂那些中年人,尤其是有房有车有娃的人!” 一时间让所有的“中年人”和“年轻人”都纷纷心疼地抱住了自己。
三十来岁的时候你与那些二十出头可以熬夜可以无顾虑加班敢于豁得出去的年轻人相比,确实没有竞争力了,而且此时的你又背负着家庭、责任、后代生活质量、长辈健康质量,时间、精力、金钱,全方位攻陷你的堡垒,让你无处可逃。
这是软件测试行业的问题,但却不仅仅是测试这行才有的问题。任何行业,都是需要经验积累做支撑才能走得长久。
比如医生,我们去医院看病也会比较倾向于找年长的医生,因为他们经验比较丰富,见过的病情也比较多;再比如老师,比起新出校门的年轻老师来说,更多学生和家长也更倾向于资历老一点老师,因为教学经验丰富,教学技巧更加娴熟。当然,不管是医生还是老师,如果光有经验,不与时俱进的更新自己的知识储备和技术能力,也是会被认为老古董而失去竞争力。
所以软件测试也是同样的道理,经验的积累和沉淀必然是你的一个优势,但是前提是当工作经验积累达到了一定量的时候,你做出了一些调整和提升,让你的能力值匹配于你不断增加的年龄值。如果只是任凭时间流逝,我亦然安于现状,那么任何一个职业都会把你淘汰!
职业发展
那么,软件测试行业的调整和提升可以从哪些方向努力呢?我们需要更加全面的认识这个行业。
基本上软件测试可以分为三条职业发展路线:技术路线、管理路线、产品路线!
首先说下技术路线:
如我们的认知,测试行业大致可以分为如下几种类型:功能测试,性能测试,自动化测试和安全性测试。
第一种:功能测试
所谓功能测试,其实简而言之就是大家俗称的“点点点大法”。这种类型测试基本是所有进入测试行业的人最先开始接触的一种测试,因为功能测试最基础,最简单,最好入门。但是,如果从事测试岗位超过2-3年,你仍然还是停留在功能测试阶段的话,基本上就已经失去核心竞争力了。
由于功能测试基础简单的特点,很多规模稍微大一点的科技公司为了节约成本,现在都趋向于选择将功能测试外包给其他公司来实现。所以,你会看到现在慢慢出现了大批量的外包公司,招聘大批量的功能测试人员,一个项目接着一个项目地做着基础的功能点点点。这就有点像服装加工厂,他们自己只做设计加工,而不会自己去织布,布匹去市场上买就好了,省事又经济。所以,以后科技公司内部基本只会留下技术骨干,产品经理,开发,或许还会加一个测试经理,用来对接测试外包公司。这种模式虽然看起来对功能测试人员比较残忍,但是这就是行业发展的趋势,不可避免。
所以,如果你已经从事了测试行业超过2-3年,就必须要开始思考,怎么跳出这个舒适区。除了有针对性的丰富自己的技能,更重要的还要训练并形成自己的测试思维,这样才能提高自己的价值,增加自己的行业竞争力。
第二种:性能测试
性能测试,是很多人从纯功能测试跳脱出来的一个方向。性能测试比起纯功能测试,对测试人员的要求要高很多。它所包含的知识点众多,是一门很富有挑战性的学科。
很多初学者,觉得性能测试是不是只要学会loadrunner,Jmeter,Avalanche等测试工具的使用就可以了?其实不然。学习性能测试需要对系统进行详细的需求分析,制定详细的性能测试计划,以及设计详细性能测试用例才能开始执行测试。期间,要经过多次尝试和执行,找到瓶颈并进行优化,整个过程细致并且复杂。所以,掌握性能测试理论知识是必要的基础,后续才能灵活运用性能测试工具来实现性能测试的执行。
性能测试是个很多人眼中比较高大上的领域,所以,也是很多想要进阶的测试人员努力发展的一个方向。
第三种:自动化测试
自动化测试,近年来炒的很火热,相信大家都不陌生。所谓自动化测试,狭义上来讲,就是通过工具记录或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统的功能进行验证。
所以,自动化测试能够帮助测试人员解放繁琐、重复的测试工作,释放双手,从而提高测试的效率。这也是自动化测试被越来越多的人重视且追捧的一个原因。
但是,要完成纯功能测试到自动化测试的完美转化,我们同样需要扎实的测试理论,以及优秀的测试思维做支撑,然后再学习一种到两种编程语言来实现自动化测试。一个优秀自动化测试工程师搭建的自动化测试框架,是能够独立并且高效的执行测试用例,真正意义上的实现解放人力,提高效率的作用。
第四种:安全性测试
安全性测试,是在软件产品系统功能基本稳定了之后,在发布之前,对产品验证其是否符合安全需求定义和产品质量标准的过程。
作为一个测试人员要通过安全性测试保证产品系统的整体安全,就需要从这个软件所含的各项服务着手,各方位地进行验证。比如操作系统安全、数据库安全、WEB安全、软件的发布和安装安全、协议与接口攻防、敏感数据保护、手机端安全、静态代码分析等。所以,安全性测试对测试人员知识的广泛度要求极高,除了需要各领域的安全基础知识,还需要各种安全扫描工具的使用能力,以及一些自主开发安全脚本的代码能力。
所以,一个优秀的安全测试工程师在行业内是比较难易达到的,但是如果你达到了这个高度,那么就属于企业稀缺人才,不仅不会被淘汰,反而能获得的待遇肯定也会让大部分人望其项背。
认识了测试行业的包含的各大测试领域,我们就可以开始审视一下自己目前处于哪一个阶段?
你是否能结合自己公司的情况,写个新的框架或者优化原有的框架,大幅度提升部门的测试效率和质量?
你是否可以根据公司性能需求,完成大型复杂系统的整体性能测试,然后进行性能分析和性能调优?
你是否可以自主使用测试工具或者安全脚本来保证软件整体系统的安全性?
灵魂的拷问之后,再决定自己可以向哪个方向发起进攻来改变自己的现状,突破瓶颈!总结一下,如果从技术线的角度来看,软件测试工程师的晋升之路包含如下几个阶段:
你的技术水平越深,你的收入及薪资待遇就越丰厚。经常有人说开发最能体现技术含量,其实软件测试行业里自动化测试工程师和测试开发架构师的技术能力是完全可以对标甚至替代开发的,他的技术及福利待遇很多都要比开发好很多!
如果一个测试工程师可以通过技术手段改变整个项目或者业务的质量现状,这样的测试员,必然炙手可热。
其次是管理路线:
中国有句古话,叫做不想当将军的士兵不是好士兵,所以不想做测试老大的测试也不是一个好测试!其实大家都有想做管理的意愿,但是前提是你需要有响应的管理能力!
这里说的管理能力,一般分为两种:管理项目的能力,以及管理人的能力。要成为一个优秀的测试管理人员,两者都需要具备。
首先,在项目里,需要有对产品质量和项目风险的全局把控能力,所以需要具备广泛的知识涉猎,如质量策略,测试技术、测试方法和测试工具等。能够通过质量管理,结合当前的业务现状和风险,制定最合适的测试策略,选择最优的测试技术和工具,从而高效同整个团队打造高质量的产品。
其次,人的管理。对外,需要高效的沟通协调能力,有分寸又不失优雅地处理各对接部门之间的业务和联系;对内,需要观察并发现每个人的特点,因材分配任务,尽量发挥每个人的长处,使组内每一个成员都能最高效率的发挥自己的能力;并且也能发现每个人的闪光点和不足,针对性的挖掘或者给与一些鼓励和学习引导,让组内成员都能感受到自己的价值,并能体会和组织一起成长的快乐!
当然,要晋升成为测试管理人员,首先也是要从基层测试工程师做起,熟悉了测试的职责和流程,才能有能力把控管理者应履行的职权。所以,管理线大致可以包括以下几个过程:
再次是产品路线:
软件测试工程师是一个跟行业、跟产品业务联系非常密切的岗位,很多测试人员往往也在工作过程中锻炼出来了对市场和用户需求的敏锐性,所以后续也可以转到产品方向!转行做产品具体可以有如下的历程:
以上是我们测试行业的几个发展大方向,结合自身特点,选择最适合自己的一条发展路,然后为之而努力,你会找到自己职场的康庄大道。
测试可以做多久
那么,分析了这么多,我们回到最开始的问题,测试可以做多久? 相信有很多同学,心里已经有答案了。
没有谁可以决定你到底可以在一个职业做多久,除了你自己!!
如果你目前知识有意向转行,但是还没有进入测试行业,那么趁年轻,赶紧学习一些测试基础知识,包括一些测试理论和测试流程,打造一张测试入门的入场券;
如果你已经在测试行业摸爬滚打了2-3年之久,那么请选择一个自己目前比较感兴趣的进阶方向,不管是自动化测试,性能测试,或者安全测试,挑一个最适合你的路,现在就开始行动,不要犹豫!如果觉得技术自己学起来太难了,也可以找一些培训机构的帮助,让自己少走一些弯路,加速成长过程。有了这些进阶知识的掌握,不仅可以提高你的竞争力,帮助你涨工资,而且还能够让你的年纪匹配上你的技能,决定你可以走多远。
如果技术不是你最擅长的部分,那么可以考虑走管理路线。总结并沉淀自己目前的知识储备,以及测试经验和团队经验,抓住一切可以管理项目,管理团队的机会,有意识的去做这方面的能力的提升和实践。千里之行,始于足下,只要开始了第一步,后面的测试职业发展的峰点就会接踵而至。
总结
总而言之,软件测试并不是靠青春吃饭的职业,要想在软件测试行业中有长远的发展,就要在现有积累的基础上,不断地学习,不断的提高,跟上行业发展的脚步。如果只是一味地吃老本,即使工作再多年也只是原地踏步,而最终,也就只能遭受被行业淘汰的命运。
所以,一个职业能做到多少岁?取决于你自己。