让我们先由2个问题引出的话题,第一,为什么选择做测试?第二,做测试的发展又如何?

  第一个问题,你为什么要选择做测试,我敢说十个人有九个不会说实话,什么测试能够让我开阔视野啦,测试同样也需要很好的技术啦,全是虚伪的借口。真正地答案只有一个,测试的收入高,要求低!(注意是相对你的能力比来说收入算高,因为你要是选择做开发,肯定不如现在的收入)不管你愿不愿意承认你都得承认,这是绝大部分测试入这一行的原因。

  第一个问题的答案决定了一个事实,测试团队的发展永远不可能像开发团队一样,随着公司的发展而发展,为什么呢?成本! 世界上没有傻逼的公司,你的公司之所以能够存在,是因为它善于控制成本。站在管理层来看,测试团队是一个“显著”消耗成本而又不“显著”创造价值的团队。

  第二个问题,测试的发展如何?既然我们的收入又不低,那么干的得比人家多,你说是不。人家接一个客人,咱得接三个。作为测试的你,是不是有同感?

  那么,第二个问题的答案是什么呢?答案是这篇文章的title,测试团队将慢慢死去!像《黑天鹅》的作者塔勒布所讲的,这个世界是由一系列不可能发生的事件组成的。测试团队死去这件事情随时可能发生,你要做的,是要提前做好准备!

  我喜欢描述这样一个场景,一线测试工程师对着电脑在干活儿,左边的高层管理着指着他的鼻子说“别再跟我要head count,我要控制成本!”,右边的中层管理着指着他的鼻子说“去给我拓展业务,我要创造业绩!”,中间的你,那一脸苦逼的表情,还用我描述吗?

  我认为,测试团队的发展大概要经过这样三个阶段。

  第一阶段,公司快速扩张,不计研发成本,当然测试也不例外,每天都在非常happy的招人中。。。。

  第二阶段,经过第一阶段的快速扩张,你的测试团队积累了大量的高级测试工程师,成本已经开始进入高层的考虑范围,技术部开始考虑适度控制成本,而此时,控制厉害的,肯定是测试团队,当然裁员首先也会从测试团队开始。如果你幸运的没有被裁掉,不要盲目乐观,还有第三阶段。

  第三阶段,(我认为我所在的公司正处于这个阶段)严格控制测试成本,老大们开始考虑将测试工作向上游转移。此时大量的词汇开始进入我们的KPI,什么推动单元测试,推动开发自测,控制提交测试质量,等等,等等。

  讲到这里,的关键出现了,如何将测试的工作向上游转移呢?答案是第四阶段,让测试团队慢慢死去。。。。

  节省测试成本的好方式是把自己干掉!没错!下面我说说方法。

  测试团队当中,首先应该干掉的是纯手工测试工程师,因为他们的性价比是低的(有些公司这个时候会选择测试外包)。然后,开发测试工程师当中出色的那部分,会加入开发团队当中,不出色的将被淘汰。他们有一项艰巨的任务,那是,以开发自测为基础,为开发团队建立起一套完整的基于风险的质量控制体系。开发做测试不是能力问题,而是思想,思想却是难以改变的。这也是好多人天天说要推动开发自测却没有进展的原因,没有认识到改变别人思想的工作有多难!我提的办法呢一石二鸟。开发测试工程师转入开发团队,既能节省测试成本,又可以帮助开发转变思想,以一带二,以一带三,逐步完成开发团队,全民皆测试的目标!

  那么后,测试团队中还剩什么呢?只会剩测试工具组。他们为全公司提供测试工具,平台和流程方面的支持。极少量的团队会保留纯手工测试工程师。但是,你不应该看到“开发测试工程师”这个title,因为他们已经成为了开发团队中的一员,一起开发,一起测试。。。

  插一段说明,我觉得不必说,但有些人会这么想的。有人会说测试团队应该保留一些测试职位,负责集成测试,系统测试和性能测试。这样说的人很多,但没有过实践经验。为什么呢? 没有与开发天天在一起讨论问题,功能测试这个阶段,怎么能做好集成,系统测试呢? 不要妄想了,这些工作也会由开发团队完成。你可能会觉得开发工程师怎么会做呢? 他们为什么不会做呢?别忘了那些转入开发团队的开发测试工程师有一项艰巨的任务,“以开发自测为基础,为开发团队建立起一套完整的基于风险的质量控制体系”,其中包括测试分工这些在测试团队习以为常的工作。我相信,开发暴发出来的测试能力是你想象不到的。

  接下来可能要转换一下角度,站在开发角度来看,他们愿意接受这样一个变化吗?答案是不一定,但只有开发负责人愿意没问题。我不刻意想学习google,facebook那种模式,但我想说,开发懂测试是一个必然趋势,如果你不想像测试一样被淘汰的话,还是接受吧。

  测试是一个矛盾体,我们过去,现在,将来一直会做的事情是让自己死掉(提升开发测试比,开发自测,等等,这些工作我们不是一直在做吗?)。

  作为测试的你,能做什么呢?如果你不懂开发,要赶紧去学开发,学设计。如果你懂开发,那还是要学开发,学设计,技术没有止境。有人跟我说“你过于强调技术,其实测试思想才是重要的”,我认可这种看法,但不完全同意。因为技术能力会束缚你的测试思想,同样也会拓宽你的测试思想。试想都不懂tcp/http协议,怎么测试web server呢?

  空谈误国,实干兴邦,牢牢把握技术才是王道!

  上面这篇文章是前阶段淘宝前辈邓悟写的,感觉有一定道理,拿过来跟大家分享下(已得到前辈同意);关于测试团队的前三个阶段发展的论述比较赞同,感觉现在好多大公司的确也有这种趋势;对于第四个阶段不发表评论,感觉测试职位只是一种合理分工的产物,如果这种分工方式对于公司来说成本相对较低,公司当然会保留;对于前辈说的这种可能对于国内大多数公司感觉暂时不太可能(未来不做猜测了),当然像淘宝这样的公司要另说;对于前辈说的“技术”,我的看法也是多多益善,但是人的精力毕竟有限,要结合实际工作做取舍。