一句话:计划构建跨生态且兼顾开发者视角的 flaky 测试框架,以理解问题并提供实用解决方案。
非确定性行为的 flaky 测试会妨碍回归测试、破坏开发者信任并浪费资源,但现有缓解工具高度依赖特定生态,研究也主要基于相似的开源 Java 项目且偏代码中心,难以推广,并缺少开发者视角。该博士研究计划拟构建一个通用且广泛适用的框架,让开发者能借助现有与新技术应对 flaky 测试,也让研究者快速部署和评估新方法。作为起点,作者将从 Java 生态之外以及开发者实践观点两个新角度研究 flaky 测试,以弥补理解上的空白,并明确相关研究如何为工业开发者创造价值。
Non-deterministically behaving tests impede software development as they hamper regression testing, destroy trust, and waste resources. This phenomenon, also called test flakiness, has received increasing attention over the past years. The multitude of both peer-reviewed literature and online blog articles touching the issue illustrates that flaky tests are deemed both a relevant research topic and a serious problem in everyday business. A major shortcoming of existing work aiming to mitigate test flakiness is its limited applicability, since many of the proposed tools are highly relying on specific ecosystems. This issue also reflects on various attempts to investigate flaky tests: Using mostly similar sets of open-source Java projects, many studies are unable to generalize their findings to projects laying beyond this scope. On top of that, a holistic understanding of test flakiness also suffers from a lack of analyses focusing on the developers’ perspective, since most existing studies take a code-centric approach.With my work, I want to close these gaps: I plan to create an overarching and widely applicable framework that empowers developers to tackle flaky tests through existing and novel techniques and enables researchers to swiftly deploy and evaluate new approaches. As a starting point, I am studying test flakiness from previously unconsidered angles: I widen the scope of observation investigating flakiness beyond the realm of the Java ecosystem, while also capturing the practitioners’ opinion. By adding to the understanding of the phenomenon I not only hope to close existing research gaps, but to retrieve a clear vision of how research on test flakiness can create value for developers working in the field.