In the various testing forums and mailing lists I frequent, I see lots of questions asked about automated test tools. A certain question about performance/load testing tools is asked over and over. I would like to answer it here.
The question goes something like:
"Can I test my application with this performance tool?".
If you are asking this question, you really don't understand the nature of these tools and how they work.
There are many performance/load testing tools in the proprietary and open source worlds (LoadRunner, SilkPerformer, QALoad, JMeter, OpenSTA, etc). Conceptually, they all work the same way. Performance tools do not work by driving a GUI like many functional test tools do. Instead, they are used to generate load against servers by simulating concurrent client requests at the protocol level.
So the key question you should be asking is: "Which protocols do the client and server use to communicate, and does the tool support these protocols?" HTTP? ODBC? DCOM? JMS? So next time you want to ask: "Will the tool be able to test my AJAX/ASP.NET/JSP/PHP/etc application?"; the real question should go something like: "My application uses <protocol x>, does the tool support that protocol?".
Since you are working at the protocol level, the language/platform your system uses has no relevance. All of the technologies I just mentioned use HTTP for transport (layer 7), so any tool that supports HTTP can be used to test that system.
Interested in Web performance testing?
Check out my open source tool: Pylot