JMeter Interview Questions: JMeter is a popular open-source tool for load testing, performance testing, and functional testing of web applications. Software testing professionals widely use it to measure the performance and reliability of web applications under different load conditions. As such, JMeter has become an important tool for organizations that rely on web-based applications for their operations.
If you are preparing for a JMeter interview, you can expect questions that cover a wide range of topics, from basic JMeter concepts to advanced performance testing techniques. In this context, it is crucial to understand the most common JMeter interview questions and their answers to ensure that you can confidently demonstrate your knowledge and expertise in this area.
JMeter Performance Testing Questions
- Explain the architecture of JMeter
- How do you use Jmeter in ur project and why
- What are the different timers used in Jmeter
- How requests are sent to the server in JMeter?
- Explain the Process of Parameterization
- Does JMeter simulate actual browser behaviour?
- What is Distributed testing?
- What is the use of Regular Expression in JMeter?
- What are the types of processors in JMeter?
- What are the different ways of Data Parameterization in JMeter?
- What are the maximum recommended threads on a single system?
- Explain the difference between Gaussian and Poisson Timers.
- What are the major differences between JMeter and Load Runner?
- What is the use of co-relation in JMeter?
- The latest version of Jmeter
- What are the different types of listeners?
- Explain the flow of the Test Script Recorder.
- Can JMeter record actions from mobile? If yes, how?
- How to do master-slave configuration in JMeter?
- What are the JMeter-supported protocols?
- Why is it recommended to run JMeter in GUI mode?
- Is it possible to run selenium scripts in JMeter? If yes, how?
- How do you manage sessions and cookies in JMeter?
- What are the important steps for testing JDBC requests?
- What is BeanShell scripting?
- Can JMeter measure the performance of a complete application? For Example, if your mobile app has multiple screens, can JMeter measure the time it takes to flip them?
- What is a Root CA certificate?
- Which factors decide the maximum number of threads that one should generate per system?
- What is a Workbench and why is it required
- What is Tidy Parsing?
- What are the important plugins that are supported in JMeter?
- What are the types of the controller in JMeter?
- Explain the ramp-up period.
- What are the roles of Listeners in JMeter? Can you name a few of them?
- Name a few timers in JMeter. For what purpose they are considered?
- What do you mean by Rendezvous point?
- What do you know about assertions?
- What do you know about the Pre-processors in JMeter?
- Is it possible to run JMeter in GUI? If so, explain how.
- What are the different protocols that are supported by JMeter?
- What are the main parts of a Thread Group?
- How sampler and logical controllers in JMeter are different?
- Name at least 10 Listeners that JMeter is equipped with.
- What are the applications that you can test with JMeter?
- What are Post-Processors in JMeter?
- What do you know about the Concurrent user hit in JMeter?
- List some of the test plan elements in JMeter.
- What are Controllers and their types?
- What is the execution order of Test Elements
- What is the 90% line in JMeter?
- What is heap size in Jmeter?
- What is the median in Jmeter listeners?
- Is it possible that, if we increase the heap size in Jmeter, then application(jmeter) might not work?
- What is Blaze Meter?
- How do you ensure re-usability in your JMeter scripts?
Performance Testing Interview Questions Using Manual
- What are the diff types of performance testing that you do?
- What are the different tools you use?
- How do you check for your application’s CPU Utilization, Memory, Network, and Disk Utilization
- How do you calculate the throughput?
- Explain your approach to measuring traffic
- What is profiling?
- What is latency time?
- What are ramp up and ramp downtime?
- How do you measure client-side and server-side performance?
- What is Out of Memory and how do you reproduce these issues?
- How do you check garbage collector objects?
- How do you check the First Byte per second and the Last Byte per second?
- What is the standard deviation and how do you calculate it?
- What is 90th Percentile, 95th, 99 Percentile
JMeter Interview Questions And Answers
What is Performance Testing?
Answer: Performance testing is the measure of an application’s response in situations of stress in terms of the number of users, amount of data, etc. This type of testing helps to prepare for the expected load and understand the amount of load an application can withstand.
What is the difference between Load, Stress, and volume testing?
- Load Testing: This testing is done to see whether the application can withstand the expected number of users or not.
- Stress Testing: This testing is done by increasing the number of users greater than expected by the application or that an application can withstand.
- Volume Testing: This type of testing is done with a large amount of data. The behavior of the application is monitored when it is loaded with huge datasets.
What is JMeter?
Answer: Apache JMeter is a performance testing tool that is 100% based on Java.
What is a Test Plan?
Answer: When the GUI of JMeter is launched, it loads with default components: Test Plan and Work Bench. All the components of the JMeter script are added to the Test Plan.
What is a Thread group in JMeter?
Answer: Values added to Thread Group define the number of users hitting the application and how the users will be added to the test flow. In the Thread group – The number of Threads, Ramp-up period, and Loop count play a crucial role in deciding this.
What is a Ramp-up period?
Answer: The ramp-up period tells JMeter how long it will take for all threads to be up and running. For example, if the number of users or threads is 100 and the ramp-up period is 10 seconds, that means it will take 10 seconds for 100 users to be simulated through JMeter.
What is the purpose of adding a Thread group?
Answer: Performance testing is about simulating users in real-time. Thread group helps to achieve the same. The number of users mentioned in the Thread group will hit the server and get the response back.
What is a Sampler?
Answer: The sampler is the requests which are created by JMeter. There are different types of requests that can be created like an FTP request, HTTP request, Java Request, JDBC Request, etc. Based on the action that needs to be tested, such as file transfer, sending the request to API, sending java request, hitting query on databases, the respective type of Sampler can be selected.
What is a Controller?
Answer: The controller is used to control the flow of requests. The order in which a request needs to hit the server is decided by the controller to which a particular request is added. All the requests inside one controller are tied to that controller and behave as it is expected to behave if one wants a particular request to be sent in a different order. It should be placed outside it or in a different controller.
What are the different types of Controllers in JMeter?
Answer: There are many types of controllers. Some of the popular ones are as below :
- Simple Controller
- Once the Only Controller
- If Controller
- Loop Controller
- Interleave Controller
- Random controller
What is a Listener?
Answer: The listener comes into action when the script is executed. It listens to the request and response and displays it in a visual manner. It can be understood as a report of the test run. They are very useful to analyze the test run and help to find the root cause of the failures if any.
What are the different types of Listeners in JMeter? (Important JMeter Interview Questions)
- View Results in a Tree
- View Results in a Table
- Simple Data writer
- Aggregate Graph
- Is there any other way to open JMeter other than GUI mode?
JMeter can be run in the non-GUI mode using below command in Command prompt
Answer: JMeter -n -t <scriptname.jmx>
What is the purpose of a Timer?
Answer: Timers are also known as Think Time in JMeter. They add certain delay to the requests to which they are added. Adding Timer is not mandatory but usually, is added to certain requests that should hit the server after a certain interval. Different type of Timers is Constant Timer, Gaussian Random Timer, Uniform Random Timer, Synchronising Timer, etc.
What is a regular expression?
Answer: Regular expressions or Regex are expressions that are created to fetch data dynamically between requests and responses. This is done using software that matches the pattern in JMeter. Symbols such as ., $, +, ? to create expression and match string.
What are the benefits of JMeter above other tools in the market that are used for performance testing?
- JMeter is open-source, and one need not pay for its license.
- It is platform-independent.
- Supports Multithreading
- No programming skills are required
- Good Reporting
What is a preprocessor?
Answer: Pre-Processors is a set of actions that are executed before the sample request is executed. There are different types of pre-processors in JMeter, like BeanShell Pre-processor, JDBC pre-processor, User Parameters pre-processor, etc.
What is a post-processor?
Answer: Postprocessors are a set of actions that are executed after the sample request is executed. There are different types of post processors in JMeter like JDBC post-processor, Regular expression extractor, XPath Extractor
What is distributed testing using JMeter?
Answer: JMeter consumes a lot of memory, and the consumption increases with the number of users; hence, if one needs to test with a lot of users, then the load can be split between different machines. Each machine hits the server with some load. For example, if one needs to simulate the load of 900 users, then 3 machines of 300 load each can be used. JMeter supports this, and that helps us to use the ‘n’ number of servers to generate as much load as we want.
How can we parameterize data?
Answer: Variables in JMeter can be used to parametrize data. Add config element -> User Defined Variables (Right-click Thread Group > Add > Config Element > User Defined Variables). The values in a variable are stored by ${}
Format
Name: Var1
Value: ${variableValue}
Jmeter tool is one of the most accepted tools in software testing as its capability to perform both functional & performance testing. Above all, JMeter is open-source and easy to learn.
JMeter?
Answer: JMeter is an open-source desktop java application used as a performance testing tool and designed to measure the performance of web applications.
What is Performance Testing?
Answer: Performance Testing is done to find out whether an application is meeting given performance expectations under a given configuration of infrastructure and to know how the system is performing under a given condition.
What is the Load Test?
Answer: This test is used for testing the system under the maximum load it was designed to operate under and find the point where the performance of the system starts degrading.
What is a Stress Test?
Answer: This test is done to break the system. This allows us to find out the maximum capacity of the system under a given condition, thus allowing one to find out the way to overcome it if such a requirement to operate in a more heavy load arises in the future.
What are the Protocols Supported By JMeter?
Answer: The following are some of the protocols supported by JMeter.
- Web Protocol: To test the web applications, it supports both HTTP and HTTPS protocols.
- Web Services: To test web services applications, it supports both SOAP and REST.
- FTP: File Transfer Protocol provides the support for testing the FTP servers and applications.
- Database via JDBC: used for testing the database applications.
- LDAP: Lightweight Directory Access Protocol.
- Message-oriented middleware (MOM) via JMS
- Mail: used for testing of mail servers such as SMTP(S), POP3(S), and IMAP(S)
- MongoDB (NoSQL): it is a recently supported protocol by JMeter.
- Native commands or shell scripts
- TCP
Explain the JMeter Test Plan?
Answer: It is the top-level body of JMeter, which explains a sequence of steps to be executed at runtime. A complete test plan will contain many elements, such as one or more thread groups, Sampler, Logic controllers, listeners, timers, assertions, and configuration elements. At least one thread group should be there in a test plan. Each sampler can be preceded by one or more Pre-processor elements, followed by Post-Processors and Assertion Elements.
What is Thread in Jmeter?
Answer: Threads are the beginning of the first element in a test plan. It represents a number of Virtual Users that simulate real-time user load on the target server.
What Is A Thread Group?
Answer: It is the initial stage of the Test Plan. It represents a group of threads, i.e. group of users. Each thread represents one virtual user using the application under test. Each virtual user simulates one real user load to the target server. The controls for the thread group allow one to set a number of threads (i.e., Virtual users) for each group to simulate a load of real users for the set number of threads to a target server. It is mandatory to have at least one thread group in the Test Plan.
What is the Response time in the JMeter report?
Answer: The Response time is the total elapsed time from the moment when a given request is sent to the server until the total response is returned to the client.
What are Samplers in JMeter?
Answer: Sampler facilitates JMeter to deliver many types of requests to the server. Types of request may be FTP request/HTTP Request/JDBC Request/ etc.
What are the Main Parts of Thread Group? Please mention them along with their roles.
Answer: The following are the parts of a thread group.
- Sampler: It is used for sending various types of requests to the server.
- Listeners: It saves the results of the test execution and can be viewed.
- Timer: It is used to insert delays between the requests to simulate real traffic.
- Controller: It is used to control the flow of the thread group.
- Config Element: It contains information about the requests to be added to work with samplers.
- Assertion: To check and validate the response.
What are Logical Controllers and their types?
Answer: Logical Controller defines the order of processing requests in a Thread.
Some of the types of Logical Controller are Recording Controller, Loop Controller, Simple Controller, Random Controller, and Module Controller.
Explain what the configuration elements are.
Answer: It is a simple element where we can collect the required information for all the samplers, i.e. Web server Hostname, DB URL, any constant, etc. They are executed at the start before samplers execute. They are used to add or modify requests made by the sampler.
Explain parameterization in JMeter.
Answer: Using Parameterization, we can execute one test plan for more than one user at the same time. This is a method of generalizing an action for many users.
Which JMeter elements are used for Parameterization? Mention the steps.
Answer: Configuration Element is used in Parameterization, Steps are given as below:
Right Click on thread–> Add–>Config Element–> CSV Data Set Config.
What Are Listeners?
Answer: The listener facilitates the viewer to view sample results in different forms, i.e. tables, graphs, trees, or simple text in some log files. In simple words, the Listener is used to showing the result of test execution.
List Out Few JMeter Listeners.
Answer: Some of the important JMeter Listeners are as follows.
- Spline Visualizer
- Aggregate Report
- View Result Tree
- View the Result in Table
- Monitor Results
- Distribution Graph (alpha)
- Bean Shell Listener
- Summary Report
- Aggregate Graph
- Assertion Results
- Backend Listener
- Comparison Assertion Visualizer
- Generate summary results
- Graph Results
- JSR223 Listener
- Mailer Visualizer
- Response Time Graph
- Save responses to a file
- Simple data writer
Explain what the Pre-processor Elements are.
Answer: Pre-processor is an element that will run before the sampler executes. To modify the setting of the sample request just before its execution or to update variables that are not extracted from response text, pre-processor elements are used.
List some of the pre-processor elements.
Answer: Some of the pre-processor elements are:
- BeanShell PreProcessor
- BSF PreProcessor
- HTML Link Parser
- HTTP URL Re-writing Modifier
- JDBC PreProcessor
- JSR223 PreProcessor
- RegEx User Parameters
- Sample Timeout
- User Parameters
What is the execution order of Test Elements?
Answer: The following is the execution order of the test plan elements:
- Configuration elements
- Pre-Processors
- Timers
- Sampler
- Post-Processors
- Assertions
- Listeners
What are regular expressions in Jmeter?
Answer: Regular Expression is the special sequence of characters that helps you to match or find the string or set of strings in the response of the request.
Why is a regular expression extractor used in JMeter?
Answer: In some situations, when one is required to extract the response from one request and pass it to another request, a regular expression extractor is used.
Explain The Basic Workflow Of JMeter.
Answer: JMeter simulates a group of users to send requests to a target server. It collects responses from the target server and other statistics which depict the performance of the application or server via graphs or tables.
What Is displayed after the JMeter window opens?
Answer: The JMeter screen displays the Test Plan and Workbench tabs.
What Is Spike Testing And How Can We Perform It In JMeter?
Answer: Suddenly, increasing the number of Virtual users at some point of application and then monitoring its impact on the application, is Spike testing. It is done to check whether application performance is stable or decreases with a sudden increase in load.
Explain What Assertion In JMeter. List Its Types.
Answer: Assertion plays an important role in testing. It allows one to check whether an application is returning expected data or not. It puts validation on the response of the request made using samples.
What are the timers, and what are the different timers available?
Answer: By default, JMeter keeps on sending requests without pausing between each request, which is quite impractical. To simulate real traffic, JMeter provides a timer element to have some delay between the requests.
There are many timers available in JMeter, which are Bean Shell Timer, BSF Timer, Constant Throughput Timer, Constant Timer, Gaussian Random Timer, JSR223 Timer, Poisson Random Timer, Synchronizing Timer, and Uniform Random Timer.
What is throughput in the JMeter listener?
Answer: Throughput is the number of requests per unit of time(seconds, minutes, hours) that are sent to your server during the test.
How to handle correlation in JMeter?
Answer: To understand the correlation, it is important to know that the server sends dynamic content each time it gets the request and that dynamic content is used in the subsequent requests. This dynamic content changes each time a user sends the same request. So, one recorded script will not work for sending the same request to the server. For, server to accept this dynamic value,
Correlation is done, which takes the left boundary and right boundary of the dynamic value, which makes it feasible to run the same script again and again after the correlation is done.
For correlation in JMeter, we use the “Regular Expression Extractor,” which makes use of regular expressions.