论文标题
简要调查基于甲骨的测试充足度指标
A Brief Survey on Oracle-based Test Adequacy Metrics
论文作者
论文摘要
代码覆盖范围是一种流行而广泛的测试充分度量,可测量测试套件执行的程序代码的百分比。尽管它很受欢迎,但代码覆盖范围仍有几个局限性。主要局限性之一是,它没有提供对测试Oracles的质量或数量的任何见解,这是测试的核心组成部分。由于这一限制,几项研究表明覆盖范围是一个较差的测试充分度指标。因此,不应将其用作测试套件的断层检测效果的指标。为了解决这一局限性,研究人员提出了对传统结构代码覆盖范围的扩展,以明确考虑测试牙齿的质量。我们将这些扩展名为基于Oracle的代码覆盖范围。这项调查论文研究了基于甲骨文的覆盖技术,自2007年成立以来就发表了。我们讨论了每个指标的定义,方法论,实验研究和研究结果。即使事实证明,基于甲骨文的覆盖范围指标比传统的覆盖范围更有效,但他们在软件工程社区中几乎没有受到关注。我们在本文中介绍了所有现有的基于Oracle的充分度指标,并将关键特征相互比较。我们观察到,不同的基于Oracle的充分度指标可以在不同的覆盖范围内运行并使用不同的基础分析技术,从而使软件测试人员能够根据测试要求选择适当的度量。我们的论文提供了有关基于甲骨文的方法的局限性的有价值的信息,这些信息可能有助于其在软件测试自动化中的广泛采用。
Code coverage is a popular and widespread test adequacy metric that measures the percentage of program codes executed by a test suite. Despite its popularity, code coverage has several limitations. One of the major limitations is that it does not provide any insights into the quality or quantity of test oracles, a core component of testing. Due to this limitation, several studies have suggested that coverage is a poor test adequacy metric; therefore, it should not be used as an indicator of a test suite's fault detection effectiveness. To address this limitation, researchers have proposed extensions to traditional structural code coverage to explicitly consider the quality of test oracles. We refer to these extensions as oracle-based code coverage. This survey paper studies oracle-based coverage techniques published since their inception in 2007. We discuss each metric's definition, methodology, experimental studies, and research findings. Even though oracle-based coverage metrics are proven to be more effective than traditional coverage in detecting faults, they have received little attention in the software engineering community. We present all existing oracle-based adequacy metrics in this paper and compare the critical features against each other. We observe that different oracle-based adequacy metrics operate on different coverage domains and use diverse underlying analysis techniques, enabling a software tester to choose the appropriate metric based on the testing requirements. Our paper provides valuable information regarding the limitations of oracle-based methods, addressing which may help their broader adoption in software testing automation.