4.26 out of 5
4.26
30 reviews on Udemy

Learning JMeter 5.0

Run tests, create reports, and analyze your app's performance with JMeter. Take remedial action to improve its perform
Instructor:
Packt Publishing
124 students enrolled
English [Auto-generated]
This course is aimed at QA engineers, test managers, and software developers who want to performance-test and improve the quality of their software.

Test your software’s performance easily with JMeter! Load-test, monitor performance in real-time, create reports, and more. Apache JMeter offers a powerful and extendable testing solution for your applications. With this course, you will use JMeter to test both the performance and functionality of any required online asset—web services, databases, FTP, or web servers—using a single tool.

You’ll even learn to test applications that run in the cloud. Distributed load testing has historically been an expensive and painful process when comes to very high workloads with an enormous number of users using multiple systems. JMeter to the rescue! Firstly, JMeter is an open-source tool and is thus free. Secondly, JMeter is able to send metrics to the database, so you may start any number of JMeter instances and get all results stored in one place- Influxdb and visualized in Grafana. JMeter is made up of components. You will use those components to plan and perform tests, using realistic demo scenarios. You will learn to monitor your app’s performance in real-time and create test reports.

By the end of the course, you will be world-class at using JMeter in the real world.

About the Author

Anton Serputko is a senior performance analyst with experience in testing client-server-based mobile and web applications and developing open-source frameworks for load test execution/analysis/result storage and visualization. He is vastly experienced in load testing framework configurations from scratch to test both the client- (browser) and server-side. He’s conducted load-testing result analysis with root-cause investigations and application profiling. He is an active speaker at QA events and a performance/QA training mentor.

Get Started with JMeter

1
The Course Overview

This video will give you an overview about the course.                       

2
Understanding the Importance and Goals of Load Testing

This video covers the importance and objectives of load testing.                         

  • What is performance testing?

  • Performance testing types and approaches

  • The place of performance tests in the software development lifecycle

 

3
Installing Java and JMeter 5

This video covers the installation of required components to run JMeter.                         

  • Install or update JRE x64

  • Download and extract JMeter

  • Run the jmeter.bat or .sh file

 

4
Plugin Manager, Plugins Installation

This video covers the installation of additional plugins to extend basic JMeter functionality.                         

  • Download and install the JMeter plugin manager

  • Install useful plugins from the available list

 

5
JMeter Main Features Overview

This video covers the features of JMeter that make it a powerful tool for doing performance tests.                         

  • Load testing tool with great documentation

  • Elements allow us to test a wide range of technologies

  • Results monitoring using 3-d open source tools

 

6
Creating a Demo Scenario with JMeter

In this video, you’ll see a demo of real life scenario creation.                         

  • Create a smoke test for a real application

  • Parameterize the scenario

  • Run the test

 

7
Monitoring Results from Demo Scenarios with Built-in Features and in Grafana

This video covers the monitoring of results using built-in listeners and with 3-d party tools like Grafana.                         

  • Usage of listeners

  • Demo of the Grafana monitoring dashboard

 

Components of a JMeter Test Plan

1
Thread Groups, Samplers, and Controllers

This video covers the main elements used to create the core of your scenario.                         

  • Thread group handle load model of the scenario

  • Samplers: elements that execute requests or do actions

  • Controllers help to create the logic of your scenario

 

2
Assertions and Listeners

In this video, you’ll cover the elements to view sample results in GUI, get statistics, and do assertions on results.                         

  • Listener gives all data from sample results

  • Use assertions to check some conditions in request/response

 

3
Pre and Post-Processors

Do some operations before/after sample is executed. For example,  generate some security token, clear data in the database, or get URLs  from the HTML page.                         

  • Get data from the previous response using post-processor

  • Create a regular expression to fetch URLs from the response

  • Use fetched URLs in following requests

 

4
Config Elements, Cookie Manager, and Header Manager

Elements to configure a JMeter scenario. Also, they allow JMeter  to work with cookies, headers, and cache as a real browser does.                         

  • Emulate the browser behavior working with cache, cookies

  • Handle request headers

 

5
User-Defined Variables

Elements used to parameterize a scenario with different variables.                         

  • Variables in JMeter

  • How to create a variable

  • Variable usage

 

Test Plan Creation

1
Setting Up the Recording Proxy in Firefox

In this video, you’ll see how to set up Firefox to start recording requests sent by your web application.                         

  • Add recorder and recording controller to the scenario

  • Set up proxy settings in FF settings

  • Add a root CA certificate to FF trusted authorities

 

2
Recording User Actions for Your Scenario

This video covers recording requests for user actions.                         

  • Record requests to the recording controller

  • Exclude or remove 3-d party and requests for static resources

  • Add requests to Thread Group and run the test

 

3
Make Your Test Structured and Readable

To avoid mess in the results, use transaction controllers for each user action you record.                         

  • Create a Transaction Controller for your action

  • Place the recorded samplers in it

  • Use TC for all user actions

 

4
Scenario Parameterization – Use Data from Previous Requests

Parameterize requests with regular expression extractor to open new categories and products.                         

  • Add a regular expression post processor to HTTP request

  • Create a regular expression to fetch a random URL from HTML

  • Use the fetched URL in next requests instead of a hardcoded one

 

5
Read Test Data from a CSV File

In this video, you’ll get user credentials from a file to log in users in the test.                         

  • Create a .csv file with user credentials

  • Add a CSV dataset config element to read from the file

  • Use credentials in the login request

 

6
Use JMeter Functions for Data Generation

In this video, you’ll generate data to parameterize requests with JMeter functions.                         

  • Use function helper to find the appropriate function

 

7
Making the Scenario More Sophisticated – Add Logic Controllers

In this video, you’ll add more complex logic to your scenarios with logic controllers.                         

  • Choose a logic controller that emulates the desired logic

  • Place elements in the logic controller

 

Performance Tests Execution with JMeter

1
Designing and Debugging of a Test Plan

In this video, you’ll learn how to debug your scenario and make it closer to your real users with pauses.                         

  • Use debug post-processor or debug sampler

  • Use flow test action sampler to make pauses between actions

 

2
Using the Right Load Model for Your Needs

Which load to generate? How to choose the right approach?                         

  • Start with capacity test to find the max load that the service can handle

  • Pay attention to comfort and degradation zones

  • Conduct tests with different load models based on capacity

 

3
JMeter Tuning

How to set up JVM to generate a big load and where can we configure JMeter properties?                         

  • Create a set env script 

  • Include a set env variable along with a specified heap size for JVM 

  • Use .properties files to configure JMeter parameters

 

4
Non-GUI Execution Mode – Passing Properties from a Command Line

Use the JMeter GUI only for scripts development and debugging. Run load tests only in non- GUI mode.                         

  • Run JMeter script from the terminal

  • Additional script parameters could be passed with -J while starting a test

 

5
Use Properties in Scenario

To be able to parameterize a scenario from the command line, we can pass parameters as JMeter properties using the -J argument.                         

  • Pass some parameters while starting JMeter with the -J argument

  • Access a JMeter property with ${__P(prop_name,default_value)}

  • Try changing the load model from the terminal

 

6
Save Test Results and Generate an HTML Report after Test

The best approach to get pretty test results without much effort is to generate an HTML report after the test.                         

  • Run the test in non-GUI mode with additional -l -e -o arguments to generate the HTML report

  • The output folder and results file must be empty or it does not exist on the filesystem

  • Open index.html from the output folder

 

7
Monitor Server-Side Metrics

It is very important to monitor server-side resource usage while running your test to get the full picture of the performance.                         

  • JMeter allows you to get server-side metrics with PerfMon metrics collector listener

  • Run the server agent on each server you want to monitor

  • Add connections in the PerfMon listener

 

8
Real-Time Monitoring of Application/ServerSide with InfluxDB, Grafana & Telegraf

Another approach for monitoring the app side and server side is to  get real-time statistics saved to the database and display metrics in  visualization tools.                         

  • Install Grafana, Telegraf, and InfluxDB

  • Add a backend listener to the JMeter scenario

  • Create a basic dashboard in Grafana and run the test

 

Results Analysis and Root Cause Investigation

1
Test Results Analysis and Common Metrics

Get the right metrics is important when running load tests.                         

  • Collect app-side metrics

  • Collect server-side metrics

  • Use built-in listeners or some third party services to display test metrics

 

2
Framework Demo

An easy-to-use solution to run, analyze, and store test data using InfluxDB, Jenkins, Grafana, Telegraf, and others.                         

  • Install Docker and clone the Git repository

  • Execute the docker-compose up command

  • Add a few listeners from the demo scenario to your scenario

 

3
Root Causes Investigation

One of the hardest parts in performance testing is to find the root cause of errors or poor performance.                         

  • Isolate the place of problem. Maybe, your script has some issues.

  • Monitor all the metrics that you have. Pay attention to the server side.

  • Work with your team to allocate the root cause.

 

4
Test Report Preparation

After all tests are done, it is time to prepare reports.                         

  • Write a short summary for business people to say that the performance is ‘ok’

  • Add some detailed metrics and info for yourself and technical people

  • Never forget to mention all findings during investigation and testing

 

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.3
4.3 out of 5
30 Ratings

Detailed Rating

Stars 5
12
Stars 4
11
Stars 3
7
Stars 2
0
Stars 1
0
bea7d37e925d6e6a0bb6083abd30b78f
30-Day Money-Back Guarantee

Includes

4 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion