Software Engineering Empirical Research Radar

Characterizing Flaky Tests in Node.js Applications.

Paper detail page in SEER Radar.

Authors

Xiaoning Chang, Zheheng Liang, Guoquan Wu, Yu Gao 0002, Wei Chen 0018, Jun Wei 0001, Zhenyue Long, Lei Cui, Tao Huang 0001

Venue / Year

ASE 2023

Topics

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

DOI / Publisher

PDF

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.