什么是健全性测试/检查


Answers:


95

健全性测试绝不限于编程或软件工程的上下文。健全性测试只是一个随意术语,表示您正在测试/确认/验证应遵循非常清晰和简单的逻辑的内容。它是在问其他人确认您没有精神错乱,对您来说似乎有意义的事情对他们也很有意义……还是您在过去4个小时内为了维持理智而喝了太多能量饮料?

如果您对某些简单的东西为什么不起作用感到完全不知所措,那么您将要求某人为您进行快速的理智测试。让他们确保for在最后15次查看循环时,不要忽略循环末尾的分号。极其简单的示例,确实不应该发生,但是有时您离某个东西太近了,无法退后一步来查看整体。有时,不同的观点有助于确保您不会完全发疯。


3
当您大量喝酒时,您需要在工作中进行更多的理智检查
Pawel 2015年

您能提供一些在软件环境下编写健全性测试的做法吗?
AV94 2015年

7

很好的例子是数据库连接的完整性检查。

SELECT 1 FROM DUAL

这是测试连接的简单查询,请参见:

从DUAL中选择SELECT 1:MySQL

它不会测试深层功能,只是可以继续进行连接。


1
数据库健全性检查可能是冒烟测试的一部分,但是通常,冒烟测试是一组基本检查,您可以运行这些检查以确保应用程序正常运行。
乔恩


6

健全性测试或健全性检查是一种基本测试,可快速评估索赔或计算结果是否可能为真@ http://en.wikipedia.org/wiki/Sanity_testing


3
例如,如果要通过迭代机制计算平方根。然后,您会期望找到的根为正,并且乘以它后的根大约等于输入值。因此,您可以添加一些检查以确保您的逻辑正确-答案是“合理”。这些是健全性检查-如果算法在逻辑上一致,则不能为假。
Pete Kirkham

5

至少据我所知,烟雾与健全性之间的区别在于,烟雾测试是一种快速测试,可以看到在构建之后应用程序足以进行测试。然后,您进行了健全性测试,它将告诉您特定功能区域是否足够好,以至于在该区域进行测试实际上是有意义的

例:

冒烟测试:我可以启动应用程序并浏览所有屏幕,并且应用程序不会崩溃。

-如果应用程序崩溃或我无法访问所有屏幕,则此构建确实存在问题,需要尽快扑灭“大火”,并且该容器不适用于测试。

健全性测试(“用户管理”屏幕):我可以进入“用户管理”屏幕,创建一个用户并将其删除。

  • 因此,该应用程序通过了冒烟测试,现在,我针对不同区域进行了完整性测试。如果我不能依靠该应用程序创建用户并删除它,则测试更高级的功能(如用户到期,登录等)是毫无用处的。但是,如果完整性测试通过了,我可以继续进行这片区域。


1

完整性检查背后的基本概念是确保代码运行结果与预期结果一致。正确的健全性检查不仅可以使事情的使用频率大大降低,还可以确保您做的事情不会完全超出范围,并且做不该做的事情。完整性检查的最常见用途是调试行为异常的代码,但是即使最终产品也可以从一些适当的位置中受益,以防止由于GIGO(垃圾进,垃圾出)而出现不需要的错误。

与此相关的是,永远不要低估您的用户执行您未曾期望任何人实际做的事情的能力。这是很多程序员永远都不会学到的一课,无论它被教了多少遍,并且健全性检查是帮助您适应它的一个很好的工具。“我永远不会那样做”不是解释为什么您的代码没有解决问题的有效借口,良好的健全性检查可以帮助您避免不得不这样做。


1

对于软件应用程序,健全性测试是许多测试的集合,这些测试使软件版本在集成了新功能和错误修复后可以向公众发布。健全性测试意味着,尽管可能仍然存在许多问题,但是已经解决了一些非常关键的问题,例如,这些问题可能使某人亏本或丢失数据或使程序崩溃。因此,如果没有关键问题存在,该版本将通过完整性测试。这通常是发行前的最后测试。


0

这是一项基本测试,以确保某些功能可以正常工作。

例如:连接到数据库。或ping网站/服务器以查看其是否正常运行。


不它不是。这些都不检查系统的逻辑是否“健全”,他们都检查网络是否正常。因此,除非您提议对TCP本身的原理进行健全性检查(这已经被很好地证明是理智的),否则ping并不是健全性检查。即使这样,它也无法通过完整性检查的基础-如果逻辑正确,则测试不会失败,而TCP逻辑正确,但是ping仍然可能失败。
Pete Kirkham

尝试数据库连接或查看主机是否已启动是比基本健全性检查更高级别的操作。
meagar

0

检查一段代码(或其他任何内容,例如Usenet发布)是否存在完全愚蠢的错误的行为。

暗示检查是为了确保作者在撰写时是理智的;

例如,如果某款科学软件依赖于特定的公式并给出了意外的结果,则可以先查看括号的嵌套或公式的编码,以进行完整性检查,然后再查看更复杂的I / O或数据结构操作例程,更不用说算法本身了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.