What is JMeter? Why it is used?
The Apache JMeterTM is pure Java open source software, which was first developed by Stefano Mazzocchi of the Apache Software Foundation. He wrote it primarily to test the performance of Apache JServ (currently known as Apache Tomcat project which is popularly used as server). Later on, Apache community redesigned it to enhance the GUI, to add more features and functional testing capabilities.
Initially, JMeter was introduced for load and performance test web applications, but later on its scope has widened and can perform load and performance test on Web Pages, Web Applications and static or dynamic resources Like Database, Rest Webservices, LDAP, Java Objects and more.
Why JMeter?
Have you ever tested a web server to know how efficiently it works? How many concurrent users can a web server handle? Will concurrent DB call affect the website?
Let say that one day, your boss asks you to do performance testing of www.google.com for 100 users. What would you do?
It's not feasible to arrange 100 people with PC and internet access simultaneously accessing google.com Think of the infrastructure requirement when you test for 10000 users (a small number for a site like google). Hence you need a software tool like JMeter that will simulate real-user behaviors and performance/load test your site.
Key Features of JMeter includes:
License: Since JMeter is open source, it is free and easily available.
Graphical User Interface: Simple, user friendly and easy to learn as compared to other performance testing tools
Server/ Protocol Support: JMeter has ability to load and performance test different applications/server/protocols. A few protocols inclucdes HTTP, HTTPS, FTP, SOAP/REST, Database via JDBS, LDAP, JMS, SMTP(S), POP(3) and IMAP(S), Native Commands/ Shell Scripts and TCP.
Platform: JMeter is pure java software. Therefore, it is platform-independent and supports all environment.
Simulation: Simulate multiple users by using virtual users or unique users in order to generate heavy traffic on web server or services.
Supports Distributed Testing: It has master slave for distributed testing where master will distribute tests among all slaves and slaves will execute scripts against your server.
Test Result Visualisation: Test result can b view in different formats like Graph, Table, Tree, and Report, etc.
Reporting: By default, JMeter provides XML and CVS Report Formats only. We can use Jmeter and ANT together to obtain HTML report as per the requirement.
Testing Types: Apart from just Performance, Load, Stress testing Jmeter works well for Functional, Regression and Soak/Endurance testing too.
Record and Playback: Record user scenario/action in Firefox Browser and play scripts
Framework: Multi-threading framework allows concurrent and simultaneous sampling of different functions by many or separate thread groups.
Installation: No Complex installation required – Just run JMeter.bat on windows / run Jmeter.sh on Linux
Knowledge: Jmeter does not require extensive programming knowledge. Only prior knowledge Java language is preferred.
How does JMeter work?
JMeter simulates a number of users sending request to the Application Under Test. As soon as JMeter simulates requests, server responds and Jmeter starts collecting data. Jmeter saves all the responses and based on the server response it return statistics. These statistics shows performance of the AUT in the form of various formats as per the requirements.
Thus, with the help of JMeter we can simulate load on server, network or objects which are coming from different machines to implement real world scenario.
Jmeter Version History
Version | Description |
---|---|
1 | first official release |
2.13 | Java 6+ |
3 | Java 7+ |
3.1 | Java 7+ |
3.2 | Java 8+ |
3.3 | Java 8 |
4 | Java 8 / 9 |
0 Comments