Mutation Testing for JavaScript Web Applications

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.

mutation-testing-for-js-web-apps

Publications

  1. 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%