4.12 out of 5
4.12
76 reviews on Udemy

Getting Started with BlazeMeter

Leverage open source tools like JMeter and more to run tests against web & mobile apps and APIs.
Instructor:
Dave Karow
4,764 students enrolled
English [Auto-generated]
You will learn about the primary features and capabilities of the BlazeMeter testing platform
You will be able to perform the basic operations in BlazeMeter, including creating and executing test, analyzing test reports, and debugging and calibrating tests
You will learn about plugins and Integrations with the leading APM tools and Continuous Integration platforms
You will also learn the key elements of script building in Apache JMeter

This course contains all the information you need to know about getting started with BlazeMeter and Apache JMeter™. You will learn the basics of these products and quickly start developing and running your own tests. You will also see some key videos and have an opportunity to perform some hands-on lab exercises. 

Introducing BlazeMeter

1
BlazeMeter Overview

Getting Started with BlazeMeter

BlazeMeter addresses the modern realities of performance testing in a continuous delivery world. It is equally at home in the cloud and behind the firewall. BlazeMeter supports ‘load and go’ of existing open source scripts and also provides automated recording technologies.

BlazeMeter provides a single platform that can run production scale load tests as well as scaled down automated continuous testing at the commit, build, integration and pre-production stages of your software flow.

2
BlazeMeter Account Sign Up

You sign up for a BlazeMeter account by going to blazemeter.com and clicking the Start Testing Now button. You can sign up by using either your Google ID or by specifying your email address. After you sign in, you will be taken directly into the application and you can start with your first test. You will then be able to view various reports such as load reports and timeline reports that help you interpret the results of your test. 

3
We Know Why You Are Here

You are probably here because you recognize the challenges your organization faces while performance testing various applications. We will look at some of these challenges, and the ways BlazeMeter can help you overcome those challenges.

4
BlazeMeter Solution Architecture

You can use the BlazeMeter application in different ways with or without accessing the web interface. You can use a simple command line interface to create and edit performance tests based on configuration files written in YAML or JSON. You can also use the extensive public REST API to automate any feature of the web application. Plugins are yet another option, allowing you to easily run tests and consume results from within different continuous integration tools. 

Public Cloud

BlazeMeter creates instances on a public cloud, which hold the Apache JMeter™ setup and which will create load on your hosted application. The cloud instances record the application's performance, and then sends these reports back to BlazeMeter in real-time for your viewing. 

BlazeMeter orchestrates the deployment and launch of multiple JMeter engines in clusters composed of engines and consoles. You can simply tell BlazeMeter how many virtual users (threads) to create and let it decide the number of engines, or you can manually choose the number of engines and number of threads per engine. These settings override thread count settings in your JMeter test file, allowing you to easily make changes without editing the file.



Developer Desktop

With BlazeMeter, developers can easily create tests in their favorite editor using straightforward YAML or JSON syntax. Create and edit performance tests alongside feature code without switching context or having to open other tools. And you can keep load tests in your preferred version control repository to track changes and revert when necessary.


CI and CD Automation

You can integrate BlazeMeter with your favorite Continuous Integration server (Jenkins, Bamboo, Travis, Teamcity, CircleCI and any other system that can call out to a command line) to run fast, small-scoped load tests in parallel, ensuring that performance is as expected before promoting a build to the next stage. You can set thresholds on critical test metrics to fail the build when necessary.

Automate test runs in staging and QA environments by integrating BlazeMeter with Chef, Puppet, AWS CodePipeline, IBM Bluemix, and other deployment tools and services.


On Premise Load Agent

BlazeMeter’s Private Location feature is driven by Docker-based on-premise load agents that “phone home” at regular intervals. This approach requires only outbound requests through your firewall, an approach preferred by most security teams. When a test is started, BlazeMeter will respond with instructions for these servers and then results are streamed outbound to the BlazeMeter portal for real-time reporting.

Harbor - This is your On-Premise environment.

Ship - Any server you install our agent on is a Ship within the Harbor. These are your load servers.






5
Lab Exercise and Demonstration: Creating Your First Project in BlazeMeter

This is a very simple lab exercise where you will create a couple of projects and switch between them. The intent is to get used to the BlazeMeter interface so that you can execute more labs in the next few sections.

Key Objective of lab exercise 

In this lab exercise, you will:

  • Log into BlazeMeter

  • Create two new projects

  • Switch between projects

You can now choose to watch the demonstration of the lab exercise or perform it in the BlazeMeter environment.

Download Lab Guide

In case you want to perform this lab in BlazeMeter, click the button to download the lab guide. Follow the steps to perform the lab exercise in BlazeMeter.

 

6
Relationship Between BlazeMeter and Apache JMeter™



Working with Tests and Reports in BlazeMeter

1
Working with tests in BlazeMeter

Creating new tests is easy with BlazeMeter’s simple UI and sensible defaults which can be easily overridden.

Let's review some of the key points discussed in the video.

HTTP URL/API Test 

The simplest form of test is the HTTP URL/API test. Whether you just want to visit a list of URLs or compose a series of API calls, test creation takes just seconds. Sensible defaults can be left as is, or simply drag sliders to change them. Give the test a name, save it and launch it immediately all without leaving this one screen. 

As is the case with all test types, it’s easy to add Test Failure Criteria, override hostname entries in DNS and add network impairments to model mobile traffic, emerging market DSL traffic or any other network condition. APM integrations make it easy to “decorate” traffic with headers, creating a “red dye” that indicates to APM systems the test and step generating requests or to pull APM data into BlazeMeter charts for easy visual correlation.


JMeter Test 

The JMeter test type allows “load and go” of any existing JMeter test by simply drag and drop of test and related files to the box on this page (or browsing if preferred). BlazeMeter allows you to chose the version of JMeter and Java, but provides sensible defaults.

BlazeMeter takes “load and go” seriously. The goal is for any working test to run without any modifications or accommodations. There is no need to separately import test data or plugins. JMeter properties and command line arguments can be added here to facilitate re-use of tests without keeping separate copies for each minor variation.


WebDriver Test 

The WebDriver test type provides support for tests written in JavaScript for the JMeter Selenium WebDriver plugin. Native Selenium scripts written in Java, Python, Ruby and JavaScript/Mocha are executed using the Taurus test type (next screen).


Taurus Test 

Native Selenium scripts written in Java, Python, Ruby and JavaScript/Mocha are executed using the Taurus test type.

Taurus can also generate JMeter and Selenium tests on the fly from its domain specific language. This approach is more source-control friendly than JMeter’s native XML file format and makes it possible to write a single script that is executed simultaneously on both Selenium and JMeter. Taurus can also execute tests written in Gatling, Locust, The Grinder, Siege, Apache Benchmark, PBench and Tsung.


2
Working with reports in BlazeMeter

In this section, I will walk you through various reports such as Timeline report, Request Stats report, and Errors report. I will also discuss key use cases where using each of these reports makes the most sense.

Some of the key reports that are available in BlazeMeter are discussed below.

Timeline Report

The Timeline report allows to you explore various KPI’s by overlaying them on a single graph. On the left side of the screen, you'll notice the KPI selection panel. The great advantage of this report is that it enables you to view many different types of KPIs within one graph, and by doing so easily visualize certain events that might have occurred throughout the test. If you have a large number of labels in your test and want to toggle on or off display of a particular label, you can type part of a label name in the “Quick filter…” area to display only those that match.

Load Report

The Load Report was a predecessor to the Timeline Report. It’s still offered because it provides an alternative way to view the data. 


Multi Test Report 

'Multi Test' reports show the aggregated reports of the entire test. To view reports for each of the individual tests in a multi-test, choose “Reports, Show all reports” from the top drop-down menu. A list of the individual tests (also known as “Sessions”) will appear on the left. Simply click the individual test names in the left menu to see their data or click the multi-test name above the sessions list to return to the aggregated report.


Request Statistics Report 

The Request Statistics Report provides a tabular view of test data, including sample counts, response time percentiles, and error rates. The first row with label "ALL" displays consolidated values for all request made during the test and the rows below it list statistics for each label in your test. Click the gear icon on the right to add or remove columns. Click the Download CSV to download all columns of data to process in a spreadsheet or external database.


Engine Health Report


The Engine Health Report displays the performance indicators received during the test while monitoring JMeter console(s) and engine(s). The major KPIs monitored are CPU, Memory, Network I/O and Connections and the goal for monitoring them is to ensure that your testing engines and consoles do not create a bottleneck impacting the results of your test. If CPU is above 75% or Memory is above 85%, you will want to spread the load across more engines and re-run your test to ensure meaningful test results.


Logs Report

You can view and monitor the log of each server used during the test run. Logs availability and server monitoring providing full test transparency.

By clicking on the drop-down list, you will be presented with all the Consoles and Engines logs as well as the jtls_and_more.zip, which contains all files from your test including logs, scripts, and data files. You can “tail” an individual log (view it live as entries are written to it) by clicking the “View log tail” icon.


Errors Report

The Errors tab, as its name suggests, displays the errors that are received and assertions that fail as the test takes place. Errors can be filtered by domain and grouped by Label, Response Code, or Assertion Name. Expand or collapse the results by clicking the lists of labels, response codes or assertions.


Summary Report

The summary report provides you information on what happened in the test at a glance. You can get information on the maximum number of users for the test, the average throughput, the average response time, and the response time at the 90th percentile. 



3
Create a URL/API Test

URL/API Test

BlazeMeter provides an automatic scripting option. You simply enter a list of URLs, select the geo-location, the desired maximum concurrent users for the test, delay between requests and duration of the test.

The reports will provide you with all the KPIs you need. You can easily share all the results with your team.

The automatic scripting feature generates a JMeter script, each virtual user will hit each URL sequentially. Each virtual user has their own browser session, cache, and cookies.

Key Objective of Lab Exercise

In this lab exercise, you will:

  • Run a simple URL/API Test

  • Create an Executive Summary report

You can now choose to watch the demonstration of the lab exercise or perform it in the BlazeMeter environment.


Download Lab Guide

In case you want to perform this lab on BlazeMeter, click the button to download the lab guide. Follow the steps to perform the lab exercise in BlazeMeter.

Note that you don't need to download the guide if you have already done so for the previous BlazeMeter labs.


Download Lab Resources

Click this button to download the lab resources for completing BlazeMeter labs. 

Note that you don't need to download the resources if you have already done so for the previous BlazeMeter labs.


4
Create a Multi test

The Multi Test is used for distributed load testing. It synchronizes and aggregates the results from several test sessions into a single aggregated report.

The Multi Test configuration includes individual test configurations orchestrated to run simultaneously. Each test is still individual and can be run independently, regardless of the Multi Test.

Key Objective of Lab Exercise

In this lab exercise, you will:

  • Create a JMeter Test

  • Create a API/URL Test

  • Create a Multi Test

  • Run a Multi Test

You can now choose to watch the demonstration of the lab exercise or perform it in the BlazeMeter environment

Request Demo for BlazeMeter 

You cannot perform this lab if you have a free-tier account on BlazeMeter. In case you want to use this feature, please contact a Performance Engineer from BlazeMeter

Debugging and Calibrating Tests in BlazeMeter

1
Debugging Tests in BlazeMeter

When you encounter issues where you feel that you are not getting the load or the response time that you are expecting, you will need to look at two things. One is the log and the other is the monitoring report. Let's learn about some basic steps to debug your tests in BlazeMeter

2
Calibrating Tests in BlazeMeter

Test calibration is important and helps you to determine the number of threads per engine and number of engines per console. Here are some key activities you need to perform to calibrate tests in CA BlazeMeter.

Advanced Features in BlazeMeter

1
Advanced Features in BlazeMeter

A review of some key advanced features of BlazeMeter such as Hosts Override. Thresholds and Network Emulation. 

Plugins and Integrations in CA Blazemeter

1
Overview of CI, CD and APM integrations in BlazeMeter

An introduction to integrations with CI, CD and APM tools

2
BlazeMeter's Integration with CA APM

BlazeMeter's Integration with CA APM


CA APM manages the performance of All Users and All Transactions, and does so with a collaborative, perspective driven approach that provides the information you need, and only the information you need, regardless of your role. No matter what phase a performance test is executed, the integration with CA APM provides quick time to resolution through a guided workflow using Experience Views and Assisted Triage options available in CA APM.

3
Using APIs in BlazeMeter

Here are some of the key activities you can perform by using REST APIs in BlazeMeter .

4
Create, Update, and Run JMeter Test via APIs

Create, Update and Run JMeter Test using Rest APIs

You can quickly create a JMeter script by using a CURL command with JSON body instead of going to the GUI and following click-by-click procedure. It is more convenient to run tests via an API in the continuous integration environment. Load tests can be easily created and configured online. Once these tests are created, it is possible to run them using the BlazeMeter REST API. This means that instead of manually starting the tests, you can simply create a script that will automatically run a predefined test via the API.

BlazeMeter has a new, improved API for performing various actions that can be done through the UI programmatically. The API is RESTful and works with JSON messages over HTTP. It relies on the standard HTTP verbs including GET, POST, PUT, DELETE, and PATCH. 

Key Objective of Lab Exercise

In this lab exercise, you will:

  • Identify API key

  • Create a JMeter test

  • Upload a JMX file

  • Update a JMeter test

  • Run a JMeter test

You can now choose to watch the demonstration of the lab exercise or perform it in the BlazeMeter environment.

5
Use BlazeMeter Chrome Browser Extension

BlazeMeter Chrome Extension

BlazeMeter's Chrome extension let you test your application without prior scripting knowledge. The extension offers two modes: Record and FollowMe.

The Record mode creates a JMeter script and automatically uploads it to BlazeMeter, where you can execute it with a single click, or export it as a JMeter .jmx file.

Key Objective of Lab Exercise

In this lab exercise, you will:

  • Add the BlazeMeter Chrome Extension to your browser

  • Transfer and run JMeter script to BlazeMeter UI

You can now choose to watch the demonstration of the lab exercise or perform it in the BlazeMeter environment.

6
BlazeMeter - Jenkins Integration Setup

Jenkins - BlazeMeter Integration Setup

Integrating BlazeMeter with a Continuous Integration (CI) solution like Jenkins enables shifting Performance Test Left to execute performance tests much earlier in the SDLC. This helps detect and remediate performance issues while the component is being developed. BlazeMeter supports other CI tools like TeamCity and Bamboo. This lab will be focused on integration with Jenkins that will help execute BlazeMeter performance test as part of a code build. The actual execution of performance tests will be done during subsequent labs. 

Key Objective of Lab Exercise

In this lab exercise, you will:

  •  Install BlazeMeter Plugins for Jenkins

  •  Setup Jenkins Credentials for login to BlazeMeter

  • Complete Setup Jenkins Credentials for login to BlazeMeter

You can now choose to watch the demonstration of the lab exercise or perform it in the BlazeMeter environment.

Diving Into Apache JMeter

1
Overview of Apache JMeter

Let's start by reviewing some basic facts around JMeter. 

2
Downloading and Installing Apache JMeter™

Installing and Configuring JMeter

During this lab, you will learn how to install and configure JMeter on your Windows system.

Key Objective of Lab Exercise

   In this lab exercise, you will

  • Download and install the Java SE Development Kit

  • Download and install JMeter

  • Download and install the JMeter Plug-in Manager

You can now choose to watch the demonstration of the lab exercise or perform it in your environment.

Watch Demonstration

You can watch a quick demonstration of how to install and configure JMeter.

3
Key Building Blocks of Apache JMeter™

A short overview of test plans, thread groups, HTTP Sampler, View Results Tree listener and the HTTPS Test Script Recorder.

4
Working with Thread Groups

Configure Thread Group and Ultimate Thread Group

During this lab, you will learn how to configure Thread Groups and Ultimate Thread Groups.

A Thread Group is one of the most basic elements of a JMeter script. You cannot run a JMeter script without a Thread Group. The Thread Group initiates the thread that runs the scenario that you specify in the script.

In this lab, we examine two types of thread groups: standard and ultimate. 

o   The standard Thread Group is included in the JMeter installation by default. It is simple to configure and includes a ramp up time, loop count, and duration.

o   The Ultimate Thread Group is more advanced and allows you to specify the ramp down time and the ramp up time. An Ultimate     Thread Group can also be used to configure more complex thread scenarios.


  Key Objective of Lab Exercise

   In this lab exercise, you will:

  • Add a Thread Group and configure a Dummy Sampler for a test in JMeter

  • Add an Ultimate Thread Group to a test in JMeter

  • Add a View Results Tree listener

  •  Run the test and the observe results

You can now choose to watch the demonstration of the lab exercise or perform it in your environment.

5
Working with Logic Controllers

Logic Controllers in JMeter determine the order in which Samplers are processed. In this section, we will review some of the most commonly used logic controllers in JMeter. Let's start with the Simple Controller. 

6
Working with Configuration Elements

Configuration elements can be used for adjusting or adding meta-sampler data such as user-agent, dns cache, or reading a csv file. In this lecture we review what you can do with Configuration Elements in Apache JMeter.

7
Working with Timers

Timers allow you to create a small delay before a sampler has been executed. Let's quickly review the different kinds of timers available in Apache JMeter.

8
Working with Samplers

Samples perform the actual work in JMeter because each sampler generates one or more sample results. The results have various attributes, which can be viewed by using various listeners. Let's quickly review some key samplers in Apache JMeter.

9
Working with Post Processors

Post processors are applied after samplers. Let's quickly review some key Post Processors in Apache JMeter.

10
Working with Assertions

You can use Assertions to perform additional checks on samplers. They are processed after every sampler in the same scope. To ensure that the Assertion is applied only to a particular sampler, add it as a child of the sampler.

Let's quickly review some key Assertions in Apache JMeter.

11
Apache JMeter: Scoping Rules and Execution Order

In this lecture, we will present an explanation of JMeter's scoping rules. When speaking of the scope of an element, we mean the section of the JMeter tree (and the elements in it), which this element has access to and it can be accessed from itself. In other words, scoping tells us which elements have access to a specific element, and which do not.

12
Adding Listeners in Apache Jmeter

Listeners are processed at the end of the scope in which they are found and allow you to view, save and read saved test results. Let's quickly review some of the essential listeners that are available in JMeter.

13
Lab Exercise and Demonstration: Apache JMeter™- Basic Scenario

During this lab, you will learn how to simulate Internet browser behavior by using a cookie manager and a cache manager. You will then test your Internet browser response time.

In this scenario, you will create a basic, realistic user scenario in which multiple virtual users enter a website and navigate the site. You will do this by sending HTTP requests to a web page. You will then send a second HTTP request to a second page.

Using the Cookie Manager and the Cache Manager, you will configure JMeter to behave like a real browser. You can clear your cache and cookies with each iteration to imitate the behavior of multiple users entering the website. At the end of the lab, you will run your test and view results for multiple users, noting the KPIs and maximum response times.

Key Objective of Lab Exercise

In this lab exercise, you will:

  • Create ten Thread Groups that run in one minute

  • Add an HTTP Cache Manager

  • Add a Cookie Manager

  • Add a View Results Tree listener

  • Execute an HTTP Request and configure a Constant Timer

  • Execute another HTTP Request and configure a Constant Timer

  • Add a Response Time Listener, run your test, and note the results

You can now choose to watch the demonstration of the lab exercise or perform it in your environment.

14
Lab Exercise and Demonstration: Utilizing Assertions in Apache JMeter™


Assertions are used to verify that you accessed the web page that you wanted to access and that you received the response and the value that you wanted to receive. For example, when you log in to a website, you see welcome text with your username on the home page. If you want to verify that the sign in completed properly, you may verify that the word “welcome” is included in the sign in request response. 

Key Objective of Lab Exercise

In this lab exercise, you will:

  • Use a JSON Assertion to verify information

  • Use a JSON Assertion to verify information after modifying the expected value

  • Apply a Response Assertion to verify text in a response

  • Utilize a Response Assertion to verify receipt of a code

  • Verify an outcome with a Duration Assertion

You can now choose to watch the demonstration of the lab exercise or perform it in your environment.

15
Lab Exercise and Demonstration: Lab Exercise and Demonstration:


Correlations in JMeter can be achieved using the Regular Expression Extractor post-processor. Regular Expression Extractor makes use of regular expressions to fetch values using pattern matching. Here, you will use the regular expression extractor to extract a token while using timers, login, logout, and a data file with random delays between requests to mimic real world scenarios.

Key Objective of Lab Exercise

In this lab exercise, you will:

  • Create a new JMeter test

  • Add a Thread Group

  • Add and configure an HTTP Request

  • Extract the CSRF token

  • Register a new account

  • Add an HTTP Cookie Manager

  • Add a View Results Tree listener

  • Add an HTTP Request Sampler to login

  • Add an HTTP Request Sampler to logout

  • Add a Uniform Random Timer

  • Add a Debug Sampler

You can now choose to watch the demonstration of the lab exercise or perform it in your environment.

16
Overview of JMeter Functions

JMeter functions are special values that can populate fields of any Sampler or another element in a test tree.

17
Lab Exercise and Demonstration: Configuring Functions in Apache JMeter™


Configuring Functions in JMeter

JMeter functions are special values that can populate fields of any Sampler or another element in a test tree. It is very useful tool to make your test plan flexible and maintainable.

Here you will create a standard test, then configure the test to apply these JMeter functions: log, time, counter & ThreadNum, UUID, Property, and instanceId.


  Key objective of lab exercise

   In this lab exercise, you will:

  • Configure and Run a JMeter Test

  • Configure a JMeter Test Using the Log Function

  • Configure a JMeter Test Using the Time Function

  • Configure a JMeter Test Using the Counter & ThreadNum Function

  • Configure a JMeter Test Using the UUID Function

  • Configure a JMeter Test Using the Property Function

  • Configure a JMeter Test Using the Property Function with an instanceId

You can now choose to watch the demonstration of the lab exercise or perform it in your environment.

18
Lab Exercise and Demonstration: Configuring Complex Scripts for Apache JMeter™

Configuring Complex Scripts for JMeter

Throughput Controller allows you to create tests that imitate virtual users completing specific tasks to test the performance of a website or application.

There are two modes:

 Percent executions cause the controller to execute a certain percentage of the iterations through the test plan. 

Total executions cause the controller to stop executing after a certain number of executions have occurred. 

BeanShell Samplers add functionality to JMeter scripts that are not available in JMeter by default. A BeanShell Sampler allows you to add scripting language and it enables you to do more with basic JMeter elements. It would be extremely difficult to complete few complex tasks in JMeter without a BeanShell Sampler. 


  Key objective of lab exercise

   In this lab exercise, you will:

  • Configure a JMeter test that applies Multiple Throughput Controllers

  • Configure a JMeter test that applies a Logic Controller and a BeanShell Sampler

You can now choose to watch the demonstration of the lab exercise or perform it in your environment.

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.1
4.1 out of 5
76 Ratings

Detailed Rating

Stars 5
29
Stars 4
22
Stars 3
20
Stars 2
3
Stars 1
2
855d41d71582f28858393be732d1f96c
30-Day Money-Back Guarantee

Includes

3 hours on-demand video
18 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion