测试思路系列:《谷歌的软件测试之道》读书笔记

一  谷歌的测试理念

谷歌专职测试人员很少。

把开发过程和测试融合在一起——开发和测试必须同时开展。

写一段代码就立刻测试这段代码,开发人员要对自己写的代码负责,比专职的测试人员更适合做测试工作。

质量更像是种预防行为,测试的目标是判断这种预防工作做的怎么样。

开发(SWE software engineer):编写测试用例代码,负责单元测试。

测试开发(SET software engineer in test):注重可测试性,编写单元测试框架、自动化测试框架。

SET是SWE在代码库上的合作伙伴,与增加功能性代码或提高性能的代码的SWE相比,SET更加关注于质量的提升和测试覆盖率的增加。SET写代码的目的是可以让SWE测试自己的功能。

测试(test engineer TE):TE把用户放在第一位来思考。TE组织整体质量实践,分析解释测试运行结果,驱动测试执行,构建端到端的自动化测试。

测试每18个月可以自由转岗,以时刻保持新鲜感和忙碌。

一个产品在给用户使用前,要经历金丝雀版本、开发版本(每周一个)、测试版本(每月一个)、beta或正式发布版本。

测试类型:谷歌没有用代码测试、集成测试、系统测试这些名字,而是小型测试(一般都是自动化,验证单独函数或独立功能模块,mock环境,运行几秒)、中型测试(自动化测模块调用,运行几个小时)、大型测试。

谷歌自动化为主,但也有手工做探索测试。

二  测试开发工程师

谷歌非常重视代码审核,谷歌的四大主要开发语言:C++、Java、python、JavaScript。

审阅设计文档要具备一定的目的性,需要完成特定的目标,而不是像读报纸那样随意看两眼。关注:完整性、正确性、一致性(图文描述等)、设计(框架是否有缺陷、设计是否太复杂)、接口与协议(定义是否清晰、与其他产品是否能对接)、测试(设计是否考虑可测性、选用什么测试框架)。

在端到端自动化测试上过度投入,常常会把你与产品的特定功能设计绑定在一起。

为了使SET也成为源码的拥有者之一,谷歌把代码审查作为开发流程的中心。相比较编写代码而言,代码审查更值得炫耀。谷歌内部有工具可以把提交的代码先做自动化检查,再自动发给有资格审查的SWE或SET,检查完成后工具会自动给开发者发邮件,来回重复几次,直到审查者满意。

三  测试工程师

四  测试经理

五  谷歌的测试未来

附录:Google Chrome OS(是一款基于Linux的开源操作系统)的测试计划。

这本书网上有很多读书笔记,我就不总结了。

原文地址:https://www.cnblogs.com/zhaot1993/p/13765239.html