views:

221

answers:

2

I have read a few questions here about stress testing and people commonly recommend

  • ab
  • selenium
  • jmeter
  • openSTA

but these all seem based around Apache and Java and Scripting etc.

Selenium seems the best option because you record the actual use of you site which simulates UI load and database requests etc and then play it over and over again. I'm not sure how you test your app if you want to simulate 100 users using your application. I know you are supposed to put it on 15 other computers and run the automation but that's not feasible really.

Some of these apps literally just test the HTTPResponse for all your pages but that doesn't really simulate database calls, for example, you may have a menu and when a user clicks it makes a database call. The other problem with this is that you may have a page in your app that expects parameters and then does a database request so although you get a good response from the page loading the test isn't actually doing what you want it to.

Does anyone have any easy to use simulation tools for testing an app with 100 concurrent users which actually uses the app rather than just render tests. I don't mind scripting tools if thats the way it has to be but please only recommend them if there is good documentation on how to set it up as this is one other issue I have come up against.

Thanks

A: 

Have a look at the selenium Grid option

Kevin
A: 

Load test tools such as OpenSTA and Jmeter simulate user activity by sending HTTP requests, because that is how a browser interacts with the server in majority of cases. There is no need for an actual browser - you capture the requests that would be made, and then playback at protocol level. In that way, you can simulate multiple users from a single PC. You will need to get involved with scripting a bit, usually to parameterise the data you are sending, and to check page content is correct.

Does your app make database calls direct from the browser? If so, what protocol does it use? Usually any database calls are via an http request of some sort.

Joe Watkins
I think the challenge with testing asp.net apps is that the actual http calls usually aren't very nice to work with - all the session data is encoded in a big ugly session state variable, not easily scripted params in the url.
Peter Recore
Most load test tools will deal with the session state variable, automatically parameterising it for you, however big and ugly it may be.
Joe Watkins