中文

WEFix:面向高效 Web 端到端不稳定测试的显式等待智能自动生成

软件工程 2024-05-21 v1

摘要

Web 端到端(e2e)测试用于评估 Web 应用的工作流。它通过模拟真实用户场景来确保应用行为符合预期。然而,Web e2e 测试以不稳定(flaky)著称,即在代码未更改的情况下也可能产生不一致的测试结果。一种常见的测试不稳定性是由测试代码与被测客户端代码之间的非确定性执行顺序引起的。特别是,基于 UI 的不稳定性成为一个极为普遍且难以修复的问题,因为测试代码对客户端代码的执行情况了解有限。在本文中,我们提出了 WEFix,一种能够为 Web e2e 测试中基于 UI 的不稳定性自动生成修复代码的技术。该方法的核心是利用浏览器 UI 变化来预测客户端代码的执行并生成适当的等待预言机(wait oracles)。我们在来自七个真实流行项目的 122 个 Web e2e 不稳定测试上评估了 WEFix 的有效性与效率。结果表明,WEFix 在实现高正确率(98%)的同时,显著降低了开销(从 3.7×\times 降至 1.25×\times)。

关键词

引用

@article{arxiv.2402.09745,
  title  = {WEFix: Intelligent Automatic Generation of Explicit Waits for Efficient Web End-to-End Flaky Tests},
  author = {Xinyue Liu and Zihe Song and Weike Fang and Wei Yang and Weihang Wang},
  journal= {arXiv preprint arXiv:2402.09745},
  year   = {2024}
}

备注

8 pages. Accepted for publication in the proceedings of the ACM Web Conference 2024 (WWW 24)