I was recently asked the following question via the “Ask The Expert” feature of SearchSoftwareQuality.com.
How can we conduct performance testing, stress testing, and load testing of a Web application manually without using any tools?
My commentary is reproduced below — you’ll have to click through to see my actual recommendations.
First, I want to express my sympathy to anyone who finds himself in a position of being asked to create multi-user simulations (i.e. the load part of performance/load/stress testing), requesting a load-generation tool, and being denied. In my experience, the excuse of not being able to afford a load-generation tool is almost always just that — an excuse.
Only once in my career have I found the only tool capable of generating a production-like load against the application I was testing to be prohibitively expensive. (In that case, the tool cost more to purchase than the application was anticipated to earn in a year.) In every other case, either the risk justified the cost or an adequate, inexpensive, or free tool has been available.
The only really good reason to be in this position is if all available tools were considered and none of them supported the application under test (even with customizations and extensions) and you don’t have access to the skills (internally or externally) to build a tool of your own -– and that seems unlikely to me.
The simple truth is that if a company is building an application that is realistically expected to have enough users to justify the expense of performance testing, even if that expense is just the time of an employee, that company ought to be projecting enough revenue from the application, or lose enough credibility by having a poorly performing application, to justify either the cost of a tool or the risk (in some company’s eyes) of using a free or open source tool.
Now, after saying all of that, I must admit I have found that the vast majority of value that is gained by quality performance testing comes outside of the load-generation tool. Some of my favorite techniques (assuming you are testing websites):
“If you can see it in your mind…
you will find it in your life.”