kirancodes.me
To Proof Maintenance & Beyond!

Invariant-based automatic testing of AJAX user interfaces

Ali Mesbah, Arie van Deursen

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.

BibTeX
@inproceedings{Mesbah-vanDeursen:ICSE09,
  author    = {Ali Mesbah and
               Arie van Deursen},
  title     = {Invariant-based automatic testing of {AJAX} user interfaces},
  booktitle = {ICSE},
  pages     = {210--220},
  publisher = {{IEEE}},
  year      = {2009},
}

Related papers