Testing AJAX Applications

Note: Asynchronous testing functionality for protocol-level record/replay is made for Web applications that use few dedicated asynchronous communication channels. Asynchronous testing on the protocol level is less resource intensive, but it is more challenging to script. The browser-driven testing approach is resource intensive, but it automates the scripting process entirely during recording and is therefore often perceived as an easier way to test AJAX applications.

AJAX (Asynchronous JavaScript and XML) is a group of interrelated Web development techniques that are used on the client-side (browser) to create interactive Web applications. With AJAX, Web applications can retrieve data from the server asynchronously in the background without interfering with the display and behavior of the existing page. For data encoding, typically XML or JSON formats are used, although proprietary data encoding formats are also used.

In many cases, related pages on a Web site share a lot of common content. Using traditional methods, that content has to be reloaded upon each page request.

Using AJAX, a Web application can request only the select content that is needed to update the page, thereby dramatically reducing bandwidth usage and load time.

The use of asynchronous requests allows the client Web browser UI to be more interactive and to respond quickly to inputs. In many instances, sections of pages can also be reloaded individually. Users often perceive such applications as being faster and more responsive, even when application state on the server-side has not changed.

Web applications are typically based on AJAX frameworks, such as Ext JS and Ext GWT, though this is not a requirement.