A Systematic Evaluation of Environmental Flakiness in JavaScript Tests
Negar Hashemi, Amjed Tahir, August Shi, Shawn Rasheed, Rachel Blagojevic

TL;DR
This paper systematically evaluates environmental factors causing flaky tests in JavaScript, identifies key issues, and introduces js-env-sanitizer, a tool to mitigate environmental flakiness, improving test reliability and CI stability.
Contribution
It provides a comprehensive analysis of environmental causes of flakiness in JavaScript tests and presents a practical mitigation tool supporting major testing frameworks.
Findings
65 environmental flaky projects identified
High impact from OS and browser issues
js-env-sanitizer effectively reduces flakiness
Abstract
Test flakiness is a significant issue in industry, affecting test efficiency and product quality. While extensive research has examined the impact of flaky tests, many root causes remain unexplored, particularly in the context of dynamic languages such as JavaScript. In this paper, we conduct a systematic evaluation of the impact of environmental factors on test flakiness in JavaScript. We first executed test suites across multiple environmental configurations to determine whether changes in the environment could lead to flaky behavior. We selected three environmental factors to manipulate: the operating system, the Node.js version, and the browser. We identified a total of 65 environmental flaky projects, with 28 related to operating system issues, five to Node.js version compatibility, 16 to a combination of operating system and Node.js issues, and 17 related to browser compatibility.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Engineering Research · Web Application Security Vulnerabilities
