testing - Unit测试, 集成Test , 冒烟测试, 回归Test是什么?

  显示原文与译文双语对照的内容
0 0

什么是 单元测试,集成测试,冒烟测试,回归测试以及它们之间的差异? 我可以为每个工具使用哪些工具?

例如我使用JUnit和NUnit进行单元测试和集成测试。 是否有冒烟测试或者回归测试工具?

时间: 原作者:

0 0
  • 单元测试: 指定并测试一个类的单个方法的契约的一个点。 这应该有一个非常狭窄且定义良好的范围。 外部世界的复杂依赖和交互是 stubbed或者模仿

  • 集成测试: 测试正确的inter-operation的多个子系统。 已经有了处理整个系统生产environment,他们之间,主要包括测试集成有两个类,为了测试 integration.

  • 冒烟测试( aka完整性检查): 一个简单的集成测试,我们只检查测试被调用时,它正常返回,并且不会爆炸。 它类比与电子,其中第一个测试时发生充填能量一个电路: 如果它冒烟,那就不对了。

  • 回归测试: 一个测试,它是当一个 Bug 写是固定的。 它保证了这个特定的Bug 不会再发生。 全名是"non-regression测试"。 它也可以是在更改应用程序之前进行测试以确保应用程序提供相同的结果。

为此,我将添加:

  • 验收测试: 测试一个功能或者用例被正确的实现。 它类似于一个集成测试,但是有一个重点对使用用例来提供,而不是在所涉及的组件。

  • 将系统测试为 : 测试系统作为黑盒测试。 在测试( 否则,它将是一个集成测试) 期间,其他系统的依赖常常被模仿或者去掉。

  • Pre-flight检查: 已经反复在production-like环境中的测试,来缓和'在我的机器上构建'综合征。 通常,这是通过在类似环境的环境中进行验收或者冒烟测试实现

因为, 人索赔冒烟测试来自于卫浴,烟在更新,泵浦在管这个系统上的虚拟机连接到供水之前。 如果有任何烟雾出来,管道就没有被正确密封。 它可能更加精确,但我发现它并不有趣。

原作者:
0 0
  • 单元测试: 测试类内部工作的自动测试。 它应该是一个独立于其他资源的独立测试。
  • 集成测试: 一个在环境上完成的自动化测试,如此类似于单元测试,但有外部资源( db,磁盘访问)
  • 回归测试: 在实现新特性或者 Bug 修复之后,你可以使用过去工作的场景。 在这里你可以看到新特性打破现有特性的可能性。
  • 的冒烟测试: 首先测试测试人员可以在继续测试时得出的结论。
原作者:
0 0

每个人都有轻微不同的定义,而且通常有灰色区域。 然而:

  • 单元测试: 这一小段( 尽可能隔离) 工作?
  • 集成测试:这两个( 或者更多) 组件一起工作?
  • 冒烟测试:这个系统的( 尽可能接近生产系统) 是否能很好地拼接在一起? ( 例如,我们确信它不会创建黑洞)?
  • 以前修复回归测试:我们无意中任何 Bug re-introduced我们有过?
原作者:
0 0

我刚刚意识到的一个新的测试类别是:

金丝雀测试

一个金丝雀测试是一个自动化的,non-destructive测试,它是运行定期 在生存 环境,使得当满足它以往任何时候都失败,真的出了问题已经发生了。

示例可能是:

  • 只有在 dev/test中可用的数据才出现在 LIVE 。
  • 后台进程运行失败
  • 用户可以登录
原作者:
0 0

于一个submarine,相关apocryphal历史琐事:"冒烟测试"来自海底工程( 从管道继承) 其中文字烟雾就会再成为泵送到船体是否有任何它取出来后,这将是相当戏剧性的失败 !

原作者:
0 0

在以前的生活中我是一个电子工程师。 冒烟测试是你第一次打开你的Prototype 。 搅动 switch 并四处嗅嗅燃烧的气味。

( 即使有些技术人员谁喜欢来增加些惊喜- 电解capactitor焊接好了先后次序写到后面的板。 发出一个漂亮的爆炸和一些混乱。。

原作者:
0 0

单元测试: 验证所创建的特定组件( 例如,类) 或者已经修改的函数。 这里测试可以是手动的或者自动化的,但不能超出组件的边界。

集成测试:验证特定组件的交互是否按照设计的功能进行。 集成测试可以在单元级别或者系统级别执行。 这些测试可以是手动的或者自动化的。

回归测试:验证是否在现有代码中引入了新的缺陷。 这些测试可以是手动的或者自动化的。

根据你的SDLC ( 瀑布,rup,敏捷等) 特定的测试,可以在'阶段'中执行特定的测试,也可以在同一时间执行。 例如单元测试可能仅限于开发人员,他们随后将代码转换为测试人员进行集成和回归测试。 然而,另一种方法可能让开发人员进行单元测试和某种级别的集成和回归测试( 使用TDD方法以及 持续集成 和自动化单元和回归测试) 。

工具集将很大程度上依赖于代码库,但是有许多开源工具用于单元测试( JUnit ) 。 ( 汞) hp QTP或者Silktest的都是自动化集成和回归测试的工具。

0 0

回归测试-

"一块上一次测试的回归测试re-runs接触软件,以确保所做的更改在当前软件更改不影响现有的功能的软件。"

0 0

单元测试: 测试在应用程序中的单个模块或者独立分量是已知为是单元测试,单元测试将被由开发人员完成。

集成测试: 组合所有模块并测试应用程序以验证通信和模块之间的数据流是否正常工作或者不工作,这些测试也由开发人员执行。

冒烟测试中的冒烟测试它们检查应用程序以检查应用程序的主要功能,烟雾测试检查应用程序的主要功能,烟雾测试检查应用程序的主要功能,如果应用程序中有阻止问题,则会影响其他模块的更改,并将它的交还给其他模块。 在冒烟测试中,测试用例是脚本编写

回归测试执行同一个测试案例来确保推片的不变模块不会引起任何缺陷。 回归测试在功能测试之下

0 0

单元测试: 验证所创建的特定组件( 例如,类) 或者已经修改的函数。 这里测试可以是手动的或者自动化的,但不能超出组件的边界。

集成测试:验证特定组件的交互是否按照设计的功能进行。 集成测试可以在单元级别或者系统级别执行。 这些测试可以是手动的或者自动化的。

回归测试:验证是否在现有代码中引入了新的缺陷。 这些测试可以是手动的或者自动化的。

根据你的SDLC ( 瀑布,rup,敏捷等) 特定的测试,可以在'阶段'中执行特定的测试,也可以在同一时间执行。 例如单元测试可能仅限于开发人员,他们随后将代码转换为测试人员进行集成和回归测试。 然而,另一种方法可能让开发人员进行单元测试和某种级别的集成和回归测试( 使用TDD方法以及 持续集成 和自动化单元和回归测试) 。

...