【外刊IT评论网】跟谷歌测试工程师的对话

标签: 批评评论 测试 | 发表时间:2012-10-09 16:07 | 作者:Aqee
分享到:
出处:http://www.aqee.net


Alan Faulkner是谷歌的测试工程师,他的工作对象是谷歌的DoubleClick广告报价管理系统(Bid Manager),这个系统提供让广告代理商和广告客户在多个广告上进行报价竞标的功能。Bid Manager是谷歌2010年收购的Invite Media系统的下一代产品。 Alan Faulkner的主要工作负责Bid Manager系统用来移植数据的组件,这些组件用来把Invite Media中的广告客户信息转换到Bid Manager系统中。Alan Faulkner 2011年进入谷歌,工作地点是位于华盛顿的柯克兰办公室。

本文的主人公alan

本文的主人公alan

你是测试工程师,还是编写测试代码的软件工程师?这两者之间有什么区别?

目前我是测试工程师,但这两种角色非常的相似。作为测试工程师,你更多的是专注于产品的总体质量和软件发布的速度,而编写测试代码的软件工程师更多的是关注测试框架,自动化测试和为测试重构代码。我想这两者之间的不同更多的是关注点,而不是能力问题,因为在谷歌,这两种角色都需要能写出产品级质量的代码。例如,我所做的测试工程师的任务是引入自动化的发布过程,为团队划分模块来提高测试覆盖率,减少校验数据正确性时需要的手工操作步骤。

你的典型的一天的工作是个什么样的情形?

当来到公司,我首先去看哪些代码审查是需要回复的,看看哪些从技术客户经理发过来的bug是具有高优先级的,然后开始写代码。在当前的职务上,我的主要精力是放在提高大规模集成测试和测试框架上的测试有效性和覆盖率。我也会在我们的产品中增加一些功能特征,来改进测试有效性。我的时间的50%到75%会花在写代码上或代码审查上。

你只写测试代码吗?

不是的,我写的很多代码会留在发布的产品中。在谷歌做SET或TE的一个最大的好处是:你写产品代码就像写测试代码一样简单。我两者都写。我写的测试代码主要是用来改进测试框架,让开发人员能写出集成性好的测试程序。我写的产品代码主要是来改进对外部输入数据的验证。我还会写一些来提高可测试性的功能代码。这些代码能给产品带来质量更高的功能特征,避免了让产品依赖于测试程序来发现其中的问题。

你用什么语言开发?

测试代码和产品代码大部分都是使用Java。偶尔也会使用Python或C++。

手工测试会占用你多少时间?

目前,在这个岗位上,我手工测试的时间少于5%。经过某些探索式的测试能帮助提高对产品的认识、发现某些风险的存在,但这些不会反复的出现,也不多。需要手工的步骤很少,我的任务就行帮助减少这种操作,所以团队不会让我去做那些数据迁移中反复的手工测试工作。

你不是给自己的代码写测试代码吧?

在谷歌,测试的任务是在所有工程师间交叉分摊的,并不是只由测试工程师来做。每个人都要为他们的组件写出单元测试代码,就像集成测试工作一样。这就是说,我写的测试用例针对的组件并不是我开发的,但这些组件需要有说明如何为它写测试代码。这些组件通常牵涉到非常复杂的代码或需要用新的模拟框架,例如 Mockito

开发谷歌的广告产品,哪些是你喜欢的?

我喜欢我们需要解决的问题中的海量或高性能所带来的挑战——从处理海量数据到在毫秒级间实时对大量的广告请求进行响应。我还喜欢我们产品的影响力,因为这些产品会牵涉到很多的用户。这是工作在这样的产品上获得的回报。

依你的经验,谷歌的测试工作和你干的其它公司里有什么不同?

我感觉在谷歌,这个角色非常的灵活。在我的团队里很少区分这是SET的那是TE的,每个人可以灵活的选择他们认为最重要的工作去做。例如,我写了很多的产品代码,修改了很多产品中的bug,提高代码的可测试性,增加在迁移数据中对错误数据的可观察性。同时,谷歌的很多开发人员却在花大量的时间测试代码,所以说,测试不是我的唯一任务。

在谷歌柯克兰工作区工作和在谷歌总部工作有什么不同?

我真正喜欢谷歌的地方是它的各个办公区各有自己本地风格和个性。谷歌提倡这样。例如,位于柯克兰的办公区有攀岩和划船设施,我们办公大楼里的所有会议室都是以本地品牌命名的。位于西雅图的办公室有皮划艇,而纽约的办公区里在自主餐厅里有食品车。

谷歌的这种测试文化有前途吗?

我觉得前途一片光明。我们有很大的灵活性,能对产品的质量和可测试性产生重大积极的影响,能提高产品发布的速度。我们需要快速的产品发布和高质量的产品发布。问题是我们面对的问题很复杂,而且要求很苛刻。我们需要用技术来确保团队有有效的测试方式。这是所有在谷歌的测试人员和工作中这个领域的开发人员的努力目标。

谷歌的测试工作感兴趣吗?


本文来自 外刊IT评论网( www.aqee.net),原始地址: 跟谷歌测试工程师的对话


相关 [it 谷歌 测试] 推荐:

“窥探”谷歌测试

- - InfoQ cn
一淘网测试架构师 黄利在他的博客上发布了翻译的一个专题系列文章: 《谷歌如何测试》,整个系列文章从全局到局部地介绍了谷歌有关测试的情况. 译者黄利在《译者序》中阐述了在软件开发模式(尤其是互联网)中,近几年的快速迭代发布,以Beta版本线上运行,让大家对测试产生了一些误解:. 这些应用没有经过很好地测试,好多功能使用上都有问题;.

【AD】谷歌与facebook联手测试:IPv6靠谱吗?

- Shadow - Solidot
谷歌,Facebook和雅虎这些对手们也有合作的时候. 明天,他们将联手进行首次全 球级别的IPv6测试,名曰:取名"世界IPv6日". 此举是为了在IPv4地址已经枯竭的情况下,推进互联网加速部署IPv6,谷歌表示当天将在其主站和Youtube上全面启用IPv6访问. IPv6的发展离不开运营商的 支持,全球运营商的IPv6策略和状态是怎样的.

【外刊IT评论网】跟谷歌测试工程师的对话

- - 外刊IT评论网
Alan Faulkner是谷歌的测试工程师,他的工作对象是谷歌的DoubleClick广告报价管理系统(Bid Manager),这个系统提供让广告代理商和广告客户在多个广告上进行报价竞标的功能. Bid Manager是谷歌2010年收购的Invite Media系统的下一代产品. Alan Faulkner的主要工作负责Bid Manager系统用来移植数据的组件,这些组件用来把Invite Media中的广告客户信息转换到Bid Manager系统中.

谷歌将推出自动驾驶汽车:测试14万英里无意外

- hhx - cnBeta.COM
据国外媒体报道,此前曾有消息报道谷歌开发无人驾驶汽车拍摄街景,该消息日前在刚刚召开的2011年度加州科技、娱乐和设计大会(TED Conference)上得到证实,谷歌在大会上宣布,公司即将推出带有自动驾驶功能的汽车. 近日,谷歌爱好者在美国搜索引擎技术网站Search Engine Land播放的一段录像中目睹了这款无人驾驶汽车的芳容,经改装的丰田普锐斯轿车装有谷歌公司研发的导航设备,在一块不大的停车场也能操控自如.

如何在网页中插入FLV视频,经测试兼容IE、火狐、谷歌等浏览器

- - 浏览器 - 互联网 - ITeye博客
之前有个项目需要在后台上传视频,然后在网站前台中播放出来,因为之前插入的视频都是来自优酷、土豆等视频网站,那个方法几乎所有的在线编辑器都自带了,直接复制粘贴地址就搞定了. 所以对视频这一块没什么研究,但是实际需求则不是这么简单,你的客户如此说:就是不想把视频传到优酷上. 这个时候我们就只能重新写个模块吧.

测试

- 香姜 - 韩寒
测试......>>点击查看新浪博客原文.

Android单元测试与模拟测试

- - 神刀安全网
考虑可读性,对于方法名使用表达能力强的方法名,对于测试范式可以考虑使用一种规范, 如 RSpec-style. 不要使用逻辑流关键字(If/ese、for、do/while、switch/case),在一个测试方法中,如果需要有这些,拆分到单独的每个测试方法里. 测试真正需要测试的内容,需要覆盖的情况,一般情况只考虑验证输出(如某操作后,显示什么,值是什么).

免费测试VPN

- 勇 - iGFW
lusovps目前提供免费15天的PPTP VPN试用服务,. 申请地址:https://cart.lusovps.com/cart.php?a=add&pid=13. WHMCS注册系统,可以参考 http://igfw.tk/archives/3727. 注册后无需审核,立刻激活,帐号信息会发至邮箱.

测试touch事件

- - Kejun's Blog
进入触屏时代意味一切要对触屏友好. 今天仅仅测试了ios6,其它版本包括android还不清楚差别有多大. 看了PPK的touch兼容表(http://www.quirksmode.org/mobile/tableTouch.html),深感刚准备告别ie6,又迎来了一个新的混乱时代,苦逼的前端工程师们永远摆脱不了兼容的魔咒.

Android集成测试

- - 百度质量部 | 软件测试 | 测试技术 | 百度测试
  Android集成测试主要是在单元测试的基础上测试接口访问或者异步任务是否正确,在. 移动凤巢系统中,大概有30+个接口需要测试,他们都遵循一个特定的访问模式:前台的. Activity获取到触发事件后,将它传给这些接口,这些接口都是AsyncTask的实现——即后台. 异步线程执行某个任务(一般是发送http请求到后端服务或者执行存取数据库等耗时操作),.