中文

持续集成测试中机器学习测试用例优先排序的比较研究

软件工程 2022-04-26 v1 机器学习

摘要

越来越多的研究表明机器学习有潜力应对复杂的软件测试挑战。其中一项挑战涉及持续集成测试,其时间高度受限,并因迭代式代码提交与测试运行而产生大量数据。在此场景下,我们可以利用丰富的测试数据训练机器学习预测器,以识别能够加速检测代码集成过程中引入的回归缺陷的测试用例。然而,不同的机器学习模型可能因持续集成测试的上下文与参数(例如持续集成周期可用的时间预算可变,或用于学习优先排序失败测试用例的测试执行历史长度不同)而具有不同的缺陷预测性能。现有测试用例优先排序研究很少同时考察这两个对持续集成实践至关重要的因素。本研究对文献中在测试用例优先排序任务上表现最佳的机器学习方法的缺陷预测性能进行了全面比较。我们针对不同的持续集成时间预算值以及用于训练分类器的不同测试历史长度,评估分类器预测缺陷检测测试的准确性。评估中我们使用了来自持续集成实践的真实工业数据集。结果表明,不同的机器学习模型在用于模型训练的测试历史大小不同、以及可用于测试用例执行的时间预算不同时,性能各异。我们的结果意味着,持续集成测试中的测试优先排序机器学习方法应被仔细配置以实现最优性能。

关键词

引用

@article{arxiv.2204.10899,
  title  = {Comparative Study of Machine Learning Test Case Prioritization for Continuous Integration Testing},
  author = {Dusica Marijan},
  journal= {arXiv preprint arXiv:2204.10899},
  year   = {2022}
}