谷歌如何做软件测试之SET的职业生涯

发布于 更新于

技术文章

SET的职业生涯SET是测试方面的软件工程师,他书写测试功能。首先SET是开发,在招聘和内部晋升资料中被我们奉为100%的编码角色。当在招聘面试软件测试开发工程师的时候,对于编码的要求几乎和对软件开发工程师的要求是一模一样的,而且更强调如何...

SET的职业生涯

SET是测试方面的软件工程师,他书写测试功能。首先SET是开发,在招聘和内部晋升资料中被我们奉为100%的编码角色。当在招聘面试软件测试开发工程师的时候,对于编码的要求几乎和对软件开发工程师的要求是一模一样的,而且更强调如何去测试自己写的代码。换句话说,软件开发工程师和SET都需要回答编码问题,而且SET会被问到一系列测试相关的问题。


正如你可能想到的,这是一个很难满足的角色。SET的数量如此之少的最有可能的原因是具备所需技能的人非常难找。


通常SET不会在早期设计阶段就介入。不是故意这样做,而是和多数谷歌的产品是如何诞生的有关。一个常见的新产品诞生是已有的谷歌产品的员工会投入20%时间来开始新的产品。Gmail和Chrome OS这2个产品,从一个简单的想法开始,并非正式地由谷歌授权去做的,慢慢地随着时间的推移,越来越多的开发和测试加入进来并把产品发布。在这种情况下,早期的开发要关注的重心并不是质量,更关注提供一些理念,在解决了扩展性和性能的问题之后,再更多地关注质量。如果你还不能创建可扩展的web servic时,测试并不是你最大的问题。


你可以想象这样一个过程,某人有了一个好主意,他开始思考并写了一些试验性质的代码,从其他人那里获取一些建议然后对这些代码做了改进,并劝说更多的人加入,写了越来越多的代码,然后意识到他们做的事情很重要,通过更多的代码把这个想法变成可以呈现给他人并得到反馈的模型… ?这个项目在谷歌的项目库中就创建了,这个项目慢慢地转正。


所有正式项目都有专职的测试人员么? 默认是没有的。小型项软件测试开发工程师目和用户数有限的项目一般由开发人员自试。其他的一些对个人或者企业用户有潜在风险的项目测试才会介入。


当开发团队寻求测试团队参与并帮助他们时,他们有责任使测试人员相信他们的项目是令人兴奋并充满潜力的。开发总监会给测试总监解释他们的项目、进度、发布计划,一起讨论测试工作如何划分,并就开发需要满足的单元测试水平及开发参与测试工作程度上达成一致,发布流程中开发与测试的责任也需要明确。SET在项目初期可能不会参与进来,但项目转正后他会对运作发挥巨大的影响力。

当我说“测试”时,并不是仅仅意味着单纯的检查验证代码路径。测试人员不是从开始就参与进来的,但“测试”却至始至终都有。实际上开发上传代码或者之前,SET的影响力已经显现。


继续阅读