Introduction
This blog will discuss the test plan in JMeter and how we can write a test plan in Jmeter step by step. JMeter is an open-source testing software developed by Apache based on pure java programming. JMeter is used to measure and observe the performance, functional, and load testing of web applications created in java.
The test plan is a part of the Jmeter, and we will learn how to create a test plan in JMeter to perform the relevant testing for our application.

Test Plan in JMeter
A test plan in JMeter is a container with pre-defined instructions that the JMeter will follow to perform the testing. The instructions contain what test to perform and how to perform it. There are a few test plan elements or attributes that we need to initialize when creating a test plan, such as thread groups, logic controllers, sample-generating controllers, listeners, timers, assertions, and configuration elements. You must include at least one thread group in the test plan in JMeter.
Let's get to know about the test plan elements in JMeter.

Thread Group
As the name implies, a thread group is a group of threads in a test plan. We can create or control the number of threads to carry out our testing. The Thread Group is also the beginning mark of the test plan.
Controllers
There are two types of controllers available in JMeter.
- Sampler - with a sampler you can send a request to a particular server. For example, you can send an HTTP request with the help of a sampler in the test plan in JMeter. Following are the types of requests you send.
- HTTP Request
- FTP Request
- JDBC Request
- Java Request
- SOAP/XML Request
- RPC Requests
2. Logic controller - With a logic controller's help, you can add a conditional statement or looping statements into a thread. You can add the following logic controllers in JMeter.
- Simple Controller
- Loop Controller
- Once Only Controller
- Interleave Controller
- Random Controller
- Random Order Controller
- Throughput Controller
- Runtime Controller
- If Controller
- While Controller
- Switch Controller
- ForEach Controller
- Module Controller
- Include Controller
- Transaction Controller
- Recording Controller
Listeners
With Listeners, you can display the output of Samplers as tables, graphs, trees, or plain text. As a JMeter Sampler component is run, they give graphical access to the information about the test cases JMeter has collected.
Timer
With Timer, you can add some intervals between the request you are sending with the help of the timer element in the test plan in JMeter.
Assertions
You can use assertions to add some validation checks to the answer to a request you performed using a Sampler. Assertions let you to demonstrate that your application is producing accurate data.
Configuration Elements
You can create defaults and variables for Samplers by using Configuration Elements. They're required to add to Samplers' requests.