谷歌测试的方法和理念

2010-02-26  欧阳辰 

Patrick Copeland是谷歌公司高级工程总监,最近接受UTest公司的采访,讨论谷歌公司测试的方法和理念。我觉得很多观点都很精彩,摘选一些对话,和大家一起分享。

 

Patrick Copeland加入谷歌之前在微软工作过10年,负责BizTalk, Dynamics和Internet Search(Bing前身)等工作。2006年加入Google,目前带领着800人的工程团队。

原文在连接: http://blog.utest.com/testing-the-limits-with-patrick-copeland-part-i/2010/02/

问(UTest):如何面对来自全球用户或客户的挑战?有些产品很成功,有些很杯具,这些都对你们产品规划起着什么样的作用?

答(P): 我们的方法是做大量的实验,快速发布并且不断进行改进。我们尽早的(early),快速的(Fast)更新软件,并且认真收取用户的反馈

根据产品性质,我们将产品可以分为以下类别。
1)战略型: 也许是新功能,但可能已经有竞争对手(例如Android)
2)财务性:搜索和广告
3)用户型: Gmail
4)遗留产品:例如CheckOut需要符合SOX法令.

问:你以前说过“在一个领域呆着越久,知道的越少”,作为开发和测试人员如何保持继续学习的心态?

答:我们在招聘的时候会选择那些有测试DNA的人,他们对测试有热情,热爱软件。这些人有着天生的气质接受挑战,不断的学习。

问:谷歌每两个星期就发布一此软件,那么谷歌是如何平衡已有软件和新软件的投入?

答:在谷歌,有着70/20/10原则,70%投入已有核心产品,20%与新产品相关,10%是高风险创新产品。

谷歌有很好的测试基础设施,例如每天5000个CPU进行65K次编译,执行超过100M测试用例。Build和测试系统为了适应负载需求,每年增长75%。项目的平均Build和测试时间是4分钟。在谷歌,产品组总是维护一个可用的版本(Green Build),因此,我们在建设测试系统时候,非常注重以下几个方面。

1)速度:所有的测试和分析都应该非常快。

2)反馈系统:测试系统必须是高质量的。我们希望工程师在任何时候都保持产品高质量代码,而不是出问题才修正。

3)简单:透明使用,高效工具

问:优秀(Good)测试人员和卓越(Great)测试人员的区别是什么?

答:优秀测试人员是可以培训的,他们有好的背景,理解客户,熟悉开发流程等等。卓越测试人员是可遇不可求的,非常稀少的。卓越测试人员通常都是卓越开发人员,但是卓越的开发人员未必是卓越测试人员。对于卓越测试人员来说:1)他们有很好的直觉找到真正问题 2)他们对于测试有极大的热情。

问:设计,开发和发布高质量的软件过程中,最大的障碍是什么?

答:每个产品都有自己独特的开发方法,其中有许多变化。项目要根据自己的情况在敏捷和严格流程中找到自己的最佳平衡点。

问:对于想成为资深技术人员的年轻软件工程师,你有什么建议吗?

答:

1)注重技术

2)成为创新者和组织者

3)把握自己职业:不要等待别人来赏识你。告诉他人你的想法和成果,你是你最好的广告牌。

4)发挥你的强项:选择你喜欢的项目,你能够取得更大影响。

问:你是否特别喜欢的开发语言?

答:没有,谷歌最常用的就是Java,Javascript,Python,Perl和C++。

474°/4659 人阅读/9 条评论 发表评论

金鑫  2010-02-27

毕竟和MS不是一个阵营的,更深远的事物视乎也是泾渭分明


王恩建  2010-02-27

非常好的文章,我的总结:
1、google很敏捷。
2、要想成为卓越的测试人员,看来要先去做开发人员。
3、google对开发语言的态度很open,贡献了不少的优秀的开源项目,python之父也在google。


田庆希  2010-03-01

好帖 顶了


欧洁  2010-03-01

田庆希: 好帖 顶了
发现一个bug。这是博客,该是好文,群组里面得才是好贴,呵呵。


欧阳辰  2010-03-02

欧洁: 发现一个bug。这是博客,该是好文,群组里面得才是好贴,呵呵。
这个Bug应该是优先级N的


田庆希  2010-03-02

欧洁: 发现一个bug。这是博客,该是好文,群组里面得才是好贴,呵呵。
哈哈 看帖后的习惯用在了这里 看样子测试工程师也是很容易被习惯磨灭敏锐的洞察力啊


王恩建  2010-03-04

在一个地方呆的越久,知道的越少


陈春燕  2010-03-11

王恩建: 非常好的文章,我的总结:
1、google很敏捷。
2、要想成为卓越的测试人员,看来要先去做开发人员。
3、google对开发语言的态度很open,贡献了不少的优秀的开源项目,python
对于卓越测试人员来说:1)他们有很好的直觉找到真正问题 2)他们对于测试有极大的热情。
我想成为卓越的测试人员,不一定要先去做开发,开发知识完全可以在测试的过程中去学习的。


程楠  2010-08-19

陈春燕: 对于卓越测试人员来说:1)他们有很好的直觉找到真正问题 2)他们对于测试有极大的热情。
我想成为卓越的测试人员,不一定要先去做开发,开发知识完全可以在测试的过程中去
但是会开发再测试总比闲测试再学习开发要好的多。。


登录 后发表评论