中文

测试与环境的复杂性是否会增加不稳定性?一项关于SAP HANA的实证研究

软件工程 2024-09-17 v1

摘要

背景:测试不稳定性是软件行业的一个主要问题。不稳定测试会在代码未更改的情况下看似随机地失败,从而阻碍持续集成(CI)。一些研究人员认为所有测试都可以被视为不稳定的,测试之间的区别仅在于不稳定失败的频率。目标:为了制定缓解策略以减少测试不稳定性的负面影响,我们研究了可能影响测试不稳定性的测试特征和测试环境。方法:我们基于SAP HANA在12周内的测试结果构建了两个数据集:一个基于生产数据,另一个基于专门的不稳定性实验中的目标测试执行。我们对测试和测试环境特征与不稳定测试失败频率的影响进行了相关性分析。结果:在我们的研究中,平均测试执行时间与测试不稳定率呈最强的正相关(r = 0.79),这证实了先前的研究。不稳定性较高的潜在原因包括长时间运行的测试的测试范围较大,或在较慢的测试基础设施上执行测试。有趣的是,测试基础设施的负载与测试不稳定性不相关。测试不稳定性与测试执行所需资源之间的关系尚无定论。结论:基于我们的发现,我们得出结论,拆分长时间运行的测试可以成为从业者应对测试不稳定性的重要措施,因为它能够实现测试执行的并行化,并降低重新执行的成本。这有效地降低了复杂测试环境中测试不稳定性的负面影响。然而,在拆分长时间运行的测试时,从业者需要考虑测试拆分可能带来的测试设置开销。

关键词

引用

@article{arxiv.2409.10062,
  title  = {Do Test and Environmental Complexity Increase Flakiness? An Empirical Study of SAP HANA},
  author = {Alexander Berndt and Thomas Bach and Sebastian Baltes},
  journal= {arXiv preprint arXiv:2409.10062},
  year   = {2024}
}

备注

10 pages, 8 figures, 4 tables, Proceedings of the 18th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM IGC 2024)