Application performance is another important area of testing. Performance testing can be used to verify many things, such as how quickly an application responds to requests with a given number of simultaneous users, or how well the application copes with an increasing number of users. Many applications have Service Level Agreements, or SLAs, which define contractually how well they should perform.
Performance testing is often a one-off, ad-hoc activity, only undertaken right at the end of the project or when things start to go wrong. Nevertheless, performance issues are like any other sort of bug—the later on in the process they are detected, the more costly they are to fix. It therefore makes good of sense to automate these performance and load tests, so that you can spot any areas of degrading performance before it gets out into the wild.
JMeter is a popular open source performance and load testing tool. It works by simulating load on your application, and measuring the response time as the number of simulated users and requests increase. It effectively simulates the actions of a browser or client application, sending requests of various sorts (HTTP, SOAP, JDBC, JMS and so on) to your server. You configure a set of requests to be sent to your application, as well as random pauses, conditions and loops, and other variations designed to better imitate real user actions.
JMeter runs as a Swing application, in which you can configure your test ...