Performance Testing for AJAX-based ApplicationsABSTRACT
The AJAX model of development for Web applications has rapidly gained a lot of popularity because of its promise of bringing the richness and responsiveness of desktop applications to the web. AJAX implementations are fundamentally different from other web implementations in two respects – they make asynchronous requests for parts of the web page. Techniques routinely used for performance testing of traditional web applications need to be modified and enhanced to suit the needs of AJAX-based applications. Using Google's "Google Select" service as a case study we examine the unique challenges of carrying out performance testing of AJAX-based applications and offer suggestions for overcoming them.
* tools and techniques for implementing AJAX (e.g. Ruby on Rai ls, DWR, Prototype, Sajax,
* business case for using AJAX
* usability of web appli cations using AJAX
* optimizing network bandwidth uti lization using AJAX for application development
Considering that one of the key drivers for the rapid adoption of AJAX has been its promise of superior performance, it is surprising that there has not been much discussion of AJAX-specific performance testing. When we studied this in some detai l, we found that AJAX applications indeed present some unique issues and challenges, which we discuss in this paper.
AJAX APPLICATION VS NORMAL WEB APPLICATION
* A typical web application works as follows:
* User supplies input to browser (e.g. types in a URL, clicks on a hyperlink, submits a form)
* Browser sends a request for the URL to the server
* Web server responds wi th a page
* Browser sends more requests for embedded objects (e.g. images)
* Browser renders the page (including embedded objects)
* Browser waits for user's next input and then goes back to the first step.
The key points to note here are:
* The browser issues requests for entire pages and the entire page gets refreshed as a result of this action
* These requests occur as a direct consequence of user actions.
Continue reading at: