Title :
Invariant-based automatic testing of AJAX user interfaces
Author :
Mesbah, Ali ; Van Deursen, Arie
Author_Institution :
Software Eng. Res. Group, Delft Univ. of Technol., Delft
Abstract :
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 AJAX-specific 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 application-specific 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.
Keywords :
Internet; Java; client-server systems; flow graphs; program testing; user interfaces; AJAX application; AJAX user interfaces; AJAX-based Web 2.0 application; AJAX-specific faults; DOM tree; DOM validity; DOM-tree invariants; application-specific state validator; asynchronous client/server communication; back-button compatibility; client-side runtime manipulation; discoverability; error messages; flow graph; invariant checking components; invariant-based automatic testing; Automatic testing; Automation; Crawlers; Fault detection; Fault diagnosis; Flow graphs; Runtime; Scalability; Tree graphs; User interfaces;
Conference_Titel :
Software Engineering, 2009. ICSE 2009. IEEE 31st International Conference on
Conference_Location :
Vancouver, BC
Print_ISBN :
978-1-4244-3453-4
DOI :
10.1109/ICSE.2009.5070522