谷歌是如何测试: 序

2012-02-29  邓智群 

吴军的<浪潮之巅>中有这么一章,他在里面历数了二十世纪五十年代以后的伟大的科技公司,无一例外,这些公司背后的驱动力都是技术,而技术的根本就是人。无论是基因科技还是蓝色巨人,里面都有一批做技术的人,可能是在这个行业已经工作了20年,但还在一直坚持做技术的工作,也正是这些人,推动着浪潮不断地抛向更高。

在国内,多数刚刚开始工作的同学,特别是应届生或者刚刚转行到计算机工种的同学,都是非常崇敬技术的,特别是在软件公司,感觉如果做出一套优雅的界面或者牛逼的系统,那将是一件非常屌的事情。但慢慢地随着时间的漂移,过了几年,随着一些年长的工程师的跳槽或者升迁,突然发现自己在项目组里已经是做技术里比较厉害的一个了,于是乎,伴随着某个“机会”,从团队主管开始,慢慢地走上了“管理”的道路,与技术也渐行渐远,虽然偶尔回想起来心有不甘,有心再去追逐,但也无能为力,技术领域日新月异的速度超过了你的想象,这仿佛变成了一个规律似的,像两千年的王朝,不断地迭代。至今,在多数国内科技公司,很难找到工作10年以上技术老兵,看看一系列开发者大会上,嘉宾也多数是二三十岁的小伙。所以,对于那些坚持在一线做技术的人,非常欣赏和崇拜,相信这些人也将是推进国内公司走向浪潮之巅的根本动力。如果有一天,你有机会站在Career Path的十字路口,不要犹豫,选择技术,大致原因,

  • 技术是推进社会、科技进步的根本原因;
  • 问下自己内心是否真的喜欢现在的状态,还是被迫上位;
  • 技术是了解一线问题的真正来源;听得见炮灰人,都是前线的工程师;
  • 管理工作主要是在做人的管理,相比较和机器与程序打交道,务虚一些,想做好比较难,特别是在当下国内的大环境,容易变形;
  • 招聘市场上的技术岗位远远比管理岗位多,人无远虑,必有近忧;
  • 薪资待遇上,技术人员越来越受重视;

好了,还是步入正题,讨论测试的事情吧。软件开发模式,特别是互联网,最近几年都在追求快速迭代发布,例如Gmail或者新浪微博,都是Beta版本线上运营,知道软件开发流程的人都清楚,Beta版意味着潜在Bug和Issue,离正式的Release还有一段距离,但还是会带着潜在风险上线。为什么这样,难道是没有经过系统的测试?真正的原因还是风险的控制,详细的几点原因以后再讲。但却造就了一些对测试的误解,

  • 这些应用没有经过很好地测试,好多功能使用上都有问题;
  • 测试水平比较有限,没有能及时的发现潜在问题;
  • 测试本身没有太多的技术,基本上是功能确认,点点鼠标、搭建环境验证下就可以;
  • 只要认真仔细,有责任心就可以做好测试;

等等诸如此类的误解,让许多不明真相的群众,特别是应届生,都不会把测试作为自己的职业规划来考虑,让我们的招聘HR也伤透了脑筋。也想通过这个系列的讨论,让大家清楚测试工作如果做好,方法其实并不是想象中的那么简单和表面上的肤浅,是非常好有挑战的。

谷歌是众所周知的互联网技术的圣地,其搜索和大规模数据存储和计算方面的技术领先业内,也是目前站在互联网浪潮之巅上最大的一朵浪花,其背后的工程学技术也是工程师津津乐道的话题。James whittaker是Google的测试总监,自2011年1月25号至2011年5月4号,在Google Testing Blog (可惜被墙)上持续发表了7篇<How Google Tests Software>系列文章来介绍谷歌是如何测试的。在2011年10月的GTAC大会期间,跟其有过一些交流,告诉了他将这系列文章翻译成中文的想法,他也非常支持,并要送我一本即将出版的<How Google Tests Software>纸制书。只可惜,2012年2.13日他已经从谷歌离职,这本书还没有出版(Amazon上介绍是April 8, 2012出版,由于他的离职,不知是否还能按时出版)。

总之,探求和揭示谷歌公司背后的测试方法也算是缓解测试工程师们在窥视癖方面某种程度的需求,但能力着实有限,翻译过程中会采用意译的方式,若有不同建议,还请指正。

 

2012.02.21

 

转自:http://sdet.org/?p=82#more-82

370°/3702 人阅读/0 条评论 发表评论

登录 后发表评论