测试团队的“核心价值”应该是什么?这个问题无数次被提出,又无数次在讨论中归于沉寂。所谓的“核心价值”,恐怕在不同的组织和不同的产品中很难达成一致,因此,归于沉寂也就不足为奇。
但“核心价值”的问题本身确实值得探究,因为没有价值观的认同,就很难去讨论测试的前进方向。在不少测试相关的会议上,我的演讲都旗帜鲜明地把“价值”作为测试理所当然的前进方向,在我看来,测试本身需要找到自己存在的价值,然后才可以讨论“该做什么”和“该怎样做”。
据说IT工程师在想要转行时,通常的第一考虑是开餐馆或是咖啡店,坦白说,我也曾有过这样的念头:)现在,假设我终于要离开IT行业,转行去开个咖啡店。于是我选择了一个在我看来合适的地段(某IT人士集中的写字楼下),用多年积攒的工资缴纳了租金,然后正式开始了我的咖啡店老板生涯……起初,一切都非常完美,我按照自己的规划装潢了这家咖啡店,用的是我最喜欢的墙纸,欧式的格调,柔和的灯光,散发着柔和光泽的咖啡用具……嗯,连音乐都是我精挑细选的,应该说,这就是我梦想中最完美的咖啡店。可是,在按照我的心意打造了这家咖啡店之后不久,我突然意识到了一个大问题。那就是,似乎我的客户和我在品味上并不一致,虽然有些人口头表达了对我这家咖啡店的认同,但实际情况是他们很少有足够的耐心等待细致的咖啡制作环节完成,甚至一段时间后,有人问我能不能提供火锅。提供火锅?!这可不是我的梦想,我的梦想是全世界最好的咖啡店!在断然拒绝他们的无理要求之后,毫不意外,我的咖啡店生意越来越差,梦想还在,但离赚钱的目标却越来越远……
好吧,实际上,我还不打算现在转行去开咖啡店。讲这个故事,只不过是想以咖啡店老板的心态来探讨测试团队的价值取向。把故事里的咖啡店老板换成测试团队,你会发现其中有不少的相同点:
1,测试团队按照自己的梦想建立了“完美的”测试体系(测试流程、自动化测试工具、缺陷跟踪与分析体系等);
2,开发工程师偶尔也会赞扬这些看上去很完美的流程、测试用例等,但却始终关心这个问题:“你们能不能在我们每次修改代码之后帮我们验证一下”;
3,显然,测试团队会非常不喜欢开发工程师的要求,断然拒绝;
4,测试团队继续着自己的梦想和期望,长吁短叹开发对自己的不理解与不认同,然后……
那么,我的问题是,如果你是咖啡店的老板,你准备怎么做?显然,一旦了解谁是客户,你立刻就会明白:如果客户要的并不是环境优美、格调高雅的咖啡店,那么我们就提供给客户他需要的东西。如果我们的目的是最终盈利的话,显然,在这种情况下把咖啡店改成火锅店会更加合适一点。
回到测试团队的话题,谁是测试团队的客户?单纯的说是开发团队也不尽合理,实际上测试团队和开发团队的客户一样,都是产品的直接用户。但考虑到开发团队的直接产出是用户可使用的软件产品,测试团队把开发团队当成自己的客户还是合情合理的。
那么,当客户对你说他想要火锅(持续不断地对提交的产品进行验证),而不想要格调高雅的咖啡(晚上的流程、分析等),你该怎么办?最直接的反应是把咖啡店改成火锅店,提供火锅而不是咖啡。所以,测试团队可以用手工的方式帮助开发人员验证不断地验证产品,直到……自己再也无法应付为止。更好的方法也许是探寻客户真正的需求,例如,一个不断要求火锅的客户很可能不是非火锅不吃,而是因为他喜欢吃火锅的热闹,选择的自由,以及在花费不多的情况下鼓腹而出。那么,我们大可以给他提供他真正想要的东西。当开发人员对测试团队说“我需要你们在每次提交后对产品进行测试”,他真正想要的只不过是能够有一种机制,使得每次代码提交之后都能验证产品是不是存在明显的问题。通过CI、分层的自动化测试,测试团队可以用更轻松、更快捷也更优雅的方式解决开发团队的问题。在这个基础上,也许你还可以说服开发团队建立一系列的标准,用于评估产品的生产率和质量,让测试团队和开发团队一起推动持续的生产率增长和质量提升。
也许,对测试团队来说,咖啡店不是个最好的比喻(毕竟不是每个测试工程师都像我这么没有想象力)。但当你下回纠结于“开发工程师为什么不接纳我们辛辛苦苦建立的流程”的时候,至少可以把自己想象成咖啡店老板,换个角度想想你的客户需要什么样的服务。
本文作者简介
段念,工程副总裁@豆瓣。对软件开发管理与团队管理颇有兴趣,喜欢和各位同好交流。
原文转自:http://www.infoq.com/cn/news/2013/07/testing-and-coffeeshop