谷歌软件测试的方法和理念

发表于:2010-3-05 14:12

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:欧阳辰(testwo)    来源:51Testing软件测试网采编

  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++。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号