Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

I am trying to devise a strategy for load/stress testing our web application. JUnit/JCrawler and to a lesser degree Selenium Grid can be used for our HTTP request load/stress testing.

I have not been able to find any software that can handle the nature of AJAX calls. The web application is a records management system, the AJAX calls come into play when performing any CRUD operation on a page. We need to test load/stress for a number of users saving records, deleting records, etc.

I've looked at JMeter, Gatling, JCrawler, The Grinder, FWPTT, and Selenium Grid, and none of them are capable of performing AJAX functions. Is there a tool that is capable of load/stress testing AJAX calls? Open-source is preferable, although commercial solutions are an option.

share|improve this question
1  
Can you elaborate on your claim that JMeter and Grinder do not perform AJAX functions? An AJAX request boils down to an HTTP GET or POST request. –  user246 Jan 31 '13 at 21:11
1  
As user246 stated, they are just HTTP requests initiated by JavaScript. You can use a tool like fiddler, httpwatch or firebug's network tab to view the requests that get sent and then re-create those requests in jmeter or whatever tool you want to use. –  Sam Woods Jan 31 '13 at 22:03
    
@user246 I have not used any of the tools I mentioned hands-on, I have just been researching them and most everything I've read stated the asynchronous nature of AJAX was a terrible fit. I will download the tools and look into them more. thank you –  squeemish Feb 1 '13 at 12:51
    
Like Sam and user246 said, the best strategy to use for this is to monitor traffic and capture those requests to create an AJAX request profile. Then take that profile and use another tool to create the load based on it. –  maznika Feb 1 '13 at 18:32
add comment

1 Answer 1

I agree with sqeemih: The challenge of load testing Ajax calls lies, first in the sending of the requests, and also, and probably mainly, in two other areas :

1) Management of asynchronous requests between the browser and the web server. Ajax calls have two goals: Performing some DOM refresh upon browser decision for a smooth page rendering; and also more and more, giving the server the capacity to update — upon its decision — the content of the DOM on the browser side.

In this technical area, you'll find the ""push"" techniques and also the (long) ""pooling"" techniques for instance.

2) Capacity to measure the time needed for a message from the server to reach the client, and the average time slot needed to reach each client. One functional goal of Ajax is to ensure that at a given instant everyone effectively sees the same information (for example, price, bid, or else).

These two items raise the need in stress testing tools of Ajax-dedicated functions. Just to say that there is a commercial tool that provides real performance testing solution for Ajax (and other HTTP techniques). The tool is NeoLoad by Neotys (the company I'm working for).

Thanks to a graphical interface that can modelize asynchronous calls with forks and loops, NeoLoad has the capacity to stress test advanced Ajax architectures. You can download our stress testing tool for free and try it by yourself.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.