健全性测试或完整性测试是快速评估索赔或计算结果是否可能的基本测试。 这是一个简单的检查,看看生产的材料是否合理(材料的创造者是理性思考,应用理智)。理智测试的目的是排除某些明显错误的结果,而不是捕捉每一个可能的错误。可以检查经验法则以执行测试。 除了执行完整或严格的测试之外,完整性测试的优势在于速度。
在算术中,例如,当乘以9时,使用9的除数规则来验证结果的数字总和是否可被9整除是一个完整性测试 - 它不会捕获每个乘法误差,但它是一个快速而简单的发现许多可能错误的方法。
在计算机科学中,健全性测试是计算机程序,系统,计算或其他分析的功能的非常简短的贯穿,以确保系统或方法的一部分大致按预期工作。 这通常是在更详尽的一轮测试之前。
理智测试可以参考各种数量级和其他简单的经验法则设备,用于交叉检查数学计算。例如:
在软件开发中,理智试验(一种形式的 软件测试 提供的"快速、广泛、和浅层的测试")确定它是否可能及合理开展进一步的测试。
软件健全测试是烟雾测试的同义词。 理智或冒烟测试确定继续测试是否和 。 完整性测试执行确定系统是否可访问且应用程序逻辑是否响应所需的应用程序功能的子集。 如果完整性测试失败,则尝试更严格的测试是不合理的。 通过快速确定应用程序是否存在缺陷而无需进行任何严格测试,可以避免浪费时间和精力。 许多公司在自动构建中运行健全性测试,作为其软件开发生命周期的一部分。
可以使用完整性测试来辅助调试软件。 考虑一下,应用程序或软件通常涉及系统外部输入和输出之间的多个子系统。 当整个系统未按预期执行时,可以使用健全性测试来帮助决定接下来要调查的内容。 如果一个子系统未给出预期结果,则可能会从进一步调查中消除其他子系统。
一个“你好,世界!”程序通常用作开发环境的健全性测试。 如果程序无法编译或执行,则支持环境可能存在配置问题。 如果它有效,任何被诊断的问题可能都在于实际的应用程序。
“健全性测试”的另一种可能更常见的用法是表示在程序代码中执行的检查,通常是对函数的参数或从中返回,以查看答案是否可以被认为是正确的。 例程越复杂,检查其响应就越重要。 这个简单的案例是检查打开,写入或关闭的文件是否在这些活动中没有失败 - 这是一个经常被程序员忽略的健全性检查。 但是,由于各种原因,更复杂的项目也可以进行健全性检查。
这方面的例子包括银行账户管理系统,它检查提款是否合理,不要求超过账户包含,并且存款或购买是合理的,以适应历史数据建立的模式 - 对于准确性,可以更仔细地检查大额存款,可以与持卡人一起检查大额购买交易以防止欺诈,在持卡人访问之前的外国地点的ATM取款可能会与他一起清理等等;这些是“运行时”的健全性检查,而不是上面提到的“开发”健全性检查。