什么是健康testing/检查
这是什么,为什么使用/有用?
完整性testing不受程序或软件工程环境的限制。 完整性testing只是一个偶然的术语,意味着您正在testing/确认/validation应遵循非常清晰和简单的逻辑。 这是要求别人确认你是不是疯了似乎是有道理的,你也有意义,或者你在过去的4个小时内过多的能量饮料,以保持清醒?
如果你不知道为什么一些非常简单的工作不能正常工作,你完全不知所措,那么你会要求某人为你做一个快速的理性testing。 让他们确保在最后15次for
循环结束时,不要忽略分号。 非常简单的例子,真的不应该发生,但有时候你太靠近,不能退后一步,看到整体。 不同的观点有时有助于确保你不是完全疯狂的。
完整性testing或完整性检查是快速评估索赔或计算结果是否可能为真的基本testing@ http://en.wikipedia.org/wiki/Sanity_testing
很好的例子是数据库连接的健全性检查。
SELECT 1 FROM DUAL
这是一个简单的查询来testing连接,请参阅:
从DUAL:MySQL中select1
它不testing深层function,只是连接可以继续。
至less据我的理解,烟雾和清洁之间的区别在于烟雾testing是一个快速testing,看看构build后的应用程序是否足够用于testing 。 然后,你做一个健康testing,告诉你一个特定的function区是否足够好,以至于在这个区域进行testing确实是有意义的 。
例:
烟雾testing:我可以启动应用程序,浏览所有的屏幕,应用程序不会崩溃。
– 如果应用程序崩溃或者我无法访问所有的屏幕,这个版本有一些错误,有一个“火灾”,需要尽快消除,而且这个版本不适合testing。
完整性testing(用户pipe理屏幕):我可以进入用户pipe理屏幕,创build一个用户并删除它。
- 所以,申请通过了烟雾testing,现在我进行到不同领域的理智testing。 如果我不能依靠应用程序来创build用户并将其删除,那么testing用户到期,login等更高级的function是没有价值的。但是,如果完整性testing已通过,我可以继续进行testing这片区域。
对于软件应用程序来说,完整性testing是一系列的testing,在集成了新function和缺陷修复之后,软件版本可以向公众发布。 一个完整的testing意味着,虽然许多问题可能仍然存在,但是例如可能导致某人丢失金钱或数据或者使程序崩溃的非常关键的问题已经得到解决。 因此,如果没有关键问题,版本通过了健全testing。 这通常是发布之前完成的最后一个testing。
烟雾testing是为了快速testing新构build的稳定性。 理智testing是新部署环境的testing。
确保某些东西简单地工作是一个基本的testing。
例如:连接到数据库。 或者ping一个网站/服务器来查看它是否启动或closures。
检查一段代码(或其他任何东西,例如,Usenet发布)的行为是完全愚蠢的错误。
这意味着检查是为了确保作者在写作时是正常的;
例如,如果一个科学软件依赖于一个特定的公式,并给出了意想不到的结果,那么在查看更复杂的I / O之前,可以首先查看括号嵌套或公式编码,作为完整性检查数据结构操作例程,更不用说algorithm本身。
完整性检查背后的基本概念是确保运行代码的结果与预期的结果一致。 除了被使用的东西比应该less得多,一个适当的完整性检查有助于确保你所做的事情不会完全超越界限,做一些不该做的事情。 完整性检查最常见的用途是debugging那些行为不当的代码,但即使是最终产品,也可以从一些适当的地方获益,以防止由于GIGO(垃圾进入,垃圾出)而出现不需要的错误。
相关的,不要低估你的用户做一些你不会期望任何人实际做的事情的能力。 这是许多程序员从不学习的教训,无论教授多less次,理智检查都是一个很好的工具,可以帮助你理解它。 “我永远不会这样做”不是为什么你的代码不能解决问题的有效借口,良好的理智检查可以帮助你避免不必要的借口。