Mutation Analysis for JavaScriptWeb Application Testing.
Kazuki Nishiura, Yuta Maezawa, Hironori Washizaki, Shinichi Honiden · Software Engineering and Knowledge Engineering · 2013
When developers test modern web applications that use JavaScript, challenging issues lie in their event-driven, asynchronous, and dynamic features. Many researchers have assessed the adequacy of test cases with code coverage criteria; however, in this paper, we show that the code coverage-based approach possibly misses some faults in the applications. We propose a mutation analysis approach for estimating the faultfinding capability of test cases. We assume that developers can find overlooked fault instances and improve the test cases with the estimated capability. To create a set of faulty programs, i.e., mutants, we classify the JavaScript features in web applications and then define a comprehensive set of mutation operators. We conducted a case study on a real-world application and found that our approach supported the improvement of test cases to expose hand-seeded faults by an extra ten percent. Keywords-JavaScript; Mutation Analysis and Testing; Web Applications; Test Criteria