谷歌的工程师质量文化修炼之路

—— 《Google 软件测试之道》再读心得

前言

《How google tests software (google软件测试之道)》出版于2012年4月,当时翻看过一遍,大多数内容来源于googletests网站。由于马上的企业内部培训要引用一些内容,因此,利用上个周末的休息时间,重新读了一遍《Google 软件测试之道》,并认真整理了书中的内容,包括一些事件时间线,您可以下载文末的脑图笔记。通过这次整理,让我更加深入地理解了企业文化变革成功所需的要素。

一、危机

任何组织变革都始于危机,而这种危机既可能来自于组织外部,也可能来自于组织内部。谷歌的危机主要是快速膨胀的软件需求量、软件质量要求的提升、开发工程师数量的激增、不熟悉的测试领域(2006年收购youtube/gmail)所引起的。

应对危机的方法有两种,一是沿用这种劳动密集型的流程增加更多的人手;二是改变整个游戏规则。谷歌选择了改变游戏规则。

二、思想领导者

Patrick Copeland于2005年3月作为高级测试总监加入Google,并成为google测试变革的领导者和推动者。他认为 “变革Google测试的首要问题是重新定位身为测试人员的意义所在。”,并提出“质量不等于测试。当你把开发过程和测试放到一起,就像在搅拌机里混合搅拌那样,直到不能区分彼此的时候,你就得到了质量。”

在变革启动之时也是异常艰难。不仅仅是开发工程师不认同“测试人员应该和SWE一样具有良好的编码技能”,即使是测试人员自己,也喜欢沉湎于老的做事方式,一边抱怨自己在SWE面前地位低下的同时,一边又不想去改变做事的方式。

三、安全、信任、鼓励创新

“这里是 Google,如果你有想法,尽管去做就是”——这是Patrick的老板对他说的话。同时,“百分之二十的时间”也发挥了作用。“百分之二十时间”是指 Googler所说的“业余项目”。即:允许所有 Googler 每周投入一天时间在他的日常工作之外的项目上。每周四天工作用来赚取薪水,剩下一天 用以试验和创新。这并不是完全强制的。

四、与之配套的组织机制

1、人才

需要考虑变革所需的人材结构。当变革所需的人材不足(或不存在)时,“招聘”是一个快速建立人才梯队的一个渠道。然而,Patrick Copeland在书中提到了招聘的困难程度,“合适的人选被莫名奇妙的问题拒之门外”。在这方面,得到了Larry Page(Google公司创始人之一)的支持。Patrick 道:“这些辩词最终会到达 Google 联合创始人 Larry Page 手里(他一直是招聘的最终 批准者)。他批准了足够多的候选人,我的团队开始稳步增长。”

2、组织结构

Patrick加入之前,谷歌的测试人员与开发人员共同隶属于同一产品线的组织之下。为了能够快速建立新一代的测试能力,公司里所有的测试人员都最终汇报给Patrick,而他恰好跨级汇报给Larry Page, Google 的联合创始人和 CEO。

3、预期行为的鼓励机制

来自《跨越鸿沟》

上图为《跨越鸿沟》一书中提到的鸿沟曲线,指一项新技术被采纳过程中,不同人群对它的响应。虽然在大多数情况下,即使很多新想法可以在少数人群中取得成功,但是当其扩大到更大范围的人群时,也会遇到巨大困难。

为了能够让组织向变革方向前进,必须有相应的鼓励机制。(1)由于很多开发工程师不会编写良好的自动化测试用例,就组织各种培训和宣传(海报、内容网站、TotT、指派测试教练等);(2)由于测试人员的总数少,并不是每个团队都能够得到测试人力资源。也就是说,测试团队有权根据实际情况决定是否为产品团队提供人力支持。这为建立工程师测试文化提供了组织支持的引导暗示;(3)测试认证在公司的全面展开使这一机制得到强化;(4)测试认证相关的积分竞赛。(5)信息全员公示。每个季度都公布各团队的认证级别。

五、“坚持”和“时间”

变革并不是每时每刻都能产生收益。虽然几个志同道合的总监启动了这个新想法,但是在最开始的几个季度进展缓慢。即使在测试认证推广到100个团队时,扩展速度也会变缓。整个历程自2005年底开始,直到2011年,整个机制和文化才算能够自运转,许多团队已经进入“自我调教”的模式。

后记

书中还有一段对“未来”的规划描述。对出版之时(2012年)来说,它们是畅想,而现在,很多已经成为事实。

1、测试去中心化

由于技术能力和基础设施基本完善,测试团队开始进入到产品开发团队,实现Patrick Copeland的目标——“直到不能区分彼此的时候,你就得到了质量”。

2、SRE计划

2012年启动的SRE计划,现在已经成为现实——参见《SRE:Goolge运维解密》一书。

3、测试工程师到测试设计师

在各种工具完善之后,测试工程师会转型成测试设计师。只需要少量的测试设计师快速地规划出测试范围、 风险热图和应用程序的漫游路线,通过各种免费方式达到质量(例如Chrome的金丝雀版本、开发版本、dogfood 版本、早期用户版本、众包)等。

4、SET消失

SET将会消失,全部成为SWE,测试成为产品的一项功能。


关注持续交付2.0 微信公众号,回复“google”,

下载《Google软件测试之道》脑图笔记。 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据