一句话:提出 FlakiMe 平台,可向测试套件行为中注入可控程度的不稳定性,以实验评估 flaky test 对测试技术的影响。
软件测试研究常假定失败是确定性的,但 flaky test 的非确定性结果会干扰结论。为调查 flakiness,论文提出 FlakiMe 平台,可向测试套件行为注入可控程度的不稳定性,支持实验室受控实验。作者用它评估 flakiness 对变异测试和程序修复(PRAPR、ARJA)的影响:10% 不稳定性足以影响变异得分,但效应量较小(2%–5%);却使修复产生的补丁数下降 20% 至 100% 的修复问题。结果表明不同测试应用受 flakiness 影响差异巨大,因而需要可控评估平台。
Much research on software testing makes an implicit assumption that test failures are deterministic such that they always witness the presence of the same defects. However, this assumption is not always true because some test failures are due to so-called flaky tests, i.e., tests with non-deterministic outcomes. To help testing researchers better investigate flakiness, we introduce a test flakiness assessment and experimentation platform, called FlakiMe. FlakiMe supports the seeding of a (controllable) degree of flakiness into the behaviour of a given test suite. Thereby, FlakiMe equips researchers with ways to investigate the impact of test flakiness on their techniques under laboratory-controlled conditions. To demonstrate the application of FlakiMe, we use it to assess the impact of flakiness on mutation testing and program repair (the PRAPR and ARJA methods). These results indicate that a 10% flakiness is sufficient to affect the mutation score, but the effect size is modest (2% - 5% ), while it reduces the number of patches produced for repair by 20% up to 100% of repair problems; a devastating impact on this application of testing. Our experiments with FlakiMe demonstrate that flakiness affects different testing applications in very different ways, thereby motivating the need for a laboratory-controllable flakiness impact assessment platform and approach such as FlakiMe.