The Apache JMeterTM is pure Java open source software, which was first developed by Stefano Mazzocchi of the Apache Software Foundation, designed to load test functional behavior and measure performance.
JMeter to analyze and measure the performance of web application or a variety of services. Performance Testing means testing a web application against heavy load, multiple and concurrent user traffic. JMeter originally is used for testing Web Application or FTP application. Nowadays, it is used for a functional test, database server test, etc.
- Open source license: JMeter is totally free, allows developer use the source code for the development
- Friendly GUI: JMeter is extremely easy to use and doesn't take time to get familiar with it
- Platform independent: JMeter is 100% pure Java desktop application. So it can run on multiple platforms
- Full multithreading framework: JMeter allows concurrent and simultaneous sampling of different functions by a separate thread group
- Visualize Test Result: Test result can be displayed in a different format such as chart, table, tree and log file
- Easy installation: You just copy and run the *.bat file to run JMeter. No installation needed.
- Highly Extensible: You can write your own tests. JMeter also supports visualization plugins allow you to extend your testing
- Multiple testing strategy: JMeter supports many testing strategies such as Load Testing, Distributed Testing, and Functional Testing.
- Simulation: JMeter can simulate multiple users with concurrent threads, create a heavy load against web application under test
- Support multi-protocol: JMeter does not only support web application testing but also evaluate database server performance. All basic protocols such as HTTP, JDBC, LDAP, SOAP, JMS, and FTP are supported by JMeter
- Record & Playback - Record the user activity on the browser and simulate them in a web application using JMeter
- Script Test: Jmeter can be integrated with Bean Shell & Selenium for automated testing.
It has the ability to load and performance test on many different applications/ server/ protocol types:
- Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET,etc.,)
- SOAP / REST Webservices
- Database via JDBC
- Message-oriented middleware (MOM) via JMS
- Mail - SMTP(S), POP3(S) and IMAP(S)
- Native commands or shell scripts
- Java Objects