《google的软件测试之道》读后感
这本书让人见识了一流互联网公司是如何做测试的,有很多感想但不知从何写起,也许太久没有写字,更别说读后感这种东西,简单罗列下让我印象深刻并且认为极为重要的几点:
1. 一个团队能写出高质量软件的唯一途径是全体成员共同对质量负责,包括产品经理、开发人员、测试人员等所有人。
对这个观点感触很深是因为,在我们实际的工作中,产品、开发与测试的工作是有部分脱节的,大家在各自领域都是专业的,而在共同保证产品质量这一终极目标上是有不足的,这三个角色都只关注自己的角色,而不是产品,没有精力也没有能力延伸到其他领域。
2.保证质量是开发者的任务。
测试先行,在一行代码都没有的情况下,一个开发人员就会去思考如何测试他即将编写的代码。比如边界场景测试,数据取值从极大到极小、导致循环语句超出限制范围的情况,另外还会考虑很多其他的极端情况。这些测试代码会作为产品代码的一部分,以自检代码或单元测试代码的形式与功能代码存储在一起。如果每个开发都能有这样的态度,那么代码质量会高很多,测试和开发都能从堆积如山的bug中解放出来,把注意力放在更加重要的地方。
3.测试人员也应该是一个开发人员。
Google是一个崇尚代码的公司,测试有两种职位:测试开发工程师和测试工程师。测试开发工程师的招聘要求是,具有测试意识的开发人员,所以测试人员应该提高对自身的要求,不应该觉得我代码写不好所以做测试,写不好代码也同样做不好测试;测试工程师的招聘则更加要求严格,因为这是一个综合性的角色,既要有用户思维,又要有组织协调各部门的能力,同时也需要一些代码能力。
4.测试驱动开发
在Google这样一个代码至上的公司,为什么测试可以驱动开发,一方面测测试工程师代码能力出众,为开发提供了各类方便使用的测试框架,另一方面,测试人员做了大量的测试推广与口碑建立。
5.Google的公司文化很有趣
Google每到周五的下午会有一个thank god,it's Friday的聚会,大家可以讨论问题,发表议论,既是一种放松,也是一种交流与进步。并且Google允许每周20%的时间花在与手头上的项目无关的其他自己感兴趣的研究项目上,许多成功的google产品都是这20%时间的产物,并且允许在一个部门工作满18个月后就无条件调岗到其他自己感兴趣的岗位。
6.ACC模型评估产品风险热力图
关于这个模型,Google已经发布了他们的开源产品,google测试分析系统(Google test analytics)。
暂时总结这么多,这本书处处有惊喜,有很多激发新的测试思维的细节,也有很多很棒的公司文化的琐事,当然也有一些看不懂的测试方法和技术,还需要在测试经验增长的过程中进一步深究。