Invariant-Based Automatic Testing of AJAX User Interfaces

More Info
expand_more

Abstract

This paper is a pre-print of: Ali Mesbah and Arie van Deursen. Invariant-Based Automatic Testing of AJAX User Interfaces. In Proceedings of the 31st International Conference on Software Engineering (ICSE’09), Research Papers, Vancouver, Canada, IEEE Computer Society, 2009. AJAX-based Web 2.0 applications rely on stateful asynchronous client/server communication, and client-side runtime manipulation of the DOM tree. This not only makes them fundamentally different from traditional web applications, but also more error-prone and harder to test. We propose a method for testing AJAX applications automatically, based on a crawler to infer a flow graph for all (client-side) user interface states. We identify AJAXspecific faults that can occur in such states (related to DOM validity, error messages, discoverability, back-button compatibility, etc.) as well as DOM-tree invariants that can serve as oracle to detect such faults. We implemented our approach in ATUSA, a tool offering generic invariant checking components, a plugin-mechanism to add applicationspecific state validators, and generation of a test suite covering the paths obtained during crawling. We describe two case studies evaluating the fault revealing capabilities, scalability, required manual effort and level of automation of our approach.

Files

TUD-SERG-2009-005.pdf
(pdf | 0.24 Mb)
License info not available