TY - JOUR
T1 - An empirical study of async wait flakiness in front-end testing
AU - Pei, Yu
AU - Habchi, Sarra
AU - Rwemalika, Renaud
AU - Sohn, Jeongju
AU - Papadakis, Mike
N1 - Publisher Copyright:
© 2022 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0)
PY - 2022
Y1 - 2022
N2 - Automated front-end regression testing is an essential part of web development, allowing fast release cycles while maintaining high-quality requirements. However, due to the asynchronous nature of web applications, front-end testing is sensitive to Async Wait flakiness which reduces the usefulness of such test suites by introducing false alarms. In this work, we conducted an empirical study to investigate the causes and the impact of Async Wait flakiness in front-end testing. To do so, we build a dataset of 62 tests exhibiting reproducible Async Wait flakiness associated with a clean fix commit, which becomes the foundation of our study. Our preliminary results suggest that tests relying on an explicit time to wait in order to synchronize the tests tend to create more flakiness (38 instances) than synchronizing on the status of DOM elements (24 instances). Further study shows that where time-based issues are typically addressed by increasing the time to wait, DOM-based issues are resolved by actually introducing a missing synchronization point. We conclude our study with an analysis of the different implementations of synchronization mechanisms to provide tool manufacturers with concrete insights on how to improve their solutions.
AB - Automated front-end regression testing is an essential part of web development, allowing fast release cycles while maintaining high-quality requirements. However, due to the asynchronous nature of web applications, front-end testing is sensitive to Async Wait flakiness which reduces the usefulness of such test suites by introducing false alarms. In this work, we conducted an empirical study to investigate the causes and the impact of Async Wait flakiness in front-end testing. To do so, we build a dataset of 62 tests exhibiting reproducible Async Wait flakiness associated with a clean fix commit, which becomes the foundation of our study. Our preliminary results suggest that tests relying on an explicit time to wait in order to synchronize the tests tend to create more flakiness (38 instances) than synchronizing on the status of DOM elements (24 instances). Further study shows that where time-based issues are typically addressed by increasing the time to wait, DOM-based issues are resolved by actually introducing a missing synchronization point. We conclude our study with an analysis of the different implementations of synchronization mechanisms to provide tool manufacturers with concrete insights on how to improve their solutions.
KW - async wait
KW - empirical study
KW - flaky tests
KW - front-end testing
UR - http://www.scopus.com/inward/record.url?scp=85140902030&partnerID=8YFLogxK
M3 - Conference article
AN - SCOPUS:85140902030
SN - 1613-0073
VL - 3245
JO - CEUR Workshop Proceedings
JF - CEUR Workshop Proceedings
T2 - 21st Belgium-Netherlands Software Evolution Workshop, BENEVOL 2022
Y2 - 12 September 2022 through 13 September 2022
ER -