这是一条知乎上的问题,我尝试着答了一番,不光给别人提供了参考,也给自己解了惑。
不论是准备踏入这个岗位,或者已经做了一段时间,又或者做了好几年的测试开发的读者来说,核心竞争力都是需要关注的一个方面,这决定了这个岗位是否可持续发展,以及如何设定自己的目标去维持自己的竞争力。
原问题是这样的:
本人某大厂测试开发工程师一枚,人都说在工作要培育核心竞增力。那么,测开工程师代码能力不如开发,测试本身可替代性又很强,业务理解能力又不如产品。那么,测试开发工程师的核心竞增力和不可替代性到底在哪?
以下,是我的思考:
为什么大厂要设测试开发这个岗位?
1、大厂对产品质量要求非常高,互联网的用户都是很挑剔的,竞品比我方质量更好这还像话吗~~~
2,大厂之间的竞争非常激烈,我方发布一个新功能要一个月才能上线,竞品一周就上线了这还像话吗~~~
因此,一个具备将测试效率大幅度提高,并且能够深入到更底层进行测试的群体就应运而生了。
测开的代码能力不如开发,如何破?
了解大多数开发的工作流程以后就会明白,开发通常是在某个领域比较深入,比如做 Android 的,那么对 Android 非常精通,但让他马上开发一套后台管理系统,绝对做不到!
实际上,对测开的代码能力要求不是建立在深度上, 而是在广度上。我私以为,一个非常优秀的测开,应该是移动端 + Web 端通吃的全栈人才。
我可以为了业务需要开发一套自动化任务管理系统,也可以现撸一个 APP 出来跑测试用例。
因为是测试使用,所以一些开发要关注的高性能,高并发,其实我们不需要太多关注,所以就有时间拓宽广度。
测试本身替代性很强,怎么破?
如果明白了大厂为什么要设测开这个岗位,那么这道题其实已经解了:那就是开发离不开优秀的测试。
大厂面对的用户群非常庞大,因此他的业务系统就会极其的复杂,对这样的系统的功能,稳定性等多方面进行高效测试,这不是开发干得了的事,也不是一般测试干得了的事。测试这样的系统是一件非常专业的事。
所以这对测开的要求是什么?不是简单会写个管理系统,开发个 APP 就完了,要熟悉开发的各种复杂的系统,它们的测试方法是什么,它们的性能瓶颈在哪里,才能针对性地设计测试工具进行测试。
业务理解能力不如产品,怎么破?
如果跟产品有过比较多的接触,就会明白,很多时候产品自己也不知道自己的需求到底有没有用,能够给公司带来多少收益,他必须去试一试。这就像有的公司会同时开发好几款产品,只要有一款爆红,那公司的流量就起来了。
所以产品并不好做,成了,一炮而红(像张小龙龙哥这样),不成,就继续憋着吧。
但测开不一样,想爆红几乎没有,但想过得平稳却更容易些。
所以在业务这条线上,产品是需求的发起方,测开就是需求的评审方,产品质量的保证方。大家是协作关系,缺谁都不行,除非你有意要往产品方向发展,那就是另一个问题了。
最后
我认为测开真正要担心的,其实是现在只有大厂才设这个岗位,只能在一线新一线城市才找得到饭碗,但是小城市就难了,让你去做开发吧,好多开发技术确实也不太熟,让你去做功能测试吧,又觉得发挥不了自己的真正价值,这才是关键。
只要在大城市一天,测开就一定有饭吃,核心竞争力其实就是一条:对各种复杂业务系统的理解,测试方法的积累,能深入到代码层做测试,能在 Web 和 移动端通吃。
喔对了,为什么互联网大厂特别锻炼人,不是因为他们压迫式高强度的工作,而是他们复杂的系统开启了更高层次的测试视角,这是很多行业无法比拟的。
源自公众号 henryWoo