图7:那些离开谷歌的测试先驱们
这些离开谷歌的测试先驱们,许多都去了硅谷其他的科技公司,并且将谷歌的测试经验和文化带了过去。
从某种程度上可以说,他们将谷歌测试文化发扬光大,形成了硅谷测试文化。
测试小分队早期焦点人物Mike Bland在离开谷歌时,在个人博客中骄傲地写道:我们改变了这家改变天下的公司。
We changed the company that changed the world。
他厥后参加了苹果公司。在苹果,他组织和发起了苹果质量文化倡议(Apple Quality Culture Initiative)活动,改变了苹果的软件质量文化。
图8:大同小异的谷歌测试文化与苹果测试文化
7 测试职业厘革
谷歌测试文化的巨大厘革,在繁荣开发者测试的同时,也给测试工程师的职业发展带来了很大的冲击。
在谷歌,名称中带有“测试”的岗位有两种:测试开发工程师(Software Engineer in Test, SET)和测试工程师(Test Engineer, TE)。
随着开发工程师徐徐承担主要甚至全部的测试工作,以及DevOps、CI/CD、灰度发布、众包等软件开发与交付模式的厘革,SET和TE的工作职责也在不可避免地发生厘革。
SET不再负责功能/产物相关的自动化用例的开发,而是聚焦在自动化测试工具和基础设施的开发。
SET和测试的关系越来越小,本质上成为了开发工程师。SET不仅开发测试工具,而且也开发全部推动软件工程生产效率提升的生产力工具。
显然,SET的职位名称已经过时了。2016年,谷歌针对全部SET发起了一项调查,让他们选择一个新的岗位名称。效果有91%的SET选择了新的名称:Software Engineer, Tools & Infrastructure,SETI。 “Testing”不复存在。
TE的工作则渐渐脱离具体的测试设计和执行,而酿成了专家型大概管理型的角色。
就像《COOL to be a TE @ Google,2020》一文中总结的,谷歌测试工程师的焦点特质酿成了4点:持续的学习者(Constant learner),冲破通例的思考者(Out-of-box thinker),编排者(Orchestrator)和前沿的用户(Leading-edge user)。
一方面,作为专家角色,测试工程师与开发工程师密切协作,订定测试战略、识别息争决可测性挑战。
另一方面,作为组织者角色,测试工程师通过管理和驱动内部用户、外包测试、众包测试、早期尝鲜用户等低本钱的测试资源来来完成测试工作。
作为专家大概组织者的测试工程师,显然不再必要保持从前那样的数目了。
SET和TE职业岗位的变迁,是以“开发者驱动的测试”为焦点的质量文化在谷歌落地生根、枝繁叶茂的自然效果。