君安思危,测试要赶上开发的脚步

  最近碰到了两件事情,让我感触很深,于是想分享出来大家一起交流下。纯属个人观点,非喜勿喷。

  第一件事是逛知乎的时候看到一个开发人员提出一个这样的问题,大概意思是测试部门来了一个新老大,然后新老大定了一个规定,就是要求开发每次提交测试前需要完成一份测试部门给他的自测用例表,全部通过了才能转测试,并且这份测试用例不断的变多,让他很不爽。其实问题倒是没有什么,但是很多开发同学的答案让人感觉在开发眼里测试就是应该帮他们擦屁股的(部分同学先不要激动,看完再说)。

  第二件事情就是最近团队有个做技术很牛的测试同学跟我说打算转开发了(技术牛到开发经常让他转过去),这个同学以前一直在测试做的很好,包括编写团队的自动化框架,持续集成,跟开发一起定位问题,写工具等,工作得到整个开发和测试团队的认可。

  而他想转过去的原因是因为测试的话语权太少了,虽然他努力去做了,但是一直没有很好的结果,还不如直接转到开发去,这样效果会更好。虽然我还是很想留他,但是最后还是决定让他转了,毕竟对他的发展会更好。(还记得前面测试人员职业发展里面的小B同学吗?很多朋友问我他后面怎样了,没有错,就是他,没有看过的朋友继续往下看)

  其实我们团队在测试地位和开发认可上在整个行业已经算是比较好的了(大家通过我的描述应该也能感受到),但是测试的属性就决定了跟开发会一直有差距(不服气的同学继续往下看)。

  下面从几个维度进行比较:

  重要性:开发是将产品做出来;而测试是保证产品质量。如果没有开发就没有产品,如果没有测试呢?嗯,开发可以自测,就算开发测试的不充分也没有关系,对于互联网产品来说,用户也是测试者,还有现在的云测试平台。所以,在很多团队,测试就是可有可无的,特别是一些对产品质量要求不那么高的互联网产品。就算是对直接要求很高的产品来说,开发依然比测试重要,因为没有开发,啥都没有(没有开发这个职业,也不需要有测试这个职业)。

  起点:相信很多朋友都是因为做不了开发才会选择做测试的(真正将测试作为第一选择的很少很少吧,反正目前为止我一个都没有见过,如果你是的话,希望通过留言我们深入交流下,同时有红包)。这样入职的时候至少从写代码的能力上确实比开发要差一些。其他方面的能力和基础知识暂时还没有体现出来,就不评价了,而且一般应届毕业生开发也比测试工资要高一点。

  成长:过程中开发是全职写代码,测试是兼职写代码。所以,从代码来说差距只会越来越大(我上面举例的那个同学是一个例外,而且团队也给予了更多的机会)。而且大家都知道,测试要求的是广度,而开发要求的是深度。就是说测试关注业务,以及会各种技术,包括数据库,网络,linux,测试理论等。而开发则是某一方面的开发技术。嗯,大家应该知道很多东西都是入门简单深入难的。而这些技术的深入一般都会接触代码。谁的成长会更好呢?

  核心竞争力:提到成长后自然会谈到核心竞争力(前面的一篇文章给大家分享过核心竞争力,大家没有看过的可以再看看),开发的核心竞争力就是coding的能力和系统架构的能力,而且这些都是公司很看重并且摸得着的。那么,测试呢?大家应该能感受到很多公司招聘测试都是要求会写代码和熟悉业务。也许写代码的能力也会是测试的核心能力吧!而测试的测试分析能力却很难体现出来。

  职业发展:关于测试人员的职业发展我前面在软件测试从零开始系列文章里面已经介绍的非常多了,大家感兴趣的话可以通过回复(软件测试资料+自己的邮箱地址,需要先关注大话IT公司)来获得。这里重点跟开发对比一下,测试岗位的尽头是测试总监,而开发是研发总监,甚至是CEO。测试总监到研发总监的机会很少很少(不排除有,但是我还没有听过)。

  有的人说测试比研发更加懂用户和产品,所以更加容易转产品。不知道是哪来的错觉,首先不管是从开发转产品还是从测试转产品都是小部分人的事情,而大家会发现开发人员那些做的好的人都是对产品理解比较好的人(腾讯就要求开发人员具备产品意识),而且他们更加知道如何将产品跟技术结合起来。测试呢?其实一直在开发的后端(产品经理一般跟谁沟通的比较多?)

  待遇:终于到本质了,这里不用摆道理,大家应该普遍能够接受测试的工资比开发要低吧!或者随便找些招聘岗位看看就知道了。问题的原因还是因为开发能够创造更大的价值。而且一个很牛逼的开发的确不需要测试人员。另外,忘记说的是其实测试一个很重要的职业就是通过不断提高开发写代码的质量来干掉自己。

  以上是现实,不过如果不说完下面的话,很多朋友要喷我了。

  1,上面说的是测试的职业发展前景不如开发,不是测试人员不如开发人员。

  2,说的是整体情况,毕竟开发也有很多码农,测试也有精英,不要拿这样的例子来对比。

  3,没有说开发一定比测试好(虽然绝大部分情况是这样的)。而且确实有的人适合做测试,不适合做开发(这个后面会讲到),那么你选择测试对你来说更好,所谓适合的才是最好的。

  还没有完,那么很多同学就又有疑问了:说的测试这么悲观,那么作为测试人员应该怎么办呢?

  1,认清并且接受现实,同时保持良好的心态,安心的做好一个测试人员该做的事情。不用想着一定要跟开发比较,毕竟测试没有开发的压力那么大,同时好歹也是一个技术岗位。这种情况比较适合把工作就当成工作的同学。

  2,改变从转岗开始,如果自己不能够接受并且对测试本身也没有太大好感的话,就尝试转岗吧。学技术转开发,学产品或者运营都可以。

  3,发现测试的乐趣,同时提高自己的技术能力,进一步能够影响开发,争取在测试领域成为专家,这样比大部分开发人员也会混的好。

  4,承担好测试的职责,同时对质量负责,以提高产品的质量为目标。这样也会让自己更加有动力,但是前提是你有一个同样对质量强势的老大(同时还要得到高层的支持,一般适用于对质量要求比较高的产品),否则你会过的很郁闷。

  5,学习技术,然后推动开发测试融合,相信很多团队也这样做了。这样其实淡化测试人员的概念,大家一起承担责任,不过依然任重道远。而且既然这样为啥不直接选择做开发呢?

  其他的欢迎大家讨论,而且个人觉得随着人工智能的发展,后面可能会有自动写代码的机器人出来,到时候70%的码农都会面临职业的挑战,而在这之前70%的测试人员特别是手工测试人员可能会先消失。

  其实现在就出现很多新技术对测试人员有挑战了,比如testin,还有腾讯最近推出的专门针对游戏和app的优测云测试平台等。相信后面会有更多新的技术来替代测试人员(特别是手工测试人员)。

网友评论