先上我的结论:
只会简单的测试,没前途。
会中级的测试技能,短期内不愁,但长期不好说。
掌握开发技能,将会提升你在行业中的竞争力。
★为什么测试也要懂开发?
一、懂开发,增强职场的抗风险能力。
臻叔希望大家明白一个道理:不懂开发的测试可替代性强,甚至开发都可以在一定程度上做简单的测试。
举个例子:
百词斩app,考过英语四六级的应该都知道,也算是小而美的一家有知名度的企业。但这种量级的公司,居然没有测试,基本上都靠开发自测bug。
大公司RD(开发)和QA(测试)的人员比大概是3:1,也就是3个开发(2个前端、1个后端)配1个测试。但我估计非一线城市+小公司的前提下,这个比值可能会达到6:1以上。
所以开发的招聘需求肯定比测试要多,自然而然的,开发就比测试更好找工作,这种情况在小城市尤为明显。
这是武汉的测试和开发的岗位人数对比图。(数据来源:拉勾网)
开发的招聘人数还是比测试要多不少的(二、三线城市更甚)
当然可能会有人说,你怎么不把开发再细分一些,比如(前端开发、后端开发、大数据开发、算法开发)都分别和测试比较?
我个人认为是没必要这么比较,因为基本上你懂开发,你想转别的开发岗位,都会比较容易,我认识的开发同事,基本上一个个拿出来都是可以做全栈开发的。
另外,有些同学是开发能力暂时比较弱,只能去做测试;有些同学是不喜欢开发,自己主动想做测试;但不管是哪种,你都得提升自己的开发能力。
你掌握了开发能力,当团队某一天遇到裁员危机时,你将会更从容:
进,可以挑战转岗测试开发,甚者是开发。
退,在测试的行业里面,就是头部玩家,相信能敌得过大部分竞争者。
二、测试门槛越来越高,不懂开发面试通过率低。
就很多读者给我反馈的现状是:
普通测试如果学历不给力,加上转行,或者没有实习经历等原因,很难找到工作,基本上都是去外包。
现在面试除了问测试相关的问题,开发的问题也都会问的。
就算通过面试,如果你一直只会一些简单的测试,也是没办法长久的在这个行业立足的。
我每年都会尝试出去面试,不一定是为了找工作,同时也是为了评估自己在市场中的价值。
我发现一个规律:测试或者测试开发,对编程能力或开发能力的要求是越来越高了。这点,测试小伙伴们一定要警惕,“点点点”就能找到好工作的时代已经成为过去式了。
三、作为QA,开发水平好,工作上容易做出亮点,升职加薪、跳槽都简单些。
测试有的时候不可避免,会做一些重复性比较强的工作,如果这时候你可以帮团队开发出自动化测试工具,或者平台,帮助提升测试效率。这都是你OKR或者KPI上很大的一个亮点,可以写在简历上作为加分项。
「review代码」
现在一般互联网公司,都会给测试开放代码审阅权限。
review代码的好处有两方面:
你可以通过白盒测试+黑盒测试的手段去测试,使得测试覆盖更全面,提高软件质量。
你可以通过阅读源码,对自己负责的业务更加熟悉,对自己负责的系统有更深入的了解,当出现问题时,你能够很快定位到问题。
如果你看不到开发写的代码,你至少也应该懂得,如何通过错误日志去排查问题。
如果以上的你都做不到,当上线日来临的时候,你肯定不会特别从容。
「技术Topic」
这个是上家公司的技术Topic,假如说不会开发,你将如何如何完成技术OKR?
另外,在同一家公司,测试开发和测试工程师相比,工资也最少要高20%-30%。而且,现在大厂几乎都只招测试开发,测试都外包出去了。
四、格局
作为一个会开发的测试,你在团队中的影响力会更大。
我遇见过很多人,对测试学习开发技能有偏见:”认为测试就应该干测试的活,为什么要不务正业去学习开发的知识,既然都会开发了,干嘛不去做开发?为啥还来抢测试的饭碗?“
对于这类的人,我不予置评,等到测试行业要优化掉一批人的时候,等着瞧就是了。
作者:程序员臻叔