软件测试基础回顾(十)-理智测试与烟雾测试:介绍与差异

Smoke和Sanity测试是软件测试中最容易被误解的主题。关于这个主题有大量的文献,但大多数都令人困惑。以下文章试图解决这种混淆。

Smoke和Sanity Testing之间的主要区别可以通过以下图表学习 -

理智测试与烟雾测试:介绍与差异

 

要欣赏上面的图表,让我们先了解 -

 


什么是软件构建?

如果您正在开发一个只包含一个源代码文件的简单计算机程序,您只需要编译并链接这个文件,以生成可执行文件。这个过程非常简单。
通常情况并非如此。典型的软件项目包含数百甚至数千个源代码文件。从这些源文件创建可执行程序是一项复杂且耗时的任务。
您需要使用“构建”软件来创建可执行程序,该过程称为“ 软件构建 ”

什么是烟雾测试?

烟雾测试是在软件构建之后执行的一种软件测试,以确定程序的关键功能正常工作。它在“之前”执行,在软件构建上执行任何详细的功能或回归测试。目的是拒绝严重破坏的应用程序,以便QA团队不会浪费时间安装和测试软件应用程序。

在Smoke Testing中,所选的测试用例涵盖了系统中最重要的功能或组件。目标不是进行详尽的测试,而是要验证系统的关键功能是否正常工作。
例如,典型的冒烟测试是 - 验证应用程序是否成功启动,检查GUI是否响应......等等。

什么是理智测试?

完整性测试是在接收软件构建后执行的一种软件测试,在代码或功能方面进行微小更改,以确定错误已得到修复,并且由于这些更改不会引入其他问题。目标是确定所提议的功能大致按预期工作。如果完整性测试失败,则会拒绝构建以节省更严格测试所涉及的时间和成本。

 

目标是“不”彻底验证新功能,而是确定开发人员在生成软件时应用了一些合理性(健全性)。例如,如果您的科学计算器给出2 + 2 = 5的结果!然后,没有必要测试像sin 30 + cos 50这样的高级功能。

烟雾测试与健康测试 - 关键差异

烟雾测试理智测试
执行烟雾测试以确定程序的关键功能正常工作 进行完整性测试以检查新功能/错误是否已修复
此测试的目的是验证系统的“稳定性”,以便进行更严格的测试 测试的目的是验证系统的“合理性”,以便进行更严格的测试
此测试由开发人员或测试人员执行 完整性测试通常由测试人员执行
烟雾测试通常记录在案或编写脚本 通常不会记录完整性测试并且没有脚本
烟雾测试是验收测试的一个子集 理智测试是回归测试的一个子集
烟雾测试从头到尾练习整个系统 完整性测试仅执行整个系统的特定组件
烟雾测试就像一般健康检查 健康测试就像专业的健康检查一样

注意事项。

  • 理智测试和烟雾测试都是通过快速确定应用程序是否存在缺陷而无需进行任何严格测试来避免浪费时间和精力的方法。 
  • 理智测试也称为测试仪验收测试。
  • 在特定构建上执行的烟雾测试也称为构建验证测试。
  • 最好的行业惯例之一是在软件项目中进行每日构建和烟雾测试。
  • 烟雾和健全性测试都可以手动执行或使用自动化工具执行使用自动化工具时,测试通常由生成构建本身的相同过程启动。
  • 根据测试需要,您可能必须在软件构建上执行Sanity和Smoke Tests。在这种情况下,您将首先执行Smoke测试,然后继续进行Sanity测试。在工业中,健全测试的测试用例通常与烟雾测试的测试用例相结合,以加快测试执行。因此,这些术语经常被混淆并可互换使用是很常见的

 

 

posted @ 2018-07-24 15:35  (时光)光阴飞逝  阅读(860)  评论(0)    收藏  举报