“Performance is a key and JMeter is a solution.”

Binoy Shah

Technological progress and the fast pace of life have contributed to the overall feeling of impatience and the lack of desire to use slow and low-performance apps. A high-quality app must work quickly, whether web, desktop, mobile or similar because we are in an era when speed is essential.

For testing application performance, load and other priority aspects, I recommend JMeter! I hope you, too, will embark on the adventure of using JMeter when you become more familiar with its features through this text.

History and Features

A developer Stefano Mazucci wrote JMeter for a project he worked on with the rest of the team at the Apache Software Foundation. The first version (1.0.) was released in 1998 and was based on Java code used as an open-source tool. Primarily, its purpose was to measure the performance and functionality of web apps. Today, it has various uses, which makes it one of the most popular tools in the world. Believe me, even today, I am surprised when I hear about another way to use it from colleagues.

Some of its advantages and features are shown in Figure 1.1.

Figure 1.1.

Installing Java and running JMeter

JMeter largely relies on Java, so it is necessary to meet several prerequisites for its proper operation. Considering that I, like many of my colleagues, encountered difficulties during its installation and configuration, I will try to describe how to do it in the easiest way possible.

Checking the Version of Java

We need a 64-bit version of Java to run JMeter. Here is how we can check if we already have Java and its appropriate version installed:

  • Open the command prompt;
  • In the command line, type: Java – version as shown in Figure 1.2.
Figure 1.2.

Installing Java

If Java is not installed or you do not have the adequate version, you can download the installation files from the website: https://www.java.com/en/download/. You can install Java by clicking on “Next > Next > Next” multiple times.

Setting the JAVA_HOME Variable

For JMeter to recognize the installation of Java, we need to create the JAVA_HOME variable. We can do this by copying the path to the directory where Java is located, then clicking on the Windows icon and entering “Edit the system environment variables” in the search field. A shortcut of the same name will appear in the results, which should be clicked (Figure 1.3.).

Figure 1.3.

After this, the configuration window, shown in Figure 1.4., will pop up.

In the “User variables” section, select the “New” option and add: “JAVA_HOME” as a variable name and insert the path (C:\Program Files\Java\jdk1.8.0_351). The same should be repeated for system variables, and then click OK. The last step is to set the path. You can find more about it at https://www.geeksforgeeks.org/how-to-set-java-path-in-windows-and-linux/

Starting JMeter

JMeter does not require installation. Download the latest binaries version by selecting “apache-jmeter-5.5_src.zip” from  https://jmeter.apache.org/download_jmeter.cgi#binaries in the Binaries section. After downloading the zip archive, extract it to the desired location from the folder and run “jmeter.bat,” after which the application will open.

JMeter and its Multiple Uses

The most popular use is to simulate many users who visit a site with previously set parameters. This type of test will show us the behavior of the site under a load, and we will see how long it takes for the page to load, the content of the page itself and the like.

Some of the types of tests we can cover with this tool are:

Load testing – (helps identify problems like system latency, slow page loading or crashing when different levels of traffic access the app)

Volume testing – (testing the capacity of the software when processing a large amount of data)

Stress testing – (we check the stability and reliability of the system under heavy load)

Capacity testing – (a test by which we determine how many users our app can handle before the performance or stability of the app becomes unacceptable)

Reliability testing – (we check if the software can operate without errors in a specified environment during a specified period)

Scalability testing – (a type of load testing by which we measure the app’s ability to increase or decrease in response to an increase in the number of users)

API testing – (software testing that validates the app programming interface, making API calls, obtaining output data and validating the system concerning defined input parameters, data accuracy and their format, HTTP status codes…)

So why JMeter?

It is free, user-friendly, and easy to use.

In case you have difficulties, various materials are available for all possible solutions and documentation on the original site. We can display the results through different listeners so that graphical, tabular, and other displays of the results are available.

Data can be loaded from Excel and integrated with JavaScript, BeanShell and Groovy. A wide range of plugins are also free and can be downloaded from the JMeter marketplace in the app. Each created script has the option to record all the operations we applied.


There are competing tools that are mostly paid for. You can also look for similar apps on the Internet, for example, LoadRunner vs. JMeter, BlazeMeter vs. JMeter, and similar.

As in everything, you will find pros and cons. I believe all options should be explored, and the use value also depends on the need of the project. I would advise you to try it. I find it helpful and like working on it.

In this part of the blog, we got acquainted with its history and installation, and I mentioned some possible uses. In the following article, I will introduce practical examples, and we will create a Thread group and our first script.





Jelena Rakić

A dedicated software tester who loves her job. Jelena spends her free time socializing, listening to music, collecting vinyl records, and attending festivals. Her hobbies include playing the piano, chess, martial arts, and archery. She thinks we should be versatile, because the more we know, the more we're worth.