健全性测试

健全性测试完整性测试是快速评估索赔或计算结果是否可能的基本测试。 这是一个简单的检查,看看生产的材料是否合理(材料的创造者是理性思考,应用理智)。理智测试的目的是排除某些明显错误的结果,而不是捕捉每一个可能的错误。可以检查经验法则以执行测试。 除了执行完整或严格的测试之外,完整性测试的优势在于速度。

在算术中,例如,当乘以9时,使用9的除数规则来验证结果的数字总和是否可被9整除是一个完整性测试 - 它不会捕获每个乘法误差,但它是一个快速而简单的发现许多可能错误的方法。

计算机科学中,健全性测试是计算机程序,系统,计算或其他分析的功能的非常简短的贯穿,以确保系统或方法的一部分大致按预期工作。 这通常是在更详尽的一轮测试之前。

数学编辑

理智测试可以参考各种数量级和其他简单的经验法则设备,用于交叉检查数学计算。例如:

  • 如果一个人试图平方 738并计算54,464,那么快速的理智检查可能表明这个结果不可能是真的。 考虑700 <738,但700²=7²×100²= 490,000> 54,464。 由于平方正整数保留了它们的不等式 ,结果不可能是真的,因此计算结果是不正确的。 正确答案,738²= 544,644,比54,464高出10倍以上,因此结果已经下降了一个数量级(它实际上错过了一位数)。
  • 在乘法中,918×155不是142,135,因为918可被3整除,但142,135不是(数字加起来为16,而不是倍数 )。 此外,产品必须以与结束数字8×5 = 40的乘积相同的数字结尾,但142,135不以“0”结束,如“40”,而正确的答案是:918×155 = 142,290。 更快的检查是偶数和奇数的乘积是偶数,而142,135是奇数。

物理编辑

  • 汽车功率输出不能是700 千焦 ,因为这是能量的衡量标准,而不是功率(每单位时间的能量)。 这是尺寸分析的基本应用。
  • 在确定物理性质时 ,与已知或类似物质相比,通常会产生对结果是否合理的见解。 例如,大多数金属能沉在水中,所以大多数金属的密度应该比的密度(1000 kg/m3 )更大。
  • 费米估计通常会提供对预期值的数量级的深入了解。

软件开发编辑

在软件开发中,理智试验(一种形式的 软件测试 提供的"快速、广泛、和浅层的测试"[1])确定它是否可能及合理开展进一步的测试。

软件健全测试是烟雾测试的同义词。 [2] 理智或冒烟测试确定继续测试是否可行合理 。 完整性测试执行确定系统是否可访问且应用程序逻辑是否响应所需的应用程序功能的子集。 如果完整性测试失败,则尝试更严格的测试是不合理的。 通过快速确定应用程序是否存在缺陷而无需进行任何严格测试,可以避免浪费时间和精力。 许多公司在自动构建中运行健全性测试,作为其软件开发生命周期的一部分。 [3]

可以使用完整性测试来辅助调试软件。 考虑一下,应用程序或软件通常涉及系统外部输入和输出之间的多个子系统。 当整个系统未按预期执行时,可以使用健全性测试来帮助决定接下来要调查的内容。 如果一个子系统未给出预期结果,则可能会从进一步调查中消除其他子系统。

一个“你好,世界!”程序通常用作开发环境的健全性测试。 如果程序无法编译或执行,则支持环境可能存在配置问题。 如果它有效,任何被诊断的问题可能都在于实际的应用程序。

“健全性测试”的另一种可能更常见的用法是表示在程序代码中执行的检查,通常是对函数的参数或从中返回,以查看答案是否可以被认为是正确的。 例程越复杂,检查其响应就越重要。 这个简单的案例是检查打开,写入或关闭的文件是否在这些活动中没有失败 - 这是一个经常被程序员忽略的健全性检查。[4] 但是,由于各种原因,更复杂的项目也可以进行健全性检查。

这方面的例子包括银行账户管理系统,它检查提款是否合理,不要求超过账户包含,并且存款或购买是合理的,以适应历史数据建立的模式  - 对于准确性,可以更仔细地检查大额存款,可以与持卡人一起检查大额购买交易以防止欺诈,在持卡人访问之前的外国地点的ATM取款可能会与他一起清理等等;这些是“运行时”的健全性检查,而不是上面提到的“开发”健全性检查。

参见编辑

参考文献编辑

  1. ^ Fecko, Mariusz A.; Lott, Christopher M. Lessons learned from automating tests for an operations support system (PDF). Software--Practice and Experience. October 2002, v. 32 [2019-06-24]. (原始内容存档 (PDF)于2003-07-17). 
  2. ^ ISTQB® Glossary for the International Software Testing Qualification Board® software testing qualification scheme, ISTQB Glossary页面存档备份,存于互联网档案馆) International Software Testing Qualification Board.
  3. ^ Hassan, A. E. and Zhang, K. 2006. Using Decision Trees to Predict the Certification Result of a Build. In Proceedings of the 21st IEEE/ACM international Conference on Automated Software Engineering (September 18 – 22, 2006). Automated Software Engineering. IEEE Computer Society, Washington, DC, 189–198.
  4. ^ Darwin, Ian F. Dealing with lint's concerns. Checking C Programs with Lint. "O'Reilly Media, Inc.". 1988 [2019-06-24]. ISBN 9780937175309. (原始内容存档于2017-02-28) (英语).