烟雾测试和合理性测试之间有什么区别?

32

什么是冒烟测试和合理性测试的区别?何时进行冒烟测试,何时进行合理性测试?

10个回答

38

健康测试

健康测试是回归测试的子集,当我们没有足够时间进行测试时执行。

健康测试是表面层次的测试,在此QA工程师验证产品和项目中所有菜单、功能、命令是否正常工作。


例子

例如,在一个项目中有5个模块:登录页面主页用户详细信息页面新用户创建任务创建

假设我们在登录页面发现了一个错误:登录页面的用户名字段接受少于6个字母数字字符的用户名,这违反了要求,因为要求指定用户名至少应为6个字母数字字符。

现在测试团队向开发团队报告了这个错误。在开发团队修复错误并将应用程序传递给测试团队后,测试团队还检查应用程序的其他模块,以验证错误修复不会影响其他模块的功能。但请牢记一点:由于时间短,测试团队只检查模块的极端功能,而不深入测试细节。


健康测试在构建通过冒烟测试并被QA团队接受进行进一步测试之后执行。健康测试检查主要功能的细节。

在开发团队对代码进行更改或特定代码更改以修复任何关键问题,严格的发布时间框架不允许完全回归测试时,执行健康测试可快速了解产品状态。


冒烟测试

冒烟测试是在软件构建之后执行的,以确定程序的关键功能是否正常工作。它被执行“在”对软件构建执行详细功能或回归测试之前。

其目的是拒绝损坏严重的应用程序,以便QA团队不会浪费时间安装和测试软件应用程序。

在烟雾测试中,选择的测试用例涵盖系统中最重要的功能或组件。目标不是进行详尽的测试,而是验证系统的关键功能是否正常工作。例如,典型的烟雾测试包括:
  • 验证应用程序成功启动,
  • 检查GUI是否响应。

5
按照这个“Sanity Check”的定义,它与其它测试的区别并不是很明显。经过研究后发现,可以看作都不是深入测试,但“Sanity Check”侧重于新功能的检查。这两种测试都是在将构建版本发送到QA之前执行的。参考链接:https://www.guru99.com/smoke-sanity-testing.html和http://www.softwaretestinghelp.com/smoke-testing-and-sanity-testing-difference/。 - Jorge
根据您的定义,“所有可用的菜单、功能和命令”,合理性检查可能是一项相当大的工作。其他答案/来源将合理性检查限制为仅适用于新的/修改的功能。 - Michael Freidgeim

20

烟雾测试

烟雾测试(Smoke testing)最初源于硬件环境,即需要进行测试以检查新硬件的开发是否会导致火灾和烟雾。在软件环境中,烟雾测试用于验证我们是否可以考虑进一步测试新建的功能。

合理性测试

在收到具有小型或较小更改的功能或代码后,对回归测试用例的子集进行执行,以验证它是否解决了问题或软件缺陷,并且未引入任何其他软件缺陷。


烟雾测试和合理性测试的区别

烟雾测试

  • 烟雾测试用于测试应用程序的所有区域,但不过于深入。

  • 烟雾测试始终使用自动化测试或编写的一组测试。 它始终是脚本化的。

  • 烟雾测试旨在以不太详细或详细的方式包括应用程序的每个部分。

  • 烟雾测试始终确保程序的最关键功能正在工作,但不涉及更细节的内容。

合理性测试

  • 合理性测试是一种针对一个或少数功能区域的狭窄测试,但不太深入。

  • 合理性测试通常是未脚本化的。

  • 合理性测试用于确保在小的应用程序更改后,仍然可以使用应用程序的一小部分。

  • 合理性测试是一种粗略的测试,旨在证明应用程序按规格书的要求正常运行。此级别的测试是回归测试的子集。

希望这些要点有助于您理解烟雾测试和合理性测试之间的区别。


参考文献


5

烟雾测试和合理性测试

总的来说,对于刚开始测试的许多测试人员来说,烟雾测试和合理性测试似乎非常相似,因为在这两种测试中我们谈论了“构建”,我们谈论了“功能”,以及我们谈论了“构建被拒绝”的情况,如果构建的健康状态不适合可行的测试。

经过几个项目的经验,从初创公司到产品公司,我找出了烟雾测试和合理性测试之间的基本区别。

我在这里写下烟雾测试和合理性测试之间的区别,以帮助你至少回答面试中通常会问到的一个问题。

烟雾测试

  • 烟雾测试用于测试构建的健康状态。

  • 它也被称为浅层广泛测试,其中我们通常包括那些可以覆盖产品所有功能的测试用例。

  • 我们可以说这是测试的第一步,在此之后,我们通常进行其他类型的功能和系统测试,包括回归测试。

  • 通常由开发人员使用某些脚本或某些工具完成,但在某些情况下也可以由测试人员执行。

  • 对于构建确认的初始阶段是有效的。例如,假设我们已经开始开发某个产品,并且第一次生成构建,则烟雾测试成为该产品的必要条件。

合理性测试

  • 它是子回归测试

  • 合理性测试适用于那些经过多次回归测试并发生了代码微小更改的构建。在这种情况下,我们通常对发生或可能影响此更改的功能进行深入测试。

    • 由于这个原因,它也被称为“窄”和“深”测试
  • 它由测试人员执行

  • 它适用于成熟的构建,例如即将投入生产的构建,并且已经经过多次回归处理。

  • 如果已经执行回归测试,则可以从测试过程中删除它。

  • 如果任何构建未通过合理性测试,则将其退回给开发人员以更正构建。


4

请尝试通过这个例子来理解。


假设你正在展厅购买一辆汽车。

你会首先检查汽车是否包含四个轮胎、方向盘、车灯或所有其他基本物品。这被称为冒烟测试

如果你要检查汽车的最高速度或者油耗,那么这就被称为合理性测试


4

烟雾测试

  1. 烟雾测试是一种广泛的方法,可以在不太深入的情况下测试软件应用程序的所有区域。

  2. 软件烟雾测试的测试用例可以是手动或自动的。

  3. 烟雾测试旨在确保软件应用程序的主要功能是否正常工作。在软件的烟雾测试期间,我们不会进入更精细的细节。

  4. 对软件应用程序进行烟雾测试是为了检查是否可以接受该构建进行全面的软件测试。

  5. 这种测试由开发人员或测试人员执行。

  6. 烟雾测试从头到尾练习整个系统。

  7. 烟雾测试就像一次全面体检。

  8. 烟雾测试通常有记录或脚本化。

理智测试

  1. 理智软件测试是一种狭窄的回归测试,重点关注软件应用程序的一个或一小组功能区域。

  2. 理智测试通常没有测试脚本或测试用例。

  3. 理智测试是一种粗略的软件测试类型。只要快速进行一轮软件测试就能证明软件应用程序是否按照业务/功能需求运行。

  4. 软件的理智测试是为了确保是否满足要求。

  5. 理智测试通常由测试人员执行。

  6. 理智测试仅练习整个系统的特定组件。

  7. 理智测试就像专门的体检。

  8. 理智测试通常没有记录和脚本。

更多信息请访问 链接


1

烟雾测试是检查需求是否满足的过程。它类似于一个常规健康检查

合理性测试是检查特定模块是否完全工作的过程。合理性测试是专门针对特定健康问题的检查


1

烟雾测试是指旨在检查是否正确构建的测试。这里指集成和连接。因此,您需要从技术角度检查是否可以进行更广泛的测试。您需要执行一些测试用例并检查结果是否为正。

健全性测试通常具有相同的目标-检查我们是否可以进行进一步的测试。但在健全性测试中,您关注的是业务价值,因此您执行一些测试用例,但检查逻辑。

总体上,人们会将以上两个测试都称为烟雾测试,因为它们在同一时间执行(烟雾测试之后进行健全性测试),并且它们的目的相似。


-1

不确定是谁给这个点踩了,但这只意味着你不同意ISTQB。 - rohit yadav
如果您仍然不清楚,请参考此链接:https://glossary.istqb.org/en/search/smoke%20test - rohit yadav

-1

冒烟测试

假设应用程序的新版本已经从开发阶段准备好了。

我们检查是否能够在没有崩溃的情况下打开应用程序。我们登录到应用程序。我们检查用户是否被重定向到正确的URL并且环境是稳定的。如果应用程序的主要目的是为用户提供“购买”功能,则检查用户的ID是否被重定向到购买页面。

在进行了冒烟测试之后,我们确认该构建以可测试的形式存在,并已准备好进行合理性测试。

合理性测试

在这个阶段,我们检查基本功能,例如:

  1. 使用有效凭据登录,
  2. 使用无效凭据登录,
  3. 登录后正确显示用户信息,
  4. 使用某个用户ID进行购买订单,
  5. 购买后显示“感谢您”的页面。

-3

Smoke Testing(冒烟测试):

冒烟测试是有脚本的,也就是说你可以使用手动测试用例或自动化脚本进行测试。

Sanity Testing(合理性测试):

合理性测试大多数情况下是非脚本化的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接