健全性测试与冒烟测试:简介和差异

基础知识 · 2013-08-01

冒烟和健全性测试是软件测试中最容易被误解的主题。关于该主题的文献很多,但其中大多数令人困惑。下面的文章试图解决这种疑惑。

可以通过下图了解冒烟测试与健全性测试之间的主要区别:

20200511134008

要了解上面的图表,首先要了解:

什么是软件版本?

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

什么是冒烟测试?

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

在冒烟测试中,测试用例选择覆盖系统中最重要的功能或组件。目的不是执行详尽的测试,而是要验证系统的关键功能是否正常运行。
例如,典型的冒烟测试将是-验证应用程序是否成功启动,检查GUI是否响应...等。

什么是健全性测试?

健全性测试是一种在收到软件版本后执行的软件测试,对代码或功能进行了微小的更改,以确定这些错误已得到修复,并且由于这些更改而没有引起其他问题。目的是确定所提议的功能大致按预期工作。如果健全性测试失败,则将拒绝该构建,以节省更严格的测试所需的时间和成本。

目的是“不是”彻底验证新功能,而是确定开发人员在生产软件时已应用了某些合理性(合理性)。例如,如果您的科学计算器给出2 + 2 = 5的结果!那么,测试诸如sin 30 + cos 50之类的高级功能将毫无意义。

冒烟测试与健全性测试-主要区别

冒烟测试健全性测试
进行冒烟测试以确保程序的关键功能正常运行进行完好测试以检查新功能/错误是否已修复
此测试的目的是验证系统的“稳定性”,以便进行更严格的测试。测试的目的是验证系统的“合理性”,以便进行更严格的测试
此测试由开发人员或测试人员执行。健全性测试通常由测试人员执行
冒烟测试通常记录在案或编写脚本健全性测试通常不记录在案且未编写脚本
冒烟测试是验收测试的一个子集健全性测试是回归测试的一个子集
冒烟测试从始至终都对整个系统进行了测试健全性测试仅对整个系统的特定组成部分进行了测试
冒烟测试就像一般的健康检查健全性测试就像专门的健康检查

注意事项

  • 健全性测试和冒烟测试都是通过快速确定应用程序是否存在缺陷而不值得进行任何严格测试来避免浪费时间和精力的方法。
  • 健全性测试也称为测试人员验收测试。
  • 在特定构建上执行的冒烟测试也称为构建验证测试。
  • 最佳的行业实践之一是在软件项目中进行每日构建和冒烟测试。
  • 冒烟测试和健全性测试均可手动执行,也可以使用自动化工具执行。当使用自动化工具时,测试通常由生成构建本身的同一过程启动。
  • 根据测试的需求,您可能必须在软件版本中执行完整性测试和冒烟测试。在这种情况下,您将首先执行冒烟测试,然后继续进行健全性测试。在工业中,用于健全性测试的测试用例通常与冒烟测试的用例结合在一起,以加快测试的执行速度。因此,术语经常被混淆并互换使用是很常见的。

关键区别

  • 冒烟测试的目标是验证“稳定性”,而健全性测试的目标是验证“合理性”。
  • 冒烟测试由开发人员或测试人员完成,而健全性测试由测试人员完成。
  • 冒烟测试可验证系统的关键功能,而完整性测试可验证新功能(如错误修复)。
  • 冒烟测试是验收测试的一个子集,而健全性测试是回归测试的一个子集。
  • 冒烟测试记录或编写了脚本,而健全性测试则没有。
  • 冒烟测试从头到尾验证整个系统,而健全性测试仅验证特定组件。
测试基础
Theme Jasmine by Kent Liao