中文

JavaScript 测试环境环境性 Flakiness 的系统性评估

软件工程 2026-02-24 v1

摘要

测试 Flakiness 是行业中一个重要问题,影响测试效率和产品质量。虽然已有大量研究考察了 Flaky 测试的影响,但许多根本原因仍未被探讨,尤其是在诸如 JavaScript 之类的动态语言环境中。本文对 JavaScript 测试环境环境性因素对 Flakiness 影响进行系统性评估。我们首先跨越多个环境配置执行测试套件,以确定环境变化是否会导致 Flaky 行为。我们选择三个环境因素进行操控:操作系统、Node.js 版本和浏览器。我们识别出总计 65 个环境 Flaky 项目,其中 28 个与操作系统有关,5 个与 Node.js 版本兼容性有关,16 个与操作系统和 Node.js 问题的组合有关,17 个与浏览器兼容性有关。为了解决环境 Flakiness,我们开发了一种轻量级缓解方法 js-env-sanitizer,通过跳过和报告相关的 Flaky 测试(而不使其失败),使 CI 构建能够在不重新运行整个测试套件的情况下继续/成功。该工具在最小的性能或配置开销下实现了高准确率,目前支持三大流行的 JavaScript 测试框架(Jest、Mocha 和 Vitest)。

关键词

引用

@article{arxiv.2602.19098,
  title  = {A Systematic Evaluation of Environmental Flakiness in JavaScript Tests},
  author = {Negar Hashemi and Amjed Tahir and August Shi and Shawn Rasheed and Rachel Blagojevic},
  journal= {arXiv preprint arXiv:2602.19098},
  year   = {2026}
}

备注

Accepted at ICST 2026