Xiaoning Chang, Zheheng Liang, Guoquan Wu, Yu Gao 0002, Wei Chen 0018, Jun Wei 0001, Zhenyue Long, Lei Cui, Tao Huang 0001
Software Engineering Empirical Research Radar
Characterizing Flaky Tests in Node.js Applications.
Paper detail page in SEER Radar.
ASE 2023
Testing / QA; Debugging / Fault Localization / Diagnosis / Repair; DevOps / CI / Build / Release
Abstract / Summary
Regression testing is an important means of assessing the quality of Node.js applications. However, non-deterministic executions inside Node.js framework could make test cases intermittently pass or fail on the same version of code, which are called flaky tests. Flaky tests can cause unreliable test results, and make developers waste a significant amount of time debugging the bugs that do not belong to the target application. In this paper, we conduct an empirical study on 87 flaky tests from 7 popular Node.js applications, and analyze the non-determinism that causes these flaky tests. Through this study, there is a wide range of non-determinism to cause flaky tests, including non-deterministic event triggering order, non-deterministic function calls, non-deterministic process/thread scheduling order, non-deterministic execution of asynchronous tasks and non-deterministic event triggering data. The result reveals that, existing approaches on event race detection are not sufficient for flaky test detection. In future, researchers can design flaky test detection approaches targeted at different categories of non-determinism.
External Links
Local PDF is not available on SEER Radar yet. When a public source is recorded, this page will add a local reading link with source attribution.