一句话:对134个C项目开展大规模实证研究,揭示测试干扰现象及其对回归测试的影响。
自动化测试在执行时可能相互干扰,即测试结果会随(可能交错的)执行顺序而变化,从而在无法控制执行顺序的回归测试中造成非确定性的结果偏差和对代码回归的误报。该现象已在 Java 和 Python 项目中得到广泛研究,但在具有不同测试实践的 C 项目中是否适用仍不清楚。本文报告了一项针对 134 个 C 项目的大规模实证研究,旨在填补这一空白,高效检测并分析 C 项目中的测试干扰。研究结果有助于理解 C 生态中测试干扰的普遍性与特征,并为改进回归测试实践提供依据。
During test execution, automated software tests can interfere, i.e., their results can deviate depending on their (possibly interleaved) execution order. Such interference imposes severe restrictions on regression testing, when execution order is not or cannot be controlled for, as they can lead to non-deterministic deviations of test results giving false indication of regressions in the code base. While the phenomenon has been extensively studied for Java and Python projects, it remains unclear if or how the obtained results apply for other languages with different testing practices. Our study contributes to filling that gap by reporting results from a large-scale study on test interference in 134 C projects.
DOI 原文 ·
@inproceedings{paperbot8396,
title = {Efficient Detection of Test Interference in C Projects},
author = {Florian Eder and Stefan Winter},
booktitle = {ASE},
year = {2024},
doi = {10.1145/3691620.3694995}
}