Even though code coverage is a widespread and popular test adequacy metric, it has several limitations. One of the major limitations is that code coverage does not satisfy the necessary conditions for effective fault detection, as it only cares about executing different parts of a program. Studies showed that code coverage as a test adequacy metric is a poor indicator of the quality of a test suite as it does not consider the quality of test oracles. To address this limitation, researchers proposed extensions to traditional code coverage metrics that explicitly consider test oracle quality. We name these metrics as \textit{oracle-based code coverage}. This survey paper has discussed all oracle-based techniques published so far, starting from 2007.
翻译:尽管代码覆盖范围是一个广泛和普及的测试充分性衡量标准,但它有若干限制,其中一项主要限制是代码覆盖面不能满足有效发现错误的必要条件,因为它只关心执行一个方案的不同部分。研究表明,作为测试适足性衡量标准,代码覆盖面是测试套件质量的一个很差的指标,因为它不考虑测试孔雀的质量。为解决这一限制,研究人员提议扩大传统代码覆盖面指标,明确考虑测试或触角质量。我们将这些指标命名为“基于代码的Textit{oracle”覆盖率。本调查文件讨论了从2007年起迄今公布的所有基于信箱的技术。