当有新的建筑物时,我们将进行烟雾测试,在少数项目中,他们称其为健全性测试。有人可以详细说明两者之间的区别吗?

#1 楼

为了使水更加浑浊,我将抛出“取决于情况”。如果您正在寻找自己公司内的实用答案,那么我会问他们,因为它们是针对不同领域而变化的术语。有时它们是相同的,有时是不同的,并且通常是在编写测​​试的人的心血来潮中定义的。简短的历史记录和上下文将有助于显示差异:

烟雾测试通常是指硬件测试,其中设备将被插入,如果开始冒烟,则将其拔出,因为不需要进行进一步测试。它不起作用,没有任何必要进行测试。

传统上,健全性测试是测试(在其他测试领域),它确定结果是否真实,而不是确定结果是否正确是正确的,也就是说输出是否为“正常”。如果将“ 9”放入函数“ squareroot()”中并得到“ badger”,则您的健全性测试失败。例如,如果得到的正数小于9,则即使数字不是“ 3”,您也已经通过了它。这就是为什么他们指的是确保系统能够正常运行以进行测试的测试-它对基本测试给出了理智的响应,因此,运行全功能测试不会浪费时间。

当迷失在软件的复杂性中时,就会产生混乱-在什么时候可以测试系统?当仅在代码的certian部分运行时才破裂时,我们如何查看烟雾是否冒出来?显然,它因项目而异。同样,为了进行冒烟测试,您需要使用测试框架(手动或其他方式)来实际检查系统是否正在运行且是否响应。因此在许多情况下,它们只是功能测试的子集。因此,定义是不同的,但是(经常错误地)在实践上互换使用。希望知道上下文会给单词带来一些含义,即使它们都(在实际和上下文上)简化为“给它踢一跳,看看会发生什么”。

它们的目的类似于软件测试,以节省运行完整回归套件的时间,并发现由于基本错误而导致系统崩溃。原因是必须修复系统中的基本错误,并且该修复会影响系统,然后应重新启动测试,因此越快发现较大的高优先级错误越好。例如,在长时间,缓慢的功能测试运行之前,Web应用程序可能会出现404错误和断开的链接。

希望有帮助!

评论


+1可以对事物的“取决于”方面进行出色的分析。附带说明一下,对于硬件冒烟测试,尽管在火焰测试中,我还是经历了一下……旧的Leading Edge D2 PC,插入电源后,RAM电路中的电容器爆炸了(字面上),着火了主板...是的,那不起作用...

– Tristaan​​Ogre
2011年6月21日14:45

我设想在烟熏残骸的侧面贴上“无需进一步测试”标签:)。我自己在扬声器系统中遭受了电容器爆炸,它用吸烟的辩证法粘在了外壳的内部,所以我从那里知道你来了!非常感谢您的客气话

– Kinofrost
2011年6月21日在16:14

您的心理形象是准确的...混有化学灭火剂和焦硅的气味,您几乎已经描述了这种情况...

– Tristaan​​Ogre
2011年6月21日在17:27

它总是取决于...

–乔·斯特拉泽(Joe Strazzere)
2011年6月21日19:24

嘿,你们让我想起很早以前就出现在一篇流行的电子产品上的有关新型固态设备的旧文章(我很古老)。三个适用于此讨论。SSCG固态纸屑发生器(25uF电解5v电容,跨120vac光源放置。仅用于一种用途。)NED噪声二极管(在120vac光源上放置普通LED,发出很大的噪音,一次)和DED-暗发射二极管,一次使用NED后的结果。

– Chuck van der Linden
2011年6月23日下午4:45

#2 楼

健全性和冒烟测试是混杂的。它们是不相同的,并且用途不同!烟雾测试仅应确保
应用程序启动并且所有
接口都响应。您不
在烟雾测试中测试功能的子集。应确保
应用程序处于
状态,可以进行更严格的测试。这
是通过执行功能测试的一小部分来完成的。


如Joe所建议的那样,它们通常被用作确保时间不浪费的门。不会浪费时间测试根本存在缺陷的版本。

评论


我还看到“健全性”测试作为快速测试(在没有良好的自动回归套件的环境中)完成了,就像您的描述一样,对整个产品进行了功能测试的随机抽样,以确保最新的补丁或“热修复”没有不会破坏任何东西。这与“是否足以测试”完全不同,而与“我们没有时间重新测试所有内容,看起来好像没有突然开始以疯狂的方式行事”更接近。

– Chuck van der Linden
2011年6月23日4:50



#3 楼

在大多数商店中,没有区别。通常,它们是同一过程的两个名称。

在这两种情况下,它们都是所有测试用例的子集,涵盖了系统的主要功能,以确定最关键的功能正在起作用,但不会打扰到更详细的细节。

很多时候,烟雾测试/健全性测试都被用作门户,构建必须通过它才能被认为值得进行更深入的测试。如果构建未能通过此测试,则将其返回给开发团队进行修复。如果通过,则测试团队会深入研究。

评论


我同意Joe的观点,我听说过两者都用过,通常在使用时指的是同一件事。

– MichaelF
2011年6月21日在12:18

它们不是一回事,不幸的是,这是软件质量保证中的常见错误。它们确实具有相似的特征,但是它们具有不同的用途。

–stuartf
2011年6月21日在12:52

我们需要一个Wiki页面来涵盖所有这些术语及其最常见的定义,因为这个问题将再次出现。

–user246
2011年6月21日13:05

查看教科书(Erik van Veenendaal的《测试从业人员》)中的词汇表,对于“健全性测试”,它说“请参见烟雾测试”。

– Tom77
2011年6月21日15:27

在大多数商店中,这些术语可以互换使用。在某些商店中,它们是不同的术语,例如stuartf。我们的专业没有术语的实际规则,甚至每天都有一些商店违反通用用法。我遇到过几乎与公司一样多的不同短语,这些短语意味着诸如“确保没有浪费时间来测试根本有缺陷的构建”之类的东西。 (更不用说:strazzere.blogspot.com/2010/04/bug-by-any-other-name.html):)

–乔·斯特拉泽(Joe Strazzere)
2011年6月21日在16:39



#4 楼

为了方便记忆,

烟熏测试-您只需测试所有页面的访问是否正确无误,以及输入是否已提交并获得结果。您可以在整个应用程序中执行此操作。

完整性测试-您需要1个或2个模块。可能更多。

您了解到,您这样做只是为了接受要进行进一步测试的构建,即。回归,系统等

#5 楼

烟雾测试是对建筑物进行正常的健康检查,然后再开始进行深入测试。健全性测试用于验证是否满足要求,首先广度检查所有功能。理智测试的深度不仅仅是烟雾测试。健全性测试有助于确定测试用例结果是否一致。

有些人认为烟雾和健全性测试是相同的。

其他讨论差异的书:


Limaye的软件测试
Arunkumar的结构化软件测试
Khannur
软件测试:Srinivasan的原理和实践
Desikan,Gopalaswamy Ramesh

您还可以查看回归/烟雾/理智

#6 楼

顾名思义->

烟雾测试->在这里,您检查整个系统并检查它是否工作正常或有任何问题(烟雾)。通常,这是在将代码部署到产品之前在舞台上完成的。我们仅测试主要功能,并查看是否保持完整性。

希望有帮助!

#7 楼

基本上,产品开发完成后就进行烟雾测试,以确保所有功能正常运行,而合理性测试则是为了确保在代码中最近进行更改后,错误/错误已被消除。我一直在研究这个主题,并在上​​面发表了一篇客座文章。您可以在本文中获得它们之间的完全区别。希望这个问题对您的问题有用。

#8 楼

健全性测试意味着我们必须详细检查每个主要部分,我们可以避免严重性较低的部分

在烟雾测试中,我们必须以粗略的方式检查每个部分...零件应进行测试