ChinaTest测试感悟
这次去北京参加ChinaTest大会,听了各位大师和同行的心得和感悟,收获颇多。很喜欢这样的大会,可以听到测试的各种声音各种观点。当没有对错时,需要思考的就是怎样采取最适合当前环境的策略。言归正传,谈谈我听到的和想到的。如有不对,还请多指正,多包涵!主要包括三个观点(限于篇幅原因,挑重点的先)
*******************************************************************************
观点一:“测试已死”。认为越全面的测试越阻碍产品的质量。
其实做过研发的人都知道,测试不是保证质量和提高质量的。真正的质量是全员的。如果一个团队,把产品能不能过关、能不能放出去,寄望于靠测试人员最后的攻关,那这个团队内部的隐患一定不少。就像做一个飞机,最后攻关看上去是可以起飞了,但是制作过程中工艺却没有任何讲究;这样的飞机你敢坐吗?
而且如果用户那里容易出现的问题,测试却没有测出来,会容易导致团队对测试人员的不信任。常会有人问,你做了那么多测试,真的能代表用户的行为吗?还是为了用数据来换得团队的心安?所以你会发现facebook、google都喜欢招最牛的人,来提高质量的基础。(Ps:据James batch所说,并不是facebook木有测试,只是不叫测试人员而已,其实做的是测试的内容),而另一些团队,则会想着降低成本,或缩减测试人员。
你会发现测试团队,最喜欢问的一句话,“我们的价值是什么?”。仔细观察会发现测试行业里有部分现象:不会写代码的,羡慕能写代码的;能写代码的,要显示自己写的东西有多厉害。那么请问这样如果纯粹是为了写代码,为什么不做开发,而去做测试?那么测试和开发的区别又是什么呢?
带来的观点二:测试是首席风险官。从用户的角度看质量,从产品的效果看质量。
你发现研发团队常问,我这个功能能不能放啊,我这个特性能上外网不?其实潜在的台词是,我这个还有什么风险会阻碍我的东西不能使用。特别是互联网的时代,放出去的产品是不可能没有bug的。那么我们需要做的是什么?是要确定所有东西都没问题后才能放出去,还是说我们对产品的风险进行分级,什么可以放,什么放出去有巨大风险;以及放出去的预警措施是什么?相信身处互联网行业的我们,都会有个自己的答案。
而且无论是自动化也好,还是手工测试也好,它的核心是为了能让我们的产品放出去,用户愿意使用。那么这个时候关注用户的行为,从用户的角度看质量就会显得格外重要了!
如果脱离了用户,而是从传统观念,确保放出去的功能看上去没有bug,这个角度是有问题的。因为也许我们认为的bug,对用户来说并不重要;也许我们认为的风险,并不是真正的风险;用户的角度才是王道!
观点三:好的测试应该是开发和测试功底都不错,应该是把自己当做研发的参与者,而不是最后的验收者,给项目增加价值。
测试的目标是把产品做好,是以用户为核心的;是作为一种服务的技术驱动。记得有个百度的同行讲过一个故事,大致是说有个功能,在三款产品中都有;他们分析出用户因为这个功能要同时点击三款产品,非常难用。然后上报给老大,从而改善了用户体验,给项目带来了价值。如果按照常规,会觉得这个不该是测试做的。但是倘若是为项目好,又有什么是不可以做的呢!可要做好这个,你发现测试如果不懂开发,是做不好这件事情的。再比如说如果实现了回放服务端技术,既可以方便测试和定位不可重现的bug,又可以方便做优化。但是这些都是需要有良好的开发功底才能实现的。然而这一切的前提,是你要参与到项目中,否则没法直接发现真正需要的是什么。把自己当做参与者,是非常非常重要的!
by 熊猫