测试准则
测试准则是软件测试中用来检测测试是否通过的一种机制,它定义了在给定的测试用例输入下产品应有的输出,并与被测试系统的实际输出进行比较。测试准则不同于测试规格说明,它是测试规格说明的深化,用一种完整而清晰的方式描述了测试需求。威廉·豪登在《测试理论入门》一书中首次使用并定义了这一术语,而艾琳·韦约克对不同类型的测试准则进行了拓展。
介绍
测试准则在软件测试中的选择至关重要,它们经常独立于被测试系统,并且在自动化测试中,后置条件方法是常用的自动化测试准则。测试准则问题往往比看起来要难得多,因为它们会连带要求解决可控性和可观测性问题。
测试准则一般分为基于程序的(白盒的、结构化的)和基于规格说明的(黑箱的、功能的)。白盒测试准则考虑程序的内部结构,而基于规格说明的测试准则则从系统的形式规格说明出发产生测试用例,不需要程序的代码。
常见的测试准则包括但不限于:
- 设计规格和软件文档,这些文档提供了测试的基本指导和参考。
- 其它产品,例如,作为一个软件的测试准则,可能是使用不同算法计算同一个数学表达式的其它程序。
- "启发式准则",为一组少量测试输入提供近似或准确结果。
- "统计式准则",使用统计学特征来定义测试准则。
- "一致性准则",通过比较一个测试执行结果的相似性来产生。
- "基于模型的准则",使用相同模型来产生和确认系统行为。
- 人工准则,例如由手工分析来确定被测试系统的正确性。
在实际应用中,测试准则的选择和定义需要根据具体的测试目标和上下文来确定,以确保测试活动能够有效地验证和确认软件产品的质量。