Mutation Analysis for JavaScript Web Application Testing
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 fault- finding 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.
Publications
- Kazuki Nishiura, Yuta Maezawa, Hironori Washizaki, Shinichi Honiden, “Mutation Analysis for JavaScript Web Applications Testing”, In Proceedings of the 25th International Conference on Software Engineering and Knowledge Engineering (SEKE’13), pp.159-165, June 2013. Acceptance rate: 29.2%