Smoke Testing(冒烟测试)(转)

详细介绍一下 Smoke Testing(冒烟测试)

做者:  简简单单幸福  来源:  博客园  发布时间: 2010-08-29 20:06  阅读: 3677 次  推荐: 0    原文连接    [收藏]  
摘要:该文做者根据本身搜集的一些资料,结合微软的实际测试工做,将Smoke Testing为咱们做了较为详细的介绍。

  近来看到和听到几个关于 Smoke Testing 的说法,也曾几回被顾问客户问及 Smoke Testing,感受你们彷佛对 Smoke Testing 的概念都至关模糊。听说软件测试中的 Smoke Testing 最先源于微软,而在实践中,我曾就此询问过美国微软的几个开发人员,他们的说法也莫衷一是。根据我搜集的一些资料,结合微软的实际测试工做,现将  Smoke Testing 综合介绍一下。html

  【误区】测试

  先说说你们对 Smoke Testing 理解中的问题。查了一下网上有关 Smoke Testing 的资料,发现全部关于这方面的信息不外乎来源于两个:ui

  1. 翻译过来的定义——关于 Smoke Testing 的定义能查到很多,内容基本是一致的,可是定义很表观且陈旧,和当前国际上大软件企业中的 Smoke Testing 实践并不十分相符。
  2. 以讹传讹的理解——好比:
  • 彻底沿用 Smoke Testing 的原始意义——这是在理解一些外来专用语上常犯的一种错误。
  • 想固然地理解为“用抽烟的功夫就能完成的测试”——这貌似有道理,但倒是最荒谬的,由于 Smoke Testing 并不见得比常规的测试花费更少的时间,并且在正式的软件测试工做环境里是没有人抽烟的。
  • 笼统地把全部粗浅的测试都做为 Smoke Testing;这显然是由于对 Smoke Testing 定义中的简单测试或者初级测试等等单词断章取义的理解。
  • 认为 Smoke Testing 就是 BVT——这是由于 Smoke Testing 定义的模糊与过期。

  那么真正的 Smoke Testing 是什么意思呢?spa

  【Smoke Testing 释义】翻译

  Smoke Testing 的概念最先源于制造业,用于测试管道。测试时,用鼓风机往管道里灌烟,看管壁外面是否有烟冒出来,以便检验管道是否有缝隙。这一测试显然比较初级,更深层一点的测试至少要进行渗油测试、带压测试等等。Smoke Testing 只是一种初级、直观的测试。code

  软件测试中的 Smoke Testing 实际上用的是其引伸含义,并且是引伸了不止一道的含义,在这里,Smoke Testing 实际上是个俚语就跟不少其余源于美国软件行业的名词同样。htm

  之前我并不知道 Smoke Testing 有适当的中文翻译,最先听到冒烟测试这个词仍是在个人顾问客户那里。据个人理解,这个翻译只是字面翻译,显然并不能表明 Smoke Testing 的真实含义,换句话说冒烟测试只是 Smoke Testing 的字译而非意译。blog

  Smoke Testing 在软件测试中的意义,应该说取的是其原始概念中的目的而非手段。经过 Smoke Testing,在软件代码正式编译并交付测试以前,先尽可能消除其表面的错误,减小后期测试的负担。所以能够说,Smoke Testing 是预测试。开发

  【Smoke Testing 的执行】get

  按照现有定义的说法,Smoke Testing 的执行彷佛是在每日构建(daily build)完成时进行的,从这一点来看彷佛说的就是 BVT。所以国内有人更加引伸一步理解,把研发后期所作的一些不全面的集成测试也认为是 Smoke Testing。

  实际上 Smoke Testing 的执行是在代码评审(code review)以后、每日构建(daily build)以前完成的工做关于这一点,若是你们认真查阅国外同行关于 Smoke Testing 的介绍是不难找到叙述的。

  【软件研发不一样阶段的 Smoke Testing】

  在实际的软件测试工做中,Smoke Testing 在软件研发的不一样阶段有所不一样。大致能够分为三类:

  1. 造成集成测试版本之前Smoke Testing 是随着代码的不断开发必作的一项工做,目的是验证各个单元可以成功执行,并保证测试版本可以顺利集成。

  2. 造成集成测试版本之后在代码 check in 到 daily build 以前执行 Smoke Testing,以保证新的或者更改过的代码不破坏集成版本的完成性和稳定性。

  3. 后期预测试 Bug 的修正后期 daily build 相对稳定时,针对每一个 Bug 所作的 Bug Fix 都要先在干净的 build 中进行 Smoke Testing,测试经过的 Bug Fix 才能 check in 到新的 daily build 中。

  【Smoke Testing 与 BVT】

  从 Smoke Testing 的定义上看,BVT 彷佛能够看做是 Smoke Testing,但在实际当中 BVT 是与 Smoke Testing 彻底独立的一个概念,这是基于如下几个方面:

  • Smoke Testing 与 BVT 的执行阶段不同。
  • Smoke Testing 与 BVT 的内容不同。
  • Smoke Testing 与 BVT 结果对后续工做的影响不同。

  关于 BVT,我将另具文介绍。

相关文章
相关标签/搜索