Google的测试理念有什么与众不同?Google的快速开发、快速发布的秘密又是什么?最近在读《Google软件测试之道》,了解了Google的测试理念、自动化测试技术、测试团队的组成。如果你关注团队的效率,有很多理念值得借鉴,很多实践值得尝试。
质量不等于测试
质量不是被测试出来的。传统的开发方式是: 开发人员开发新功能,测试人员编写测试计划。功能开发和测试隔离对立。如何保证软件具有很高的质量?把开发过程和测试同时开展,相互融合。写一段代码就立刻测试这段代码,完成更多的代码就做更多的测试。让写代码的开发人员承担质量的责任,开发人员本身就是测试者。
一个完美的开发过程是怎样进行的呢?
测试先行,在一行代码都没有真正编写之前,一个开发人员就会去思考如何测试他即将编写的代码,他会设计一些边界场景的测试用例,数据取值范围从极大到极小、导致循环语句超出限制范围,另外还会考虑很多其它的极端情况。这些测试代码会作为产品代码的一部分,以自检代码或单元测试代码的形式与功能代码存储在一起。对于此种类型的测试, 最合适且最有资格去做的人, 其实就是编写功能代码的人。
编写功能和测试代码的思维方式不同
编写功能代码和编写测试代码在思维方式上有着很大的不同。对于功能代码而言,思维模式是创建,重点在考虑用户,使用场景和数据流程上;而对于测试代码来说,主要思虑是去破坏,怎样写测试代码用以扰乱分离用户及其数据。
理想的程序员
编码能力很强,可以写功能代码;也是一个能力很强的测试者,可以测试任何产品。在看到一段代码的时候,