中文

注意差距:覆盖率与变异得分之差可指导测试工作

软件工程 2023-09-06 v1

摘要

一个“充分”的测试套件应有效发现系统需求/规约与其实现之间的所有不一致。从业者常使用代码覆盖率来近似充分性,而学者认为变异得分可能更好地近似真实(神谕式)充分覆盖率。即便在大型系统上,通过自动测试生成(包括模糊测试)也越来越容易获得高代码覆盖率。面对这些衡量和改进测试工作的种种选项,QA 工程师应如何分配时间?我们提出一个新框架,基于称为神谕差距(oracle gap)的概念——即给定软件元素的源代码覆盖率与变异得分之差——来推理特定测试工作的程度、局限与性质。我们开展了(1)跨流行 Maven 项目的神谕差距大规模观察性研究,(2)在若干此类项目中改变测试与神谕质量的研究,以及(3)跨可比区块链项目中高关键性、充分测试代码的小规模观察性研究。我们表明神谕差距揭示了超越任一充分性度量本身的测试工作的程度与质量的重要信息。特别地,它为从业者提供了一种识别源文件的方法,其中很可能由弱神谕测试了重要代码。

关键词

引用

@article{arxiv.2309.02395,
  title  = {Mind the Gap: The Difference Between Coverage and Mutation Score Can Guide Testing Efforts},
  author = {Kush Jain and Goutamkumar Tulajappa Kalburgi and Claire Le Goues and Alex Groce},
  journal= {arXiv preprint arXiv:2309.02395},
  year   = {2023}
}