中文

评估开发者编写的 Java 单元测试用例缩减——一项重复研究

软件工程 2025-01-10 v1

摘要

失败的测试用例缩减可以促进高效的调试,因为开发者可能不需要观察与诱发失败无关的组件。失败的测试用例缩减还可以提高错误定位的效率。这些考虑促使研究人员去研究缩减过程、缩减输出以及被移除的实体。Christi 等人使用名为 ReduSharptor 的工具对 C# 测试进行了测试缩减研究。他们将测试视为抽象语法树 (AST)。在此基础上,他们根据 AST 的叶节点和非叶节点研究了缩减结果和被移除的实体。他们声称:(1) 叶节点被大量移除;(2) 叶节点的移除概率略高于非叶节点。我们使用另一款不同的测试用例缩减工具 ReduJavator 对 Java 单元测试重复了他们的结果。我们使用从 Defects4J 数据库中随机选取的 30 个 bug 以及 6 个开源项目的 30 个变异体来评估测试缩减。我们的结果证实了他们的第一个主张:叶节点被大量移除。我们的结果对于他们的第二个主张是不确定的;我们无法证实非叶节点的移除概率更高。

关键词

引用

@article{arxiv.2501.04890,
  title  = {Evaluating Developer-written Unit Test Case Reduction for Java -- A Replication Study},
  author = {Tuan D Le and Brandon Wilber and Arpit Christi},
  journal= {arXiv preprint arXiv:2501.04890},
  year   = {2025}
}

备注

5 pages and 4 figures