Have you ever tested a web server to know how efficiently it works? How many concurrent users can a web server handle?
Let say that one day, your boss asks you to do performance testing of www.google.com for 100 users. What would you do?
Maybe your boss, who is a beginner, will ask you
This tutorial will help you to answer his question and complete your task.
What is JMeter ?
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. You can use JMeter to analyze and measure the performance of web application or 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 functional test, database server test etc.
Why JMeter ?
JMeter advantages are described as figure below
- 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 multi-threading framework. JMeter allows concurrent and simultaneous sampling of different functions by a separate thread group
- Visualize Test Result: Test result can be display 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 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 web application using JMeter
- Script Test: Jmeter can be integrated with Bean Shell & Selenium for automated testing.
How does JMeter work ?
Basic workflow of JMeter as shown in the figures below
JMeter simulates a group of users sending requests to a target server, and return statistics information of target server through graphical diagrams
The completed workflow of JMeter as show in figure below