中文

关于使用测试异味预测不稳定测试

软件工程 2021-09-15 v2 机器学习

摘要

回归测试是交付高质量软件的重要阶段。然而,不稳定测试(flaky tests)妨碍测试结果的评估并可能增加成本。这是因为不稳定测试可能非确定性地通过或失败,而正确识别测试的不稳定性需要多次重跑测试套件。为应对这一挑战,已提出基于预测模型与机器学习的方法。现有基于测试用例词汇表使用的方法可能具有上下文敏感性且易过拟合,在跨项目场景中执行时性能较低。为克服这些局限,我们研究了使用测试异味(test smells)作为不稳定测试的预测因子。我们开展了实证研究,以理解测试异味作为分类器在跨项目上下文中预测不稳定性的性能是否良好,并分析了每种测试异味的信息增益。我们还将基于测试异味的方法与基于词汇表的方法进行了比较。结果,我们得到了一个具有合理性能(随机森林,0.83)的分类器,用于在测试阶段预测不稳定性。该分类器在跨项目预测中表现优于基于词汇表的模型。Assertion Roulette 和 Sleepy Test 测试异味类型具有最佳信息增益值。

关键词

引用

@article{arxiv.2108.11781,
  title  = {On the use of test smells for prediction of flaky tests},
  author = {B. H. P. Camara and M. A. G. Silva and A. T. Endo and S. R. Vergilio},
  journal= {arXiv preprint arXiv:2108.11781},
  year   = {2021}
}