我曾经也是一名自动化开发的测试工程师,今天写这个题目是想分享一下工作 8 年来转型的一些心得,所有心得均来自我和我的团队兄弟们一路走来的点点滴滴,希望能对大家有帮助。
第一个要分享的话题是,测试工程师为什么要转型,会面临什么样的问题
测试工程师要转全栈开发,这个词就想一颗炸弹一样在 2 前年扔在我的部门里,当时对于自己来说差别不大之前写工具,现在写业务产品,但实际上后面体会过了其实不是这么回事;当大家听了这件事只有我总结了一下,大体上分 2 类,第一类针对和类似的之前搞工具研发的基本思想是换个东西写,关心的更多的是坐那个产品,技术方面还缺什么,第二类是偏业务测试,开发功底一般,或者专职类的如性能测试他们最担心的是如何生存,产生了困惑,甚至开始对测试这个职业开始否定。最后的结果就是很多人离开了,留下的继续前进思考着。在这里回头在看,为什么要转型,我是这样看的,一个公司大了以后,要解决效率问题,此外还要盈利等等吧。关于效率问题很多公司的配置我想大家都了解测试部门,研发部门当这 2 个部门 1+1 大于 2 的时候老板不会管他,但是当出了效率问题的时候,麻烦就来了,在基于另外一个因素很多测试部门并不能直接创造营收,都属于服务支持部门,所以测试转型我理解这个是公司组织效能的一个思考,从这个角度看这只是操作的一种手法,一种有些破釜沉舟的方式;相比一些温柔的手段测试合并到研发产品线管理我个人觉得前者是从质的改变,也是对人才结构的调整,而后者仅仅是组织层面的协调。
当然还有一个原因是我觉得测试工程师转型也是必然,但是未必是全栈开发,这个疑问留下我后面的话题说完我想可能大家就明白了。暂且留个思考吧:)
第二个要分享的话题是,什么是全栈
这 2 个字在 2 年前不知道该死了多少人,今天在看只是我们的理解太粗浅了,现在想一下这也是公司的高明之处,让你自己去理解,这样每个团队的理解就会具有自己的特色。这 2 字我个人是这么看的,全栈不等于全能,并不是什么都要会,那么具体是什么呢,首先还是要根据你面向的业务产品或者你所在领域去看,以我们团队为例,我们是做业务应用偏 web 层产品,使用语言主要 java,那么对于全栈我的理解是我能在这里活下来的技能,而且是在最恶劣的环境下存活,那么什么是最恶劣的环境,我认为只有你自己一个人 own 一个产品,那么这时候要活下来我就要具备多个角色的能力,产品,开发(前端,后端),测试,运维,网工,运营等,但是我之前只是一个纯碎的后台开发,那么我就去掌握其他的技能,让产品运作起来,当然这个例子是最极端的情况了;而在测试转型全栈的道路上,个人理解其实仅仅是把开发,测试,运维角色做了一次人员知识结构优化,这样看如果仅针对研发和测试来看,全栈就是,开发要会测试,测试要能开发业务,而且都要具备运维的能力。说到这里我想大家应该理解我说的全栈了。
第三个要分享的话题是,测试真的都要转向全栈开发?如果转需要什么
其实测试都要转全栈开发这个听起来就像测试难道真的要消亡吗这样的命题,答案是肯定的,测试不会消亡,所以都需要转全栈这个事情个人认为也不是必须,但是一切都有前提。在今天的很多互联网公司,这种转型似乎一直在翻滚着,我个人理解不管怎样,还是像上面说的你要生存你需要什么,举个例子,功能测试往往大家都觉得可替换性高,其实我不这样看,比如文档测试工程师,这个职位很多公司时不具备这样的人员的,这方面的人才也少,这个在于这个领域中的专业性。那么回到一个最常见的无边无际的 web 产品,移动端产品的功能测试工程师,我理解如果要想生存必需掌握这个产品领域里面的知识,绝对不是从 PRD 里设计出来的测试用例,也不是你搞的什么 xxx 工具,真正的价值在于你对行业和领域知识的思考,所以一切原则不变,如果只要一个人,把他变成你,这并不是说不可替代,在企业里没有绝对不可替代的人,所以只要做到不怕被替代。
在总结一下,不管从事哪个方面的测试,找到你能生存的东西就可以了。
接下来说一下如果真的要转,需要什么,依然用我们团队来说,前面我提到了,虽然大家都是工具开发出身,去写业务应该没什么,但是我们的经历告诉我真实并不是这样,虽然很多的理论是相通的,但是面对业务场景只有真的去做的时候很多事情你才能理解。所以我的感触是,不是说你之前做测试开发的就一定可以搞业务开发,说个实际的场景,你可能是测试分布式系统的,你会开发,让你讲可能说的头头是道,但是让你开发一个那是另外一回事。我个人感觉是今天的许多测试功能师面对的一个通用问题就是这样的,尤其是做过的大项目比较多,接触领域比较多的,往往面试时可以讲的惟妙惟肖,但是仔细听听多数在告诉你这个东西是什么,多么多么牛,目前为止见到的能讲为什么的个位数。说了这么多,其实总结转型必需:执行力,你认为他是这样就去用代码证明你的想法;技能要靠自己,多看看开源产品源代码,个人是最快速的通道;一个挑战,测试经常是知道 what how 的,但是更需要的是 why,假如你把你这块领域里的 10w 个为什么都搞懂了,我想你必然是大牛!
以上是一路走来的一些感受,再次希望对正在痛苦中的,或者迷茫的有所帮助;其实不管生活还是工作只要找到你生存所需,我理解就是你的全栈。