中文

基于抽象化失败症状匹配的即时式不稳定测试检测

软件工程 2023-11-07 v2

摘要

我们报告了在大型工业软件系统SAP HANA的持续集成(CI)流水线中,使用失败症状(如错误消息或堆栈跟踪)识别不稳定测试失败的经验。尽管失败症状常用于识别相似失败,但此前未被用于检测不稳定测试失败。我们的假设是,不稳定失败会表现出不同于非不稳定失败的症状。因此,我们无需重跑测试,通过将失败症状与历史不稳定运行的症状相匹配,即可识别反复出现的不稳定失败。这能显著减少测试重跑需求,最终更快地向开发人员交付测试结果。为便于跨不同执行实例匹配不稳定失败,受失败去重与日志分析领域先前研究的启发,我们在将较新的测试失败症状与已知不稳定失败模式匹配前进行抽象化。我们使用从SAP HANA的CI数据在六个月期间收集的实际失败症状评估了基于症状的不稳定性检测方法。我们的方法展示了利用失败症状识别反复出现的不稳定失败的潜力,达到至少96%的准确率,同时相比传统重跑策略节省约58%的机器时间。对假阳性的分析以及开发人员的反馈,凸显了具备描述性与信息性失败症状对基于症状方法的有效部署及不稳定测试调试的重要性。

关键词

引用

@article{arxiv.2310.06298,
  title  = {Just-in-Time Flaky Test Detection via Abstracted Failure Symptom Matching},
  author = {Gabin An and Juyeon Yoon and Thomas Bach and Jingun Hong and Shin Yoo},
  journal= {arXiv preprint arXiv:2310.06298},
  year   = {2023}
}

备注

10 pages