Apache JMeter Introduction, Download and Installation

This is the first tutorial in our JMeter performance testing tutorial series. We have covered almost all the basic and advanced JMeter topics in this 3-part text tutorial and 23-part video tutorial series. 

=> Check the complete JMeter tutorials series here.

In this tutorial, we are going to learn what is performance testing, why JMeter, JMeter download and installation, and JMeter vs HP LoadRunner.

Performance Testing with JMeter: 

Performance Testing is the “Talk of today”. You all know what I mean!! Yes, performance testing has become one of the most important expectations of clients. With such a fast pace life, no one wants an app that even works bit slower than the expected benchmark.

We have such an enormous competition in a market that we cannot afford to miss the “P” concept in a testing life cycle.

Before we move on to explore Jmeter and its installation process, we need to know what is performance testing and how JMeter as a tool supports performance testing.

Performance:  Just as students need to perform well to get themselves promoted to next level. In the same way, your application (mobile or the web or desktop) needs to perform well to move next level in a market where there are a lot of competitors.

Performance testing measures how well your application is performing under a different workload.  There are many parameters which are considered to determine if the server under load test is behaving well and those will be discussed later in the article.

Please refer to the diagram below for more clarity:

Performance Testing majorly considers below parameters:

What You Will Learn:

What is JMeter?

JMeter was first developed by Stefano Mazzocchi of Apache Software. Basically, JMeter is a Java based desktop application. JMeter uses Swing graphical API which means that it is not implemented by platform-specific coding.

Therefore, JMeter can run on windows, Linux, Mac etc. Apache JMeter 3.1 is the latest version available in the market as of now with some more enhancements lined up for future.

Below are some of the protocols supported by JMeter:

Why JMeter?         

Since we have a market flooded with performance testing tools such as LoadRunner, Rational Performance Testing, VSTS and much more, there are many reasons which push companies and QA teams to go for JMeter as their primary tool for measuring performance.

Below are some of the reasons which make JMeter outweigh other tools in the market:

 Installation of JMeter

Installation of JMeter is very easy. Before installing JMeter, please see the prerequisites below:



If Java is not Installed:

Follow the below steps to set your JAVA_HOME

A screenshot below for your reference:

(Note: Click on any image for enlarged view)

Common Errors in JMeter Installation

Since JMeter installation is quite simple and we don’t need to run any package or set any path while installing tool, hence you won’t face any error till download and unzipping folder. Common issues faced are only at the time of launching JMeter using a .bat file.

Not able to find Java executable or version” is observed.

Below are some of the possible resolutions to make that work:

Components of JMeter

HP LoadRunner v/s JMeter

A market is flooded with performance testing tools such as NeoLoad, Load Runner, VSTS etc. hence it is utmost important to know where does JMeter fits in. Load Runner is a major player in terms of performance testing due to its extensively high technical support but it is a highly paid tool with one license costing too much for a small-scale enterprise.

Below are some of the difference between LoadRunner and JMeter which makes JMeter an obvious choice for the majority.

JmeterLoad Runner
Open Source tool and free to useHP Product and license is very costly. Small enterprises cannot afford.
Protocols support is limited.Load Runner has the highest protocols support.
Jmeter is a Java based product and uses sprint based API which makes it platform independent and can run on any environment be it win, mac, Linux.It uses C based language, Java, Java Script and VB.
Load Generation capacity is limited. On a machine with high RAM and processor, Jmeter can generate load of 1-2k users only. Putting more load may results in out of memory exceptions.Load Generation capacity is higher as compared to Jmeter.
Technical proficiency is less in Jmeter.LoadRunner is highly technical proficient.
Jmeter has lots of complexities running in cloud.Load Runner is easily runnable in cloud environment too.
Recording feature in Jmeter is very easy and supports extensibility too. There are chrome plugins from where scripts can be directly imported in Jmeter.Recording feature in Load Runner is little complex as compared to Jmeter.
Jmeter's results are not the real-time ones.LoadRunner provides comparatively more real time results
Jmeter is not that efficient when used for enterprise products like SAP.Load Runner provides efficient results even with SAP, Siebel etc.

Conclusion

JMeter is a powerful tool in the market for testing the web and mobile applications. It is very easy to use and doesn’t require much programming skills unless one is writing his own samplers in JMeter. We will be covering details of each component in upcoming series of articles.

=> Also watch JMeter installation video tutorial

About the Author: Thanks to Hasneet for creating this wonderful JMeter tutorial training series. He is working as a Quality Assurance Lead with 5+ years of extensive experience working on various testing projects.

Continue to Part II The second part of this tutorial is on the JMeter Components In Details”.

Please share your comments or questions with us.