06
The culture of testing
测试的文化
传统上,软件团队需要编写代码,进行质量控制以对其进行测试以及质量保证以确保整个过程高效且防水。
但是,很明显,对于Google和Facebook,测试并没有以传统方式构建到组织结构中。两家公司都强调个人责任(Facebook羞辱提交错误代码的工程师),并且将测试视为文化的一部分,而不仅仅是将建筑中必须由开发人员清理的部门。
在Google针对与游戏相关的API开发人员的职位描述中,候选人指定“与产品工程团队合作,通过传达开发人员的反馈,审查API设计并测试新功能来改善产品”。
Google聘请了不怕测试的工程师,并从那里建立了流程。
Facebook也是如此。开发人员在职务说明中明确指出,测试将成为职务的一部分。
例如,发布工程师负责管理源代码管理系统,自动化构建和回归测试,构建工具以及软件部署中使用的监控。在Process Street,每个拉取请求都必须提交一个测试。代码经过同行审查,必须通过自动化测试,然后由我们的CTO Cameron审查,并在会议上进行演示。之后,我们会在自己的员工中对该功能进行Beta测试,并在监控漏洞支持之前将其黑暗启动数周。这意味着我们可以相比烦恼测试更快地发布代码。
Google和Facebook使用相同的方法,这些方法被很多初创公司沿用。但是,Microsoft采用了完全不同的方法,并雇用了几乎与开发人员一样多的测试人员。那是否为他们的软件带来奇迹,完全是另一个问题。