Google软件测试之道(2)—质量不等于测试

发表于:2013-10-11 15:32

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

 作者:51Testing    来源:51Testing软件测试网

  当有人来问我,Google成功的关键是什么,我的第一个建议就是,不要招聘太多的测试人员。
  Google在测试人员如此缺乏的情况下,是如何应对的呢?简单地说,在Google,写代码的开发人员也承担了质量的重任。质量从来就不仅仅是一些测试的问题。在Google,每个写代码的开发者本身就是测试者,质量在名义上也由这样的开发测试组合共同承担,如图1.1所示。在Google,谈论开发测试比(译注:这里指在人员数量上,开发和测试的比率)就像讨论太阳表面的空气质量一样,这本身没有任何意义。如果你是一名工程师,那么你同时也是一名测试人员。如果在你的职位头衔上有测试的字样,你的任务就是怎样使那些头衔上没有测试的人可以更好地去做测试。
  
图1.1  与功能相比Google工程师更看重质量
  Google可以打造出世界级的软件,这也足以证明其对待质量的独特方法值得学习。或许其中的一些经验在其他的公司组织中也能适用。当然里面也有需要改进的地方。接下来所述就是关于Google测试方法的概要介绍。在后面的章节里,我们会深入到细节中,以此来阐述在以开发为中心的文化中Google是如何做测试的。
  1.1  质量不等于测试
  质量不是被测试出来的--这句看似陈词滥调的话却包含着一定的道理。从汽车行业到软件行业,如果在最开始设计创建的时候就是错的,那它永远不会变成正确的。试问一下汽车行业的公司,大量召回事实上有质量问题的产品,代价是多么的昂贵。因此,从最初的创建阶段就要做正确,否则将会陷入混乱的万劫深渊。
  然而,这句话也并不像听起来那样的简单和准确。虽然质量不是被测出来的,但同样有证据可以表明,未经测试也不可能开发出有质量的软件。如果连测试都没有做,如何保证你的软件具有很高的质量呢?
  有一个简单的办法可以解决这个难题,那就是停止开发与测试的隔离对立。开发和测试应该并肩齐趋。你的每一段代码写完后都要立刻测试这段代码,当完成了更多的代码时就做更多的测试。测试不是独立隔离的活动,它本身就是开发过程的一部分。质量不等于测试,当你把开发过程和测试放到一起,就像在搅拌机里混合搅拌那样,直到不能区分彼此的时候,你就得到了质量。
  质量不等于测试。当你把开发过程和测试放到一起,就像在搅拌机里混合搅拌那样,直到不能区分彼此的时候,你就得到了质量。
  在Google,这正是我们的目标,就是把开发过程和测试融合在一起--开发和测试必须同时开展。写一段代码就立刻测试这段代码,完成更多的代码就做更多的测试,但这里的关键是由谁来做这些测试呢?众所周知,在Google,专职测试人员的数量非常稀少,与开发相比根本不成比例,唯一可能的去做这些的就只能是开发人员。还有谁能比实际写代码的人更适合做测试呢?还有谁能比实际写代码的人更适合去寻找bug呢?是谁会为了避免受更大刺激而去想办法避免产生bug呢?Google能用如此少的专职测试人员的原因,就是开发对质量的负责。如果某个产品出了问题,第一个跳出来的肯定是导致这个问题发生的开发人员,而不是遗漏这个bug的测试人员。
  这意味着质量更像是一种预防行为,而不是检测。质量是开发过程的问题,而不是测试问题。我们已经成功地将测试实践融入为开发过程的一部分,并创建了一个增量上线的流程。如果一些项目在线上被证实的确是bug重重,它将会被回滚到之前的版本。在确保不出现回滚级别bug发生的前提下,预防了许多客户问题的同时,也很大程度降低了专职测试人员的数量。在Google,测试的目标就是来判断这种预防工作做的怎么样。
  把开发过程和测试混合在一起,密不可分,从代码审核问询时的"你的测试在哪儿",再到在卫生间张贴着的、用来提醒开发人员的最佳测试实践(注3:参见http://googletesting.blogspot. com/2007/01/introducing-testing-on-toilet.html)。测试是开发过程中必不可少的一部分,当开发过程和测试一起携手联姻时,既是质量达成之时。
  测试是开发过程中必不可少的一部分,当开发过程和测试一起携手联姻时,既是质量达成之时。
42/4<1234>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • sylchane
    2016-8-01 17:28:17

    sdfsdaf dsaf asdf dsf

  • sylchane
    2016-8-01 17:27:45

    sdf sdf sdaf sadf

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号