google测试相关的职位有三类:软件测试开发工程师、测试工程师以及测试工程经理。
软件测试开发工程师也是一个开发角色,只是工作重心在可测试性和通用测试框架上。他们参与设计评审,非常近距离地观察代码质量与风险。为了增强可测试性,他们甚至会对代码进行重构,并编写单元测试框架和自动化测试框架。相比较软件开发工程师是在增强功能性代码或是提高代码性能,该角色更加关注于质量提升和测试覆盖率的增加,其写代码的目的是可以让软件开发人员测试自己的功能。
软件测试工程师把用户放在第一位来思考,组织整体质量实践,分析解释测试运行结果,驱动测试执行,构建端到端的自动化测试。
测试工程经理负责所有的支持团队(开发、产品管理、产品发布、文档等)之间的联络。他需要拥有技术能力、领导能力和协调能力,接受测试工程师和测试开发工程师的汇报并直接向测试总监汇报。
google为什么会有软件测试开发工程师这么一个职位?
问题暴露在越前端消耗的成本越低。大家都希望,问题在开发阶段就全部被发现。但这是一个理想状态,因此只能寄托于开发人员做足充分的自测试,或者在现实情况下招收大量的杭州软件测试工程师。但开发人员过多关注于测试,会妨碍产品功能的如期交付,而庞大的测试队伍也不是google期望的。有开发能力和测试经验的测试开发工程师既能帮助开发做好自测试,又能缩小测试队伍,恰好就是google这种以精英技术员工为主的公司所需要的。
测试充满了灰度,包括职责灰度和测试量的灰度。敏捷交付的产品环境都提倡刚刚好的测试,百分之百的测试也是不可及的。职责灰度体现在有的测试工作开发工程师可执行,测试工程师也可执行,关键看产品是做何要求。在开发工程师队伍能力足够强大的情况下,我认为开发人员如果能承担更多的质量工作更有利于产品交付。google的测试认证计划就是让开发工程师参与测试,形成开发人员做测试的文化。
google软件测试之道还提及了一些测试设计的方法以及测试相关职责的工程师的访谈,讲了道,也讲了术,还有一线精英的悟,可谓精品。