我毕业后一直从事软件测试工作,今年28岁了。所做的工作都是功能测试,对于性能测试、自动化测试完全没有接触。
我是在深圳的一个小公司上班,每天朝九晚五的,工作不累。属于那种要来活了半天就可以搞定,剩下的时间都是无聊的发呆。对于目前的安逸我很惆怅,心里惶惶不安,很想逃逸。但离职后我又能做什么?我知道我这年龄已经处在一个非常危险的地步。离职的话,欠着8万多的债怎么还?每个月花呗借呗三四千怎么还?家庭生活开支,自己房租生活开支三四千哪里来?我的月收入税后只有10K,属于相对低廉的窘迫境地。
有时候会心理总是想冲动,离职重新找一份工资高一点的工作不就解决了吗?但是自己已经快30了,年龄大了,只会功能测试,要高工资别的公司会给自己吗?同样的功能测试工作,为什么不可招一个年龄小的毕业生来做,毕竟工资低,干活又有激情。公司的钱都不是做慈善的。
这是在某论坛看到的一名同行的吐槽,根据描述可以看出来他是一名拥有七年工作经验的功能测试人员,目前掌握的技能还只是简单的功能测试,没有什么代码能力,面对功能测试的职场窘境,正在选择下一步该转测试开发还是软件开发?其实现在像题主一样处境的人不在少数,这就是行业技术发展的趋势导致。
这篇文章将从以下四个方面阐述我的观点:
1.可以继续做测试吗?答案是行不通
2.转行做开发可以吗?答案是要看情况
3.为何考虑测试开发呢?因为风险最低
4.如何走向测试开发,有什么靠谱的办法?
一、可以继续做测试吗?答案是行不通
这里所说的测试是指普通的“手工测试”,如果只是做普通的手工测试,只是每天机械的进行“点点点”,想拿高薪是不太现实的。即使工作的时间长了,但是大部分人员还是停留在初级测试工程师的阶段。并且随着年龄的增长你会发现你越来越没有了竞争力,比你年轻、有活力、更能加班、性价比更高的测试工程师分分钟就可以把你给取代了。可见这条路是行不通的…
二、转行做开发可以吗?答案是要看情况
能不能转行做开发要根据自身的实际情况而定,那什么情况适合转开发?什么情况又不太适合呢?
如果说自身编程能力比较强、又对编码比较感兴趣,完全是可以转行做开发的,并且做开发之后会对程序底层实现原理理解的更加深刻,再加上做测试时比较严谨的做事风格,可以让代码实现时考虑的更加全面和细致。
如果说已经做了七年的测试工作了,却没有积累测试脚本的编程经验,那么也可以认为目前是处于没有任何编程经验的阶段。在这种情况要不要转行做开发就需要慎重考虑了,因为你不知道自己的编程能力、逻辑思维能力处于一个什么样的水平,而且做开发每天都是要涉及到编码的,你也不确定将来对编码是否感兴趣。假如说目前确实是这样的一种情况,那又应该怎么选择呢?建议继续向下看…
三、为何考虑测试开发呢?因为风险最低
1、什么是测试开发?
测试开发简单来说就是既要会做测试又要懂开发。猛地一看,那岂不是压力更大了吗?!不不不,因为在测试岗位中应用到开发技术要比开发岗位中应用到的开发技术要简单很多(除非一些特殊场景)。
从风险角度来考虑,从测试转向测试开发要比直接转开发的风险更低。因为从测试转向测试开发可以慢慢的过渡,比如说你可以先学习一种编程语言,然后再学一个UI自动化测试框架,这样就可以开始做自动化测试的工作了,做的过程中也培养了自身的编程能力,甚至也可以检验一下自身是否真的适合编程。如果确实编码能力挺好,又对编码比较感兴趣,那么就可以向纯测试开发的方向发展。
2、为什么说测试开发重要呢?
试想一个对开发完全不懂的测试人员,就不可能深刻理解系统实现逻辑,那么想要把软件存在的问题都测试到位是不太现实的!所以市场有大量测试开发岗位
打开BOSS直聘、智联招聘、拉勾等招聘平台,我们可以看到有很多测试开发的岗位。如果说测试开发不重要的话,那么为什么那么多公司都在招测试开发的员工呢?
如果你在软件测试行业有许多的不解的困惑,那么欢迎和我一起在业内的交流群:10796 36098里面沟通探讨。群里面有免费的教程资料以及各阶段测试资源,希望能帮助你突破眼前的瓶颈
3、为什么说测试开发能拿高薪呢?
测试开发岗位对软件测试工程师有更高的技能要求,不仅要有测试的技能,还要有开发的技能。永远都要相信当今社会不缺少高薪的岗位,只是缺少能拿高薪的人才。
目前测试开发的工作主要包括测试工具的开发、测试平台的开发、测试框架的搭建等。这些工作都能够服务于普通的测试人员,提高测试的效率,给公司创造价值。
一方面测试开发市场稀缺,一方面确实能为公司创造价值,导致了测试开发薪资工资非常高。
四、如何走向测试开发,有什么靠谱的办法?
如果想从一个手工测试工程师转向测试开发工程师,可以参考以下的学习路径。
1、先学习编程语言,然后再接触自动化工具。
语言选择上Java或者Python都是可以的,可以先从Python入手,之后再开始Java。在学习语言的过程中,一定要忘掉你是做测试的,把自己当成开发,系统的去学相关的编程知识,因为语言水平的高低,很大程度上就决定了自动化水平的高低。
2、打好基础,而不是本末倒置的学习自动化测试工具不理解http协议,就不会理解loadrunner、fiddler、soapUI这些工具;不理解HTML,就不会理解firebug。所以基础打好了,才会事半功倍。
3、清晰的认清自己,明确自己的目标说白了,咱干什么事情之前肯定要先看看自己有几斤几两对吧,先评估一下自己现在的能力水平,然后再看下自己能够投入什么样的资源(精力、时间、资金)去学习,这样才会知道什么样的内容自己能够搞明白,哪个阶段要请教大牛,别整到最后越学越迷茫;其次就是认清自己能力之后,就要给自己定好合理的目标,多长时间达到什么样的水平。
4、全面了解,选好切入点
目前自动化测试方向大概有以下几个:
A、辅助测试脚本方向:以Shell,Python为主来简化重复的工作,过滤日志等;
B、接口自动化测试方向:Python+Unittest+HtmlTestRuner+Jenkins和Java+Httpclient+TestNG+Jenkins,当然还有很多其他二次开发的框架或工具,不过核心是一样的;
C、页面自动化方向,主要有Python+Webdrver+HtmlTestRunner+Jenkins,Java+Webdriver+TestNG+Jenkins,以及其他的框架和工具;
D、App自动化测试方向:以Robotium+Java+TestNG+Jenkins, Appium+Java+TestNG+Jenkins,Appium+Python+HtmlTestRunner为主。
当然这里介绍的都是简单的,最基本的实现方案,作为入门学习比较合适。其他五花八门的二次开发的框架,包含众多功能的方案留待你以后提升。先从这几方面了解入手,选择一个语言体系,建议从接口自动化入后,然后再去学习页面和app。
5、贪多嚼不烂,学会举一反三新手上路,容易着急,啥都想学,这样就容易混淆,也不好消化。很多地方都是相通的,代码架构、用例管理、等都可以举一反三,既可以提升你的学习效率,也不会混淆。最重要的是不能纸上谈兵,一定要动手去实践。
6、不要受限于工具,多用开源
在测试行业,自动化测试工具有很多,但是大公司趋向于用开源的框架和工具,然后定制适合自己的测试方案。学着用一些开源的例如Webdriver, Appium等去搭建自己的自动化测试工程,然后掌握整体的自动化工作原理,为以后能够搭建自己的工具平台做准备,毕竟搞定自动化,可不是会使用几个工具那么简单。
最后
晋升路线已经有了,打怪升级之后的测试开发薪资也是非常香的哦,我在相关网站上查了测开工程师的薪资,北京地区的平均薪资已经达到了27.7k,所以测开未来的发展前景也是非常好的,还望大家不要灰心!
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取