中文

不稳定测试的词汇表是什么?一项扩展的复现研究

软件工程 2021-03-24 v1 人工智能

摘要

由于自动化测试的广泛采用,软件系统得以持续演进并高质量交付。一个反复出现且损害该场景的问题是存在不稳定测试(flaky tests),即可能非确定性地通过或失败的测试用例。一种有前景但尚缺乏更多经验证据的方法是收集自动化测试的静态数据并用其预测测试的不稳定性。在本文中,我们进行了一项实证研究以评估使用代码标识符预测测试不稳定性的效果。为此,我们首先复现了 Pinto 等人(MSR 2020)先前研究的大部分内容。该复现通过使用不同的 ML Python 平台(Scikit-learn)并在分析中增加不同的学习算法而得以扩展。然后,我们使用包含其他不稳定测试且来自不同项目的数据集验证了训练模型的性能。我们成功复现了 Pinto 等人(2020)的结果,使用 Scikit-learn 仅有微小差异;不同算法的性能与此前使用的算法相似。关于验证,我们注意到训练模型的召回率较小,且分类器呈现出不同程度的下降。这在项目内和跨项目的测试不稳定性预测中均被观察到。

关键词

引用

@article{arxiv.2103.12670,
  title  = {What is the Vocabulary of Flaky Tests? An Extended Replication},
  author = {B. H. P. Camara and M. A. G. Silva and A. T. Endo and S. R. Vergilio},
  journal= {arXiv preprint arXiv:2103.12670},
  year   = {2021}
}