Learning JMeter 5.0
4.4 (63 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
228 students enrolled

Learning JMeter 5.0

Run tests, create reports, and analyze your app's performance with JMeter. Take remedial action to improve its perform
4.4 (63 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
228 students enrolled
Created by Packt Publishing
Last updated 12/2018
English
English [Auto]
Current price: $74.99 Original price: $124.99 Discount: 40% off
1 day left at this price!
30-Day Money-Back Guarantee
This course includes
  • 4 hours on-demand video
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • This course is aimed at QA engineers, test managers, and software developers who want to performance-test and improve the quality of their software.
Course content
Expand all 31 lectures 03:49:33
+ Get Started with JMeter
7 lectures 31:18

This video will give you an overview about the course.                       

Preview 02:37

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

 

Preview 03:04

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

 

Preview 02:51

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

 

Preview 02:51

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

 

JMeter Main Features Overview
04:02

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

 

Creating a Demo Scenario with JMeter
09:57

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

 

Monitoring Results from Demo Scenarios with Built-in Features and in Grafana
05:56
+ Components of a JMeter Test Plan
5 lectures 47:30

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

 

Thread Groups, Samplers, and Controllers
08:47

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

 

Assertions and Listeners
07:44

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

 

Pre and Post-Processors
19:00

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

 

Config Elements, Cookie Manager, and Header Manager
06:59

Elements used to parameterize a scenario with different variables.                         

  • Variables in JMeter

  • How to create a variable

  • Variable usage

 

User-Defined Variables
05:00
+ Test Plan Creation
7 lectures 52:44

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

 

Setting Up the Recording Proxy in Firefox
05:20

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

 

Recording User Actions for Your Scenario
09:41

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

 

Make Your Test Structured and Readable
07:34

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

 

Scenario Parameterization – Use Data from Previous Requests
10:04

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

 

Read Test Data from a CSV File
07:43

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

  • Use function helper to find the appropriate function

 

Use JMeter Functions for Data Generation
07:26

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

 

Making the Scenario More Sophisticated – Add Logic Controllers
04:56
+ Performance Tests Execution with JMeter
8 lectures 53:02

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

 

Designing and Debugging of a Test Plan
05:23

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

 

Using the Right Load Model for Your Needs
06:04

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

 

JMeter Tuning
06:16

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

 

Non-GUI Execution Mode – Passing Properties from a Command Line
05:59

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

 

Use Properties in Scenario
04:13

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

 

Save Test Results and Generate an HTML Report after Test
04:39

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

 

Monitor Server-Side Metrics
03:16

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

 

Real-Time Monitoring of Application/ServerSide with InfluxDB, Grafana & Telegraf
17:12
+ Results Analysis and Root Cause Investigation
4 lectures 44:59

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

 

Test Results Analysis and Common Metrics
08:20

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

 

Framework Demo
21:36

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.

 

Root Causes Investigation
07:16

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

 

Test Report Preparation
07:47
Requirements
  • A basic knowledge of the command-line and software testing terminology are required.
Description

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.

Who this course is for:
  • Working with JMeter components to devise a test for your application's performance
  • Create tests by recording component interactions and take remedial action
  • The complete process of load-testing a web application to test your app's load handling ability
  • Test responses from an API against the expected behavior to analyze how an app works as a whole
  • Using collected metrics to generate reports for your organization about your app's performance
  • Testing your app on different parameters to get accurate performance report for your client