中文

将易错性估计引入基于覆盖的测试用例优先排序方法

软件工程 2020-02-18 v2

摘要

背景:在软件程序的开发过程中,回归测试用于确保源代码更新后软件的正确行为得以保留。随着测试用例数量的增加,这种回归测试随时间变得代价高昂,因此优先排序测试用例以尽早执行故障检测测试用例是合理的。现有许多基于覆盖的测试用例优先排序(TCP)方法仅利用代码覆盖数据来优先排序测试用例。通过将代码单元的易错性估计引入基于覆盖的 TCP 方法,我们可以改进此类技术。目标:本文旨在提出一种通过考虑代码单元上的易错性分布来改进基于覆盖的 TCP 方法的方法。此外,我们给出一个实证研究的结果,表明使用我们提出的方法显著改进了 additional 策略——一种广泛使用的基于覆盖的 TCP 方法。方法:本研究提出的方法利用软件的缺陷历史来引入一种缺陷预测方法以学习神经网络模型。该模型随后用于估计源代码各区域的易错性,然后将这些估计并入基于覆盖的 TCP 方法。我们提出的方法是一个可应用于许多基于覆盖的方法(如 additional 和 total TCP 方法)的通用思路。结果:所提方法在从五个真实项目开发历史收集的数据集上进行了评估,共包含 357 个版本。实验表明,使用适当的缺陷历史可以改进基于覆盖的 TCP 方法。

关键词

引用

@article{arxiv.1908.06502,
  title  = {Incorporating fault-proneness estimations into coverage-based test case prioritization methods},
  author = {Mostafa Mahdieh and Seyed-Hassan Mirian-Hosseinabadi and Khashayar Etemadi and Ali Nosrati and Sajad Jalali},
  journal= {arXiv preprint arXiv:1908.06502},
  year   = {2020}
}