At a minimum, I figured, a developer could poke at an open source testing tool — I decided to start with load- and stress-test tools, for no particular reason — to learn what the software could do for her, and to discover if indeed it did improve her code. That might not be a good primary motivation, though. I remember trying to figure out the difference between the $40 espresso machine and the $400 model (other than $360), and deciding that if I couldn't tell the difference I might just as well buy the cheap one. I did eventually purchase a $500 espresso machine as well as a home roasting setup requiring me to buy fair trade green coffee beans online... but then you know how obsessive I am. I don't think I'm typical. Most people would stop at the low-end espresso-maker and never learn what the quality difference is. With computing tools, the problem's far worse. Just ask any web designer who's been asked to develop a dynamic e-commerce site using Microsoft FrontPage because his client thought it was good-enough. (Oh no. I mentioned it, didn't I? Please. Get down off the window ledge. I didn't mean it. I'll never mention it again.)
It's easy enough to google for a list of open source tools (and there's even a helpful site devoted to open source testing), but that doesn't give me a lot of useful information about what makes one more valuable or helpful than another. So I asked several developers and professional QA people to tell me about the options. At that point my focus shifted entirely.
There are indeed open source load and stress testing tools, and it's probably not a bad idea to explore them. But according to the experts who advised me, you shouldn't imagine that they are equal to the proprietary tools.
For example, I'm told, Apachebench is easy enough to use and can generate large amounts of requests. The downside, said my friend Sean, is that it requests the same URL over and over, which may not exercise your application properly.
Similarly, Sean said,