What is Apache JMeter?
Apache JMeter is open source software for load testing applications and measuring their performance.
Load tests simulate end-user behavior that approaches the limits of an application's specifications. Testers can use Apache JMeter to simulate varying or heavy loads on singular or multiple servers, networks or objects to test a system's strength.
How does Apache JMeter work?
JMeter works by simulating groups of users that send requests to a server or network, then returning statistics back to a user through visual diagrams. Apache JMeter's user interface looks similar to a browser. However, JMeter cannot render HTML pages or the JavaScript found in the pages as a browser would. Additionally, JMeter supports the use of plugins. Plugins JMeter supports extend the functionality of JMeter and can be installed through the Plugin Manager.
Uses for JMeter
In addition to load testing, testers can use Apache JMeter for performance testing, spike testing and unit testing.
- Performance testing is the process of determining the speed, responsiveness and stability of a computer, network, software program or device under a workload.
- Spike testing is a form of load testing which rapidly increases and decreases the load over short bursts of time before returning to an average load. Spike tests simulate a system where there is an unexpected increase and decrease in loads -- for example an e-commerce store on Black Friday.
- Unit tests analyze the smallest testable parts of an application. Testers can use JMeter to unit test processes and protocols such as JDBC database connections, Lightweight Directory Access Protocol, Java Message Service and HTTP.
Benefits of JMeter
Some of the benefits of using Apache JMeter include the following:
- Open source codebase.
- Support for browser plugins.
- Support for offline analysis of test results.
- Displays test results in a variety of ways, including charts, trees, tables or log files.
- User-friendly graphical user interface.
- Support for multiple types of tests and basic protocols.