Jmeter

JMeter is a load testing tool for analyzing and measuring performance. If you are preparing for the role of Performance test engineer, then you will find these interview question on JMeter helpful for your next job interview.



Q.1 What is a Thread Group in JMeter?
The Thread Group is a fundamental element in JMeter that represents a group of virtual users or threads that will simulate concurrent users in a performance test.
Q.2 How do you configure the number of threads in a Thread Group?
In the Thread Group, you can set the number of threads by specifying the desired "Number of Threads (users)" parameter. This determines how many virtual users will be simulated during the test.
Q.3 What is the purpose of the Ramp-Up Period in a Thread Group?
The Ramp-Up Period in a Thread Group defines the time it takes for JMeter to start all the threads specified. For example, if you have 100 threads and a ramp-up period of 10 seconds, JMeter will start 10 threads every second for 10 seconds.
Q.4 Explain the meaning of the Loop Count in a Thread Group.
The Loop Count determines the number of times each thread will execute the test plan within the Thread Group. For instance, if the Loop Count is set to 5, each thread will repeat the test plan 5 times before completing.
Q.5 How can you configure a Thread Group to simulate different user behaviors?
JMeter provides several controllers, such as the Random Controller or Throughput Controller, which can be used within the Thread Group to simulate different user behaviors. By placing different samplers under these controllers, you can vary the requests made by virtual users.
Q.6 What is the significance of the Scheduler checkbox in a Thread Group?
Enabling the Scheduler checkbox allows you to specify the duration of the test. With the Scheduler enabled, you can set the test to run for a specific duration, defined by the Start Time, End Time, and Duration parameters.
Q.7 How does the Duration Assertion in a Thread Group work?
The Duration Assertion in a Thread Group checks if the response time of the requests falls within a specified range. If any response exceeds the defined duration, the assertion will fail, and it can be used to validate the performance of the application under load.
Q.8 Can you explain the Purpose and Use of the Stepping Thread Group?
The Stepping Thread Group is a plugin in JMeter that allows you to configure a gradual ramp-up of threads. It is useful for gradually increasing the load on the server, which can help identify performance bottlenecks more effectively.
Q.9 How do you set a specific delay between thread iterations in a Thread Group?
You can use the Constant Timer or the Uniform Random Timer within the Thread Group to set a delay between iterations of each thread. These timers add a pause between consecutive requests made by a thread.
Q.10 What is the purpose of the Action to be taken after a Sampler error in a Thread Group?
The "Action to be taken after a Sampler error" option in the Thread Group determines the behavior of JMeter when a sampler (e.g., an HTTP request) encounters an error. You can choose to either continue with the test or stop the test entirely after encountering an error.
Q.11 What is a Controller in JMeter?
A Controller in JMeter is an element that helps organize and structure the test plan. It provides logic for managing the flow of requests and controls the behavior of virtual users.
Q.12 What are the different types of Controllers available in JMeter?
JMeter provides various types of Controllers, including Simple Controller, Loop Controller, If Controller, While Controller, Switch Controller, Throughput Controller, and Random Controller, among others.
Q.13 Explain the purpose of the Loop Controller in JMeter.
The Loop Controller allows you to repeat a set of samplers or other controllers a specified number of times. It is useful for creating loops and executing specific test scenarios repeatedly.
Q.14 What is the functionality of the If Controller in JMeter?
The If Controller allows you to include or exclude certain samplers or controllers based on a condition. It evaluates the condition and executes the child elements if the condition is true; otherwise, it skips them.
Q.15 How does the Throughput Controller work in JMeter?
The Throughput Controller allows you to control the number of times a sampler or controller is executed based on a percentage or hit rate. It helps maintain a desired throughput by adjusting the frequency of requests.
Q.16 What is the purpose of the Switch Controller in JMeter?
The Switch Controller acts as a switch statement, allowing you to define multiple paths or scenarios based on different conditions. It evaluates a variable or function and executes the corresponding child element based on the evaluated value.
Q.17 How does the Random Controller function in JMeter?
The Random Controller allows you to execute child elements randomly. Each child element is assigned a weight, and the controller selects elements based on their weights, resulting in random execution order.
Q.18 Explain the functionality of the Interleave Controller in JMeter.
The Interleave Controller cycles through its child elements sequentially, executing one iteration of each child element before moving on to the next iteration. It is useful for alternating between different requests or scenarios.
Q.19 How can you use the Throughput Shaping Timer with Controllers in JMeter?
The Throughput Shaping Timer can be used with Controllers to control the desired throughput of requests. By configuring the desired number of requests per minute or second, you can ensure a specific load on the system.
Q.20 What is the purpose of the Simple Controller in JMeter?
The Simple Controller is a basic container that allows you to group samplers or other controllers together. It is used for organizing and structuring the test plan, providing a logical grouping of related elements.
Q.21 What are Listeners in JMeter?
Listeners in JMeter are components that collect and display test results. They provide real-time information and analysis of the performance test, including response times, error rates, throughput, and other metrics.
Q.22 Name some commonly used Listeners in JMeter.
JMeter provides several Listeners, such as View Results Tree, Aggregate Report, Summary Report, Graph Results, Table Listener, and Backend Listener.
Q.23 What is the purpose of the View Results Tree Listener?
The View Results Tree Listener displays the detailed results of each sample, including request and response data. It is useful for debugging and analyzing individual requests but can consume significant memory and impact performance.
Q.24 How does the Aggregate Report Listener help in performance analysis?
The Aggregate Report Listener summarizes the test results in a tabular format, providing information on average response time, throughput, error count, and more. It helps in analyzing overall performance and identifying bottlenecks.
Q.25 Explain the functionality of the Summary Report Listener.
The Summary Report Listener provides a summary of test results, including statistics like average response time, minimum and maximum response times, and throughput. It gives a high-level overview of the test performance.
Q.26 What is the purpose of the Graph Results Listener in JMeter?
The Graph Results Listener visualizes test results in the form of graphs, allowing you to analyze performance trends over time. It helps in identifying patterns, spikes, and anomalies in response times or throughput.
Q.27 How can you use the Table Listener in JMeter?
The Table Listener displays the test results in a tabular format, similar to a spreadsheet. It provides a detailed view of the data, allowing you to sort and filter the results based on various columns.
Q.28 Explain the functionality of the Backend Listener in JMeter.
The Backend Listener sends test results to external systems, such as databases or monitoring tools, for real-time analysis. It allows you to integrate JMeter with external reporting or analysis systems.
Q.29 How does the Assertion Results Listener help in identifying test failures?
The Assertion Results Listener displays the results of assertions performed during the test. It shows which assertions passed or failed, helping in identifying errors or inconsistencies in the response data.
Q.30 What is the purpose of the Response Time Graph Listener in JMeter?
The Response Time Graph Listener visualizes the response times of each request over time, providing a graphical representation. It helps in monitoring the response time trends and identifying performance issues.
Q.31 What are Timers in JMeter?
Timers in JMeter are elements that introduce delays between requests or control the pace of test execution. They simulate realistic user behavior by adding pauses or think times during test scenarios.
Q.32 How do you add a Timer to a test plan in JMeter?
To add a Timer, you can right-click on a sampler or controller and navigate to "Add" -> "Timer." Then, select the desired Timer element from the list.
Q.33 Explain the purpose of the Constant Timer in JMeter.
The Constant Timer in JMeter adds a fixed delay between consecutive requests made by a thread. It is useful for simulating a specific delay or think time between user actions.
Q.34 How does the Uniform Random Timer work in JMeter?
The Uniform Random Timer introduces a random delay between requests within a specified range. Each thread will have a different delay, adding variability to the test scenario and mimicking user behavior.
Q.35 What is the functionality of the Gaussian Random Timer in JMeter?
The Gaussian Random Timer adds a random delay between requests, following a Gaussian distribution. It allows you to create more realistic scenarios by simulating variable think times similar to real user behavior.
Q.36 How can you use the Constant Throughput Timer in JMeter?
The Constant Throughput Timer allows you to control the number of requests per minute or second, maintaining a constant throughput rate. It helps in load testing scenarios where you want to limit the request rate.
Q.37 Explain the architecture of Jmeter.

Jmeter is an open source application which is Java based, designed for the purpose of Load Testing.

Jmeter supports all major protocols which are supported in Load Runner. But unlike any browser, Jmeter works on different levels of protocols and does not execute JavaScript present in HTML web pages.

Q.38 Explain the purpose of the Synchronizing Timer in JMeter.
The Synchronizing Timer in JMeter allows multiple threads to pause and synchronize at a specific point, creating a moment of simultaneous execution. It is useful for simulating concurrent user behavior.
Q.39 How can Jmeter simulate actual browser behavior?

Jmeter does not support the actual browser behavior as it does not render the HTML webpages as the normal browser.

Such that response can be seen in HTML format but the actual timings are not there in the generated samples.

Q.40 How does the BeanShell Timer function in JMeter?
The BeanShell Timer allows you to execute custom logic using BeanShell scripting language. You can add custom delays or create complex timing scenarios based on your specific requirements.
Q.41 What is the use of Regular Expression in Jmeter?

Regular Expression in Jmeter is used for extracting some values dynamically from the responses with an objective to use to it in the subsequent request or save it for reporting purposes.

Regular Expression is used in both Pre-Processors as well as Post Processors.

Q.42 What is the purpose of the Poisson Random Timer in JMeter?
The Poisson Random Timer adds delays between requests, following a Poisson distribution. It is useful for simulating realistic arrival patterns and creating more accurate load scenarios.
Q.43 What are the different methods used in Data Parametrization in Jmeter?

The objective of data parametrization is to make the scripts reusable where the values need not be hardcoded for the same request with different parameters.

The data parametrization that is supported in JMeter are -

1. CSV Data Set Config

2. User Defined Variables

Q.44 How can you configure a Timer to apply only to specific samplers in JMeter?
By placing the Timer as a child element of the specific sampler or controller, you can ensure that the Timer only applies to those particular elements. This allows you to control timing on a per-request basis.
Q.45 How many maximum threads are recommended on a single system?

The recommendation of maximum threads on a single system is based on the hardware configuration of the system which includes a processor, JVM, allocated memory -Xmx, etc.

There are other factors as well that impact this such as the number of components in the test plan like the number of config elements or processors and it also depends on whether you are using GUI/Non-GUI Mode.

Q.46 What are Assertions in JMeter?
Assertions in JMeter are elements used to validate the response received from the server during performance testing. They enable testers to verify if the server response meets the expected criteria or contains specific patterns or values.
Q.47 What is the difference between Gaussian and Poisson Timers?

Since both Gaussian and Poisson Timers work on a mathematical formula that has some constant delay and additional offset.

The point of difference between the Gaussian and Poisson Timers is because of in the fact that the lambda value is calculated in case of Poisson timer and deviation is calculated in case of Gaussian Timer.

Q.48 How do you add an Assertion to a test plan in JMeter?
To add an Assertion, you can right-click on a sampler or controller in the test plan and navigate to "Add" -> "Assertions." Then, select the desired Assertion element from the list.
Q.49 What is the primary use of co-relation in Jmeter?

Co-relation is basically a process in which the values can be extracted from the server response and stored in a variable which is then then used in any other request which is to follow.

For instance in order to test any login functionality if you have to use session ID/cookie ID , you can then extract the value from the response of GET request of the login page and then dynamically use the same while making POST request for login.

Q.50 Explain the purpose of the Response Assertion in JMeter.
The Response Assertion allows you to validate different aspects of the server response, such as the presence or absence of specific text, response code, response time, or pattern matching using regular expressions.
Q.51 What is the purpose of listeners?

Listeners are majorly used for storing the execution results of load testing in different forms like table, graph, tree or in any other presentable format which can be presented to the client.

There are different type of inbuilt listeners in Jmeter and many others can be imported into it by using plugins as per the requirement.

There are some inbuilt listeners like View Results in Table, View Results Tree, Graph Results, Aggregate Graph, Aggregate Report, Assertion Results and Response Time Graph.

Q.52 What is the functionality of the Duration Assertion in JMeter?
The Duration Assertion checks if the response time of a sampler falls within a specified range. It helps in ensuring that the server responds within an acceptable timeframe, and can be used to identify performance issues.
Q.53 What will be flow of Test Script Recorder?

The Test Script Recorder is majorly used to record all the http(s) request which is going to the server from the application. Such that there are some other configurations that are required to be done in Jmeter in order to make it functional.

We should follow the following steps to record https traffic

1. Firstly add HTTP(s) Test Script Recorder to WorkBench.

2. Then enter the port number which you want to start your proxy server from.

3. Thirdly select the Target either as “Workbench” only or add a Recording Controller in the test plan and select the same as Target so that all the recordings are stored under it.

4. Next start the Proxy Server.

5. Lastly configure the browser with manual proxy settings pointing to the same port number used in the test script recorder.

Q.54 How does the Size Assertion work in JMeter?
The Size Assertion validates the size of the response received from the server, including the number of bytes or characters. It helps in verifying if the response size is as expected, indicating the correctness of the server response.
Q.55 How can Jmeter record actions from Mobile?

Jmeter can record HTTP or https request going to the server from your mobile application also. Therefore Mobile and Jmeter should be on the same network.

The configuration required to record actions from Mobile,

1. First configure the proxy server in JMeter to run at a specified port.

2. Second set up a proxy on the mobile wifi settings and then enter the same port number that is used in the recorder.

3. Third install the Root CA certificate on the mobile.

4. Fourth hit server request from the mobile and observe it getting captured by the specified controller.

Q.56 What is the purpose of the XML Assertion in JMeter?
The XML Assertion validates if the response received from the server is well-formed XML and conforms to a specific XML schema or structure. It ensures that the server is returning valid XML responses.
Q.57 How would you do master-slave configuration in Jmeter?

Master-Slave configuration is considered as a part of Distributed Testing in which case more than one machine is used to perform load testing of the server under test. Such that it becomes important that all machines are on the same network and all have the same version of Jmeter. Also in distributed testing, one machine is made as the Master and the others are kept as slaves by doing some configurations.

Steps to perform master-slave configuration are -

1. Edit the jmeter.properties file on the master machine, and add the IP addresses of slave machines against the remote_host field in the file.

2. Next save the file and open the Jmeter again.

3. Now from the RUN menu in Jmeter, select Remote Start and choose the IP of the machine to be invoked.

4. Choose RUN menu and select Remote Start all to start all the slave machines for testing.

Q.58 Explain the functionality of the JSON Assertion in JMeter.
The JSON Assertion validates if the response received from the server is well-formed JSON and conforms to a specific JSON schema or structure. It helps in verifying the correctness of JSON responses.
Q.59 Would you recommend to run Jmeter in GUI Mode?

Indeed, Jmeter tests can be run both GUI as well as Non-GUI Mode.

But it is recommended to run the load test in Non-GUI mode since AWT Event Thread can kill the tests in case of high load scenarios.

Some of the Non-GUI mode supported with Jmeter such as - Command Line, ANT Plugin, MAVEN Plugin, and Jenkins.

Q.60 How can you use the BeanShell Assertion in JMeter?
The BeanShell Assertion allows you to execute custom logic using BeanShell scripting language. You can define custom validation criteria based on your specific requirements, making it a versatile assertion element.
Q.61 Can to run Selenium scripts in Jmeter?

We can run selenium scripts in Jmeter to get some ideas on their performance.

This can be done by either using Junit libraries to build Selenium scripts and save as Jars and copy the same in Jmeter directory. Else add Junit sampler to the test plan and import the Jar file.

Otherwise, we can add the Webdriver sampler plugin in the JMeter ext folder and then restart the Jmeter. We can then write the selenium code in the Webdriver sampler and then execute to see the performance.

Q.62 What is the purpose of the Compare Assertion in JMeter?
The Compare Assertion compares two server responses to check if they are identical or have specific differences. It helps in validating if the server responses are consistent across different test runs.
Q.63 How can we manage session and cookies in Jmeter?

We can manage the sessions and cookies in Jmeter by using config elements like HTTP Cache Manager which provides an option to clear the cookies in every iteration and also allows to add user-defined cookies.

The HTTP Cache manager primarily helps you in clearing cache after each iteration as per your requirement in the load tests and thereby limit the number of elements that can be stored in the cache. In which case both the config elements can be attached to the HTTP sampler.

Q.64 How can you configure an Assertion to ignore certain parts of the response in JMeter?
By using the "Not" operator or regular expressions, you can configure an Assertion to ignore specific parts of the response. This allows you to focus on validating specific areas while excluding irrelevant data from the validation process.
Q.65 Let us suppose I have multiple screens in my mobile app. Then can Jmeter measure the time taken to flip the screens or can Jmeter measure the performance of a complete application?
At no point of time Jmeter measure the transition time between the screens. As it can only measure the server actions not the UI interactions.
Q.66 What are Configuration Elements in JMeter?
Configuration Elements in JMeter are components that define and modify the behavior of samplers and other elements in the test plan. They allow you to set up variables, headers, cookies, and other configurations required for the test execution.
Q.67 What is the use of Workbench?

Workbench is primarily used as a storage area for adding components that can be added to test plan as and when required.

Such that the components of workbench does not get saved with the test plan automatically. They have to be saved separately as test fragments.

Workbench is known for HTTP(s) Test script recorder which is extremely useful in recording the https request and later load can be applied on them to measure the response time.

Q.68 How do you add a Configuration Element to a test plan in JMeter?
To add a Configuration Element, you can right-click on a sampler or controller in the test plan and navigate to "Add" -> "Config Element." Then, select the desired Configuration Element from the list.
Q.69 Explain the purpose of the HTTP Cookie Manager in JMeter.
The HTTP Cookie Manager manages cookies during HTTP requests. It automatically stores and sends cookies, allowing the test to maintain session state and handle cookie-based authentication.
Q.70 What is the functionality of the CSV Data Set Config in JMeter?
The CSV Data Set Config reads data from a CSV file and provides the values to samplers during the test execution. It is useful for parameterizing test scenarios and using different data sets for each iteration.
Q.71 How does the User Defined Variables Configuration Element work in JMeter?
The User Defined Variables Configuration Element allows you to define custom variables with specific values. These variables can be referenced in other elements, enabling dynamic parameterization and data manipulation.
Q.72 What is the purpose of the HTTP Header Manager in JMeter?
The HTTP Header Manager allows you to add or modify HTTP request headers sent by samplers. It helps in simulating different user agents, authorization headers, or other custom headers required for testing.
Q.73 Explain the functionality of the Counter Config Element in JMeter.
The Counter Config Element generates a unique incrementing or decrementing value for each iteration of a thread. It is useful for creating dynamic variables or generating unique identifiers during test execution.
Q.74 What is the purpose of the JDBC Connection Configuration in JMeter?
The JDBC Connection Configuration allows you to configure a database connection for JDBC samplers. It provides the necessary parameters, such as the database URL, username, and password, for establishing a connection to the database.
Q.75 How can you use the DNS Cache Manager in JMeter?
The DNS Cache Manager resolves DNS names to IP addresses and caches them for subsequent requests. It helps in reducing the DNS lookup time and improving the performance of the test plan.
Q.76 What is the functionality of the FTP Request Defaults Configuration Element in JMeter?
The FTP Request Defaults Configuration Element allows you to set default values for FTP requests, such as the server name, port, username, and password. It avoids repetitive configuration for multiple FTP samplers in the test plan.
Q.77 What are Pre-Processor Elements in JMeter?
Pre-Processor Elements in JMeter are components that are executed before each sampler in a test plan. They enable you to modify or manipulate the requests or variables before they are sent to the server.
Q.78 How do you add a Pre-Processor Element to a test plan in JMeter?
To add a Pre-Processor Element, you can right-click on a sampler or controller in the test plan and navigate to "Add" -> "Pre Processors." Then, select the desired Pre-Processor element from the list.
Q.79 Explain the purpose of the HTTP URL Re-writing Modifier in JMeter.
The HTTP URL Re-writing Modifier modifies the URLs in the HTTP requests, allowing you to dynamically change or manipulate them before they are sent to the server. It helps in handling session IDs or dynamic parameters.
Q.80 What is the functionality of the User Parameters Pre-Processor in JMeter?
The User Parameters Pre-Processor allows you to define user-specific parameters or variables that are specific to each thread. It helps in simulating individual user behavior by passing unique values to each thread.
Q.81 How does the BeanShell Pre-Processor work in JMeter?
The BeanShell Pre-Processor executes custom logic using BeanShell scripting language before each sampler. It enables you to manipulate variables, perform calculations, or modify requests based on specific conditions.
Q.82 What is the purpose of the JSR223 Pre-Processor in JMeter?
The JSR223 Pre-Processor executes custom logic using scripting languages such as Groovy, JavaScript, or Python. It provides flexibility in modifying requests or variables before they are sent to the server.
Q.83 Explain the functionality of the HTML Link Parser Pre-Processor in JMeter.
The HTML Link Parser Pre-Processor extracts links from an HTML response and saves them as JMeter variables. It helps in creating dynamic scenarios by dynamically extracting and using links from a web page.
Q.84 What is the purpose of the Regular Expression Extractor in JMeter?
The Regular Expression Extractor extracts data from a server response using regular expressions. It allows you to capture specific values or patterns from the response and save them as variables for subsequent requests.
Q.85 How can you use the CSV Data Set Config with Pre-Processor Elements in JMeter?
By placing the CSV Data Set Config as a child of a Pre-Processor Element, you can use it to provide dynamic data for each thread. It enables you to parameterize requests or customize behavior based on the data read from the CSV file.
Q.86 What is the functionality of the Random Variable Pre-Processor in JMeter?
The Random Variable Pre-Processor generates random values and saves them as variables. It helps in simulating user behavior that requires random input or generating unique values during the test execution.
Q.87 What are Post-Processor Elements in JMeter?
Post-Processor Elements in JMeter are components that are executed after each sampler in a test plan. They allow you to extract or process data from the server response and perform actions based on that data.
Q.88 How do you add a Post-Processor Element to a test plan in JMeter?
To add a Post-Processor Element, you can right-click on a sampler or controller in the test plan and navigate to "Add" -> "Post Processors." Then, select the desired Post-Processor element from the list.
Q.89 Explain the purpose of the Regular Expression Extractor in JMeter.
The Regular Expression Extractor is a commonly used Post-Processor that extracts data from a server response using regular expressions. It allows you to capture specific values or patterns from the response and save them as variables for further use.
Q.90 What is the functionality of the CSS Selector Extractor in JMeter?
The CSS Selector Extractor extracts data from an HTML response using CSS selectors. It provides an easy and efficient way to extract specific elements or data from the HTML response and save them as variables.
Q.91 How does the XPath Extractor work in JMeter?
The XPath Extractor extracts data from an XML or HTML response using XPath expressions. It enables you to navigate and select specific elements or values from the XML/HTML structure and save them as variables.
Q.92 What is the purpose of the JSON Extractor in JMeter?
The JSON Extractor extracts data from a JSON response using JSONPath expressions. It allows you to parse and retrieve specific data points from the JSON structure and save them as variables for further processing.
Q.93 Explain the functionality of the Boundary Extractor in JMeter.
The Boundary Extractor extracts data from a response by specifying the left and right boundaries of the desired data. It helps in extracting specific portions of text from the response and saving them as variables.
Q.94 What is the purpose of the BeanShell Post-Processor in JMeter?
The BeanShell Post-Processor executes custom logic using BeanShell scripting language after each sampler. It enables you to manipulate variables, perform calculations, or extract specific data from the response based on your requirements.
Q.95 How can you use the Debug Post-Processor in JMeter?
The Debug Post-Processor is used for debugging purposes. It adds the response data, request headers, and other relevant information to the JMeter debug log or output. It helps in troubleshooting and analyzing the test results.
Q.96 What is the functionality of the Result Status Action Handler in JMeter?
The Result Status Action Handler allows you to define actions based on the result status of the previous sampler. You can configure it to perform specific actions, such as branching to different samplers or logging messages, based on the result status (success, failure, error) of the previous request.
Q.97 What is the Execution Order in JMeter?
The Execution Order in JMeter refers to the sequence in which different elements are executed within a test plan. It determines how the requests, timers, assertions, and other components are processed during the test execution.
Q.98 Which element is executed first in JMeter?
The Thread Group is the first element that is executed in JMeter. It sets the initial configuration and controls the number of threads, ramp-up period, and loop count for the test plan.
Q.99 What is the role of Controllers in the Execution Order?
Controllers in JMeter determine the flow and logic of the test execution. They decide which samplers, timers, and other elements are executed and in what order. Controllers can be used to define loops, conditions, and branching within the test plan.
Q.100 How are Samplers executed within a Thread Group?
Samplers within a Thread Group are executed sequentially based on the order in which they are placed. Each thread in the Thread Group executes the samplers one by one, following the logic defined by the controllers.
Q.101 Which programming language does JMeter is based on?
Jmeter is based on Java programming language and not on other programming languages.
Q.102 When are Timers executed in JMeter?
Timers in JMeter are executed before each sampler within a Thread Group. They introduce delays or think times between requests, ensuring that the test scenario simulates realistic user behavior.
Q.103 Which XML parser is present in Jmeter?
JMeter comes with Apache's Xerces XML parser and not with other listed options.
Q.104 What is the order of execution for Assertions in JMeter?
Assertions in JMeter are executed after each sampler. They validate the server response and check if it meets the specified criteria. Assertions help in verifying the correctness of the response received from the server.
Q.105 What is the default protocol used when testing a web server using SSL encryption?
TLS is used when testing a web server using SSL encryption
Q.106 How are Pre-Processor Elements executed in JMeter?
Pre-Processor Elements in JMeter are executed before each sampler. They can modify or manipulate the requests or variables before they are sent to the server. Each Pre-Processor element is executed sequentially before the associated sampler.
Q.107 Which file extension is accepted by JMeter for JDBC driver?
Jar
Q.108 What is the order of execution for Post-Processor Elements?
Post-Processor Elements in JMeter are executed after each sampler. They extract or process data from the server response and perform actions based on that data. Post-Processor elements are executed sequentially after the associated sampler.
Q.109 What is the first step you want to do with every JMeter FTP Test Plan?
Add jmeter.properties file in lib
Q.110 When are Listeners executed in JMeter?
Listeners in JMeter are executed after each sampler. They collect and display the results of the test execution, including response times, throughput, error rates, and other performance metrics. Listeners provide real-time feedback on the test progress.
Q.111 What happens if an undefined function or variable is referenced?
If an undefined function or variable is referenced, JMeter does not report/log an error - the reference is returned unchanged.
Q.112 What is the last element to be executed in JMeter?
The last element to be executed in JMeter is typically the Test Action or Shutdown Thread Group element. These elements are used to control the termination of the test plan, either by stopping the test abruptly or allowing the threads to finish gracefully.
Q.113 How many JMS samplers can be used in Jmeter?
1
Q.114 What are Scoping Rules in JMeter?
Scoping Rules in JMeter determine the visibility and accessibility of elements within a test plan. They define the boundaries within which elements can be accessed and executed, ensuring proper encapsulation and control over the test execution flow.
Q.115 What is the default port for LDAP over SSL
The default port for LDAP over SSL is 625
Q.116 How do Scoping Rules affect the visibility of elements in JMeter?
Scoping Rules define the visibility of elements within their respective scopes. Elements can only be accessed and executed within the scope they belong to, and they are not visible or accessible outside of their scope.
Q.117 What is the highest level of scope in JMeter?
The highest level of scope in JMeter is the Test Plan level. Elements placed directly under the Test Plan are accessible from anywhere within the test plan and have the broadest visibility.
Q.118 How does the Thread Group level scope work in JMeter?
Elements placed directly under a Thread Group have access and visibility only within that specific Thread Group. They are not visible or accessible from other Thread Groups or elements outside the Thread Group.
Q.119 What is the significance of the Controller level scope in JMeter?
Elements placed directly under a Controller (e.g., Loop Controller, If Controller) have access and visibility only within that specific Controller. They are not visible or accessible from other Controllers or elements outside the Controller.
Q.120 Explain the impact of scoping rules on variables in JMeter.
Variables in JMeter follow scoping rules, meaning they are only accessible within their respective scope. Variables defined at the Test Plan level are accessible throughout the entire test plan, while variables defined within a Thread Group or Controller are accessible only within that specific scope.
Q.121 How does scoping affect the execution of elements in JMeter?
Scoping rules ensure that elements are executed only within their scope. Elements outside the current scope are not executed or considered during the test execution, allowing for fine-grained control over the flow of execution.
Q.122 Can elements from one Thread Group access elements from another Thread Group?
By default, elements from one Thread Group cannot directly access elements from another Thread Group. Each Thread Group operates independently, and elements are confined to their own scope. However, communication between Thread Groups can be achieved through shared resources like variables or properties.
Q.123 How can you override scoping rules in JMeter?
Scoping rules can be overridden by using elements such as Include Controller or Module Controller. These elements allow you to include or reference elements from different scopes, enabling cross-scope access and reuse of test plan components.
Q.124 What is the scoping rule for elements placed under a Test Fragment in JMeter?
Elements placed under a Test Fragment follow the scoping rules of the element that references or includes the Test Fragment. They inherit the visibility and accessibility of the element that encapsulates the Test Fragment.
Q.125 What are Properties and Variables in JMeter?
Properties and Variables in JMeter are used to store and manage dynamic values during the test execution. They provide flexibility and enable parameterization of test plans, allowing for customization and adaptability.
Q.126 How are Properties different from Variables in JMeter?
Properties in JMeter are global and can be accessed from anywhere within the test plan. They are typically defined in the "jmeter.properties" file and can be modified before running the test. Variables, on the other hand, have a local scope and are specific to a particular thread or controller.
Q.127 How can you define a Property in JMeter?
Properties in JMeter are defined in the "jmeter.properties" file, located in the JMeter installation directory. You can add or modify properties in this file using a text editor.
Q.128 What is the syntax to access a Property in JMeter?
Properties in JMeter can be accessed using the syntax "${__P(propertyName)}". This syntax is used to reference the value of a property in various JMeter elements, such as samplers, controllers, or assertions.
Q.129 How are Variables defined in JMeter?
Variables in JMeter can be defined at various levels, such as Test Plan, Thread Group, or Controller. They can be created using the User Defined Variables configuration element or by referencing them within a BeanShell or JSR223 script.
Q.130 What is the syntax to access a Variable in JMeter?
Variables in JMeter can be accessed using the syntax "${variableName}". This syntax is used to reference the value of a variable in JMeter elements like samplers, controllers, or assertions.
Q.131 How can you modify the value of a Variable during the test execution?
The value of a variable in JMeter can be modified using the User Defined Variables configuration element, BeanShell or JSR223 script, or by using functions like "__setProperty" or "__setPropertyThreadLocal".
Q.132 Can Variables be shared between threads in JMeter?
By default, Variables in JMeter have thread-local scope and are not shared between threads. However, you can use properties or functions like "__setProperty" and "__setPropertyThreadLocal" to share variables across threads.
Q.133 How are Variables used for parameterization in JMeter?
Variables in JMeter are commonly used for parameterization, where they are assigned different values for each thread or iteration. This allows for dynamic input and data-driven testing by using variables to represent different data sets or user inputs.
Q.134 Can you override the value of a Variable within a Thread Group in JMeter?
Yes, the value of a Variable can be overridden within a Thread Group. Variables can be defined at different levels, and if a variable with the same name is defined at a lower level (e.g., Thread Group or Controller), it takes precedence over the higher-level definition.
Q.135 Why is parameterization important in JMeter?
Parameterization is important in JMeter because it allows you to simulate real-world scenarios by using different values for each iteration or thread. It helps in creating dynamic and realistic test data, improving the accuracy and effectiveness of performance testing.
Q.136 How can you use variables to parameterize tests in JMeter?
Variables in JMeter can be used to store and assign dynamic values to different test elements. By referencing variables in various fields, you can input different values for each iteration or thread, enabling parameterization of tests.
Q.137 What are the benefits of using variables for parameterization in JMeter?
Using variables for parameterization in JMeter offers several benefits: Flexibility: Variables allow you to easily modify and manage test data without changing the test plan structure. Reusability: Variables can be reused across multiple test elements, reducing redundancy and improving maintainability. Scalability: With variables, you can easily scale up the number of iterations or threads while maintaining dynamic data input. Data-driven testing: Variables enable data-driven testing by using different sets of data for each iteration or thread.
Q.138 How do you define and assign values to variables in JMeter?
Variables can be defined and assigned values in JMeter using different approaches: User Defined Variables: Use the User Defined Variables configuration element to define variables and assign values directly in JMeter. Beanshell/JSR223 scripts: Use scripting languages like Beanshell or JSR223 to dynamically assign values to variables based on custom logic or calculations. CSV Data Set Config: Use the CSV Data Set Config element to read values from a CSV file and assign them to variables for parameterization.
Q.139 Can you provide an example of using variables to parameterize tests in JMeter?
Sure! Let's say you have a login request where you want to test with different usernames and passwords. You can define variables like ${username} and ${password} in the User Defined Variables element and assign different values to them for each iteration or thread.
Q.140 How can variables be used to simulate different user inputs in JMeter?
Variables can represent different user inputs by assigning values like usernames, passwords, email addresses, or any other relevant data. By using variables in the corresponding test elements, you can simulate a variety of user scenarios during the test execution.
Q.141 How can you use variables to dynamically generate random values in JMeter?
JMeter provides functions like __RandomString or __Random that generate random values. By assigning these functions to variables, you can dynamically generate random values for parameterization during the test execution.
Q.142 Can you change the value of a variable during the test execution?
Yes, the value of a variable can be changed during the test execution. You can use functions like __setProperty or __setPropertyThreadLocal to update the value of a variable dynamically within a test plan.
Q.143 How can variables be shared across different thread groups in JMeter?
By default, variables have thread-local scope and are not shared across different thread groups. However, you can use properties to share variables across threads by using functions like __setProperty or __setPropertyThreadLocal.
Q.144 What are the considerations for using variables for parameterization in distributed testing?
In distributed testing, where JMeter runs tests on multiple remote servers, it's important to ensure that variables are properly synchronized and consistent across the distributed nodes. You may need to use properties or external data sources for sharing and synchronizing variables across the distributed environment.
Q.145 What are the different types of tests that can be performed using JMeter?
JMeter can perform several types of tests, including load testing, stress testing, functional testing, and regression testing.
Q.146 What is a thread group in JMeter?
A thread group is a collection of users that simulate the behavior of real users. It is the main element that controls how JMeter will send requests to a server.
Q.147 What is the purpose of a sampler in JMeter?
A sampler is used to send requests to a server and to collect responses from the server.
Q.148 What is the difference between a thread and a user in JMeter?
A thread is a virtual user that simulates the behavior of a real user. A user is a real person who interacts with an application.
Q.149 What is a listener in JMeter?
A listener is used to collect and display the results of a test run.
Q.150 What is a timer in JMeter?
A timer is used to control the time delay between requests.
Q.151 How can you parameterize a request in JMeter?
You can parameterize a request by using variables. Variables can be defined in JMeter and used in requests.
Q.152 What is correlation in JMeter?
Correlation is used to extract dynamic values from a response and use them in subsequent requests.
Q.153 What is assertion in JMeter?
Assertion is used to verify that a response meets certain criteria, such as the presence of a particular string in the response.
Q.154 What is throughput in JMeter?
Throughput is the number of requests that can be processed in a given time.
Q.155 What is latency in JMeter?
Latency is the time taken for a request to reach the server and get a response.
Q.156 What is ramp-up time in JMeter?
Ramp-up time is the time taken for all the threads in a test group to start making requests.
Q.157 What is the purpose of a CSV data set config in JMeter?
A CSV data set config is used to read data from a CSV file and use it in requests.
Q.158 How can you distribute load across multiple servers using JMeter?
You can use the distributed testing feature in JMeter to distribute load across multiple servers.
Q.159 What is the purpose of the HTTP cookie manager in JMeter?
The HTTP cookie manager is used to manage cookies sent by the server.
Q.160 What is the purpose of the HTTP header manager in JMeter?
The HTTP header manager is used to manage HTTP headers in requests.
Q.161 What is the purpose of the transaction controller in JMeter?
The transaction controller is used to group several requests into a single transaction.
Q.162 What is the purpose of the constant throughput timer in JMeter?
The constant throughput timer is used to control the rate at which requests are sent to a server.
Q.163 What is the purpose of the summary report listener in JMeter?
The summary report listener is used to display the summary of the test results. It shows the number of requests, average response time, and more.
Q.164 What is the purpose of the JMeter plug-in manager and how can you use it?
The JMeter plug-in manager is a tool that allows you to install and manage JMeter plug-ins. You can use it to add new functionality to JMeter, such as additional samplers or listeners.
Q.165 How can you test an application that requires user authentication in JMeter?
You can test an application that requires user authentication by using the HTTP authorization manager in JMeter. This manager allows you to specify the credentials required for authentication.
Q.166 What is the purpose of the JMeter script recorder and how can you use it?
The JMeter script recorder is a tool that allows you to record user interactions with a web application and create a JMeter test plan based on those interactions. You can use it to quickly create a test plan for a web application.
Q.167 How can you simulate a realistic user load in JMeter?
You can simulate a realistic user load in JMeter by using a combination of thread groups, ramp-up time, and loop counts. You can also use the pacing timer to simulate realistic think time between requests.
Q.168 What is the purpose of the JMeter command-line interface and how can you use it?
The JMeter command-line interface allows you to run JMeter tests from the command line, which is useful for automating tests and integrating JMeter with other tools. You can use it to run tests in headless mode, or to run tests as part of a continuous integration pipeline.
Q.169 How can you use JMeter to test an API?
You can use JMeter to test an API by creating HTTP requests that correspond to the API endpoints, and by specifying the required parameters in those requests. You can use assertions to verify that the responses meet the expected criteria.
Q.170 What is the purpose of the JMeter dashboard report and how can you generate it?
The JMeter dashboard report is a customizable report that displays the results of a JMeter test run in a visual format. You can generate it by using the JMeter command-line interface or by using the JMeter GUI.
Q.171 What is the purpose of the JMeter distributed testing feature and how can you use it?
The JMeter distributed testing feature allows you to run a test plan on multiple JMeter instances, which can be useful for testing applications that require a large number of virtual users. You can use it by setting up a master-slave configuration and distributing the test plan among the slave nodes.
Q.172 How can you use JMeter to test the performance of a database server?
You can use JMeter to test the performance of a database server by using the JDBC request sampler to send SQL queries to the server. You can use listeners to collect and display the results of the test.
Q.173 How can you use JMeter to test the performance of a web service?
You can use JMeter to test the performance of a web service by creating SOAP or REST requests that correspond to the service operations, and by specifying the required parameters in those requests. You can use assertions to verify that the responses meet the expected criteria.
Q.174 What is the purpose of the JMeter variable and how can you use it in your test plan?
JMeter variables allow you to store and reuse values throughout your test plan, which can be useful for parameterization and data-driven testing. You can use variables to store values extracted from responses, to generate random data, or to read data from external sources such as CSV files.
Q.175 How can you simulate a realistic network bandwidth in JMeter?
You can simulate a realistic network bandwidth in JMeter by using the bandwidth shaping timer. This timer allows you to specify the desired network speed and latency for your requests, which can be useful for testing applications that rely on slow or unstable connections.
Q.176 What is the purpose of the JMeter cookie manager and how can you use it?
The JMeter cookie manager is a tool that allows you to manage cookies in your test plan. You can use it to simulate user sessions that rely on cookies, or to manipulate cookies for testing purposes.
Q.177 How can you use JMeter to test the performance of a streaming service?
You can use JMeter to test the performance of a streaming service by using the TCP sampler to send and receive data over a socket connection. You can use listeners to collect and display the results of the test.
Q.178 What is the purpose of the JMeter assertion and how can you use it in your test plan?
JMeter assertions allow you to verify that the responses of your requests meet certain criteria, which can be useful for ensuring the correctness of your application. You can use assertions to check for the presence or absence of specific text or patterns in the response, to verify the status code or headers of the response, or to validate the XML or JSON structure of the response.
Q.179 How can you use JMeter to test the performance of a streaming video service?
You can use JMeter to test the performance of a streaming video service by using the HTTP request sampler to simulate the requests made by a video player, and by using the TCP sampler to simulate the data transfer. You can use listeners to collect and display the results of the test.
Q.180 How can you use JMeter to test the performance of a messaging service?
You can use JMeter to test the performance of a messaging service by using the JMS point-to-point or pub-sub samplers to send and receive messages. You can use listeners to collect and display the results of the test.
Q.181 What is the purpose of the JMeter regular expression extractor and how can you use it in your test plan?
The JMeter regular expression extractor allows you to extract specific values from the response of your requests, which can be useful for parameterization and data-driven testing. You can use regular expressions to specify the patterns to match and the groups to capture.
Q.182 How can you use JMeter to test the performance of a mobile application?
You can use JMeter to test the performance of a mobile application by capturing and analyzing the network traffic generated by the application, and by using the appropriate JMeter samplers to simulate that traffic. You can use listeners to collect and display the results of the test.
Q.183 What is the purpose of the JMeter timer and how can you use it in your test plan?
JMeter timers allow you to specify the pacing and concurrency of your requests, which can be useful for simulating realistic user behavior. You can use timers to introduce think time between requests, to simulate bursts of traffic, or to synchronize multiple requests.
Q.184 How can you use JMeter to test the performance of a web application that uses WebSockets?
You can use JMeter to test the performance of a web application that uses WebSockets by using the WebSocket sampler to send and receive messages over a WebSocket connection. You can use listeners to collect and display the results of the test.
Q.185 How can you use JMeter to test the performance of a web application that uses AJAX?
You can use JMeter to test the performance of a web application that uses AJAX by using the HTTP request sampler to simulate the requests made by the browser, and by using the Regular Expression Extractor to extract the values needed for subsequent requests. You can use listeners to collect and display the results of the test.
Q.186 How can you use JMeter to test the performance of a RESTful web service?
You can use JMeter to test the performance of a RESTful web service by using the HTTP request sampler to send HTTP requests to the service, and by using the JSON Path Extractor to extract the values needed for subsequent requests. You can use listeners to collect and display the results of the test.
Q.187 How can you use JMeter to test the performance of a SOAP web service?
You can use JMeter to test the performance of a SOAP web service by using the SOAP/XML-RPC Request sampler to send SOAP requests to the service, and by using the XPath Extractor to extract the values needed for subsequent requests. You can use listeners to collect and display the results of the test.
Q.188 How can you use JMeter to test the performance of a database?
You can use JMeter to test the performance of a database by using the JDBC Request sampler to execute SQL statements against the database, and by using the Result Set Handler to extract the results of the query. You can use listeners to collect and display the results of the test.
Q.189 What is the purpose of the JMeter user parameter and how can you use it in your test plan?
JMeter user parameters allow you to specify custom variables for each user in your test plan, which can be useful for simulating realistic user behavior. You can use user parameters to store user-specific data such as usernames, passwords, or session IDs.
Q.190 How can you use JMeter to test the performance of a website with multiple user roles?
You can use JMeter to test the performance of a website with multiple user roles by using the CSV Data Set Config element to read data from a CSV file that contains different login credentials for each user role, and by using the User Defined Variables element to define variables for each role. You can use listeners to collect and display the results of the test.
Q.191 How can you use JMeter to test the performance of a website with dynamic content?
You can use JMeter to test the performance of a website with dynamic content by using the Regular Expression Extractor to extract the dynamic values needed for subsequent requests, and by using the While Controller to repeat the requests until the expected response is received. You can use listeners to collect and display the results of the test.
Q.192 How can you use JMeter to test the performance of a website with multiple language versions?
You can use JMeter to test the performance of a website with multiple language versions by using the CSV Data Set Config element to read data from a CSV file that contains different language preferences for each user, and by using the HTTP Header Manager to set the Accept-Language header for each request. You can use listeners to collect and display the results of the test.
Q.193 How can you use JMeter to test the performance of a website with SSL/TLS encryption?
You can use JMeter to test the performance of a website with SSL/TLS encryption by importing the SSL/TLS certificate into the JMeter keystore, and by setting the protocol and cipher suites in the SSL Manager. You can use listeners to collect and display the results of the test.
Q.194 How can you use JMeter to test the performance of a website with multiple authentication methods?
You can use JMeter to test the performance of a website with multiple authentication methods by using the HTTP Authorization Manager to set the authentication credentials for each request, and by using the If Controller to handle different response codes for successful and unsuccessful authentication. You can use listeners to collect and display the results of the test.
Q.195 How can you use JMeter to test the performance of a website with CAPTCHA protection?
You can use JMeter to test the performance of a website with CAPTCHA protection by using a third-party service such as DeathByCaptcha or 2Captcha to bypass the CAPTCHA challenge, and by using the Regular Expression Extractor to extract the response token needed for subsequent requests. You can use listeners to collect and display the results of the test.
Q.196 How can you use JMeter to test the performance of a website with rate limiting?
You can use JMeter to test the performance of a website with rate limiting by using the Constant Throughput Timer to set the maximum number of requests per second, and by using the Response Assertion to handle the rate limit exceeded error. You can use listeners to collect and display the results of the test.
Q.197 How can you use JMeter to test the performance of a website with IP address restrictions?
You can use JMeter to test the performance of a website with IP address restrictions by using a proxy server such as Charles Proxy or Fiddler to intercept and modify the IP address of the requests, and by using the Regular Expression Extractor to extract the response token needed for subsequent requests. You can use listeners to collect and display the results of the test.
Q.198 How can you use JMeter to test the performance of a website with complex workflows?
You can use JMeter to test the performance of a website with complex workflows by using the Transaction Controller to group together related requests, and by using the Logic Controllers such as the If Controller and the While Controller to handle conditional and looping behavior. You can use listeners to collect and display the results of the test.
Q.199 How can you use JMeter to test the performance of a website with heavy server-side processing?
You can use JMeter to test the performance of a website with heavy server-side processing by using the Constant Timer to add think time between requests, and by using the BeanShell Sampler to execute custom Java code that can simulate the processing load. You can use listeners to collect and display the results of the test.
Q.200 How can you use JMeter to test the performance of a website with rich media content?
You can use JMeter to test the performance of a website with rich media content by using the HTTP Request Sampler to simulate the requests made by the browser, and by using the HTTP Cache Manager to simulate the browser cache. You can use listeners to collect and display the results of the test.
Q.201 How can you use JMeter to test the performance of a website with third-party integrations?
You can use JMeter to test the performance of a website with third-party integrations by using the HTTP Request Sampler to simulate the requests made to the third-party services, and by using the JSR223 Sampler to execute custom code that can handle the responses.
Q.202 What is Apache JMeter testing?

Apache JMeter testing involves using the open source Apache JMeter software for testing of software application. Apache JMeter testing is applied for performance check of both static and dynamic resources.  Apache JMeter simulates a heavy load on application, to test its strength or to analyze overall performance under different load types.

Apache JMeter is widely used for performance testing of web applications. Apache JMeter is open source software and made in Java programming language.

Q.203 Is JMeter easy to learn?

Yes, Apache JMeter is very easy to learn if you are conversant with Java programming language. Detailed documentation with examples and use cases are listed on Apache JMeter website at link - https://ApacheJMeter.apache.org/index.html

Various websites also list tutorials, videos and examples on using Apache JMeter, as - https://www.vskills.in/certification/tutorial/information-technology/ApacheJMeter-tester-certification/

Q.204 How JMeter is used for performance testing?

Apache JMeter tests performance by load testing the functional behavior of software application and measuring performance. Apache JMeter tests performance both on static and dynamic resources. Apache JMeter is widely used for performance testing of web applications.

Apache JMeter simulates a heavy load on application, to test its strength or to analyze overall performance under different load types.

Conducting performance testing by Apache JMeter requires, Apache JMeter test plan to be created. A Apache JMeter test plan lists steps which Apache JMeter will run, when Apache JMeter is executed.

A Apache JMeter test plan has

  • Thread Groups
  • logic controllers
  • sample generating controllers
  • listeners
  • timers
  • assertions
  • configuration elements

Q.205 What is JMeter and how it works?

JMeter is actually, Apache JMeter and is open source software application to conduct performance test on software applications. Apache JMeter is extensively used for performance testing of web applications.

Apache JMeter works by executing a test plan, made by test engineer or manager. The Apache JMeter test plan lists steps to execute. A Apache JMeter test plan has

  • Thread Groups
  • logic controllers
  • sample generating controllers
  • listeners
  • timers
  • assertions
  • configuration elements

Apache JMeter can conduct multiple test types, for Web (HTTP/HTTPS), FTP, JDBC, LDAP, Database, Mail (SMTP/POP3) , REST.

Q.206 Which is better LoadRunner vs JMeter?

JMeter is better, considering no purchase cost, huge support and available documentation.

JMeter also scores more against LoadRunner as, JMeter can

  • conduct multiple test types, for Web (HTTP/HTTPS), FTP, JDBC, LDAP, Database, Mail (SMTP/POP3), REST.
  • supports multiple operating system
  • based on popular Java programming language
  • has CLI and GUI mode
Q.207 Does JMeter require coding?

To a minimum, Apache JMeter GUI minimizes the amount of coding needed to prepare a test plan.  Apache JMeter does performance testing by executing test plans. Preparing the Apache JMeter test plan in central to Apache JMeter.

But validation, verification or customization of test plan require coding for quick and effective Apache JMeter testing.

Q.208 Why JMeter is better than LoadRunner?

Apache JMeter is better than LoadRunner as

  • being open source no purchase cost is involved
  • documentation and huge support for Apache JMeter present globally by volunteers
  • easily customized as per need


Apache JMeter also can

  • Do multiple test types, for Web (HTTP/HTTPS), FTP, JDBC, LDAP, Database, Mail (SMTP/POP3), REST.
  • runs on multiple operating system
  • uses popular Java programming language
  • provides both CLI and GUI mode
Q.209 Which language is used in JMeter?

Apache JMeter uses Java programming language.  

Apache JMeter tests performance by executing test plans.  Apache JMeter GUI reduces coding to prepare a test plan. With Apache JMeter GUI very less coding in Java programming language, is needed.

Apache JMeter tests the functional behavior of software application and measures its performance. Apache JMeter tests performance both on static and dynamic resources. Apache JMeter is widely used for performance testing of web applications.

Q.210 Why do we use JMeter?

Apache JMeter does performance testing by load testing the functional behavior of the software application and measures performance. Apache JMeter tests performance both on static and dynamic resources. Apache JMeter is widely used for performance testing of web applications.

Apache JMeter is used by users across the globe due to

  • Open source, no purchase cost
  • Wide availability of tutorials, videos, etc
  • Extensive documentation
  • Worldwide volunteers resolve issues

Q.211 How do I start Apache JMeter?

Apache JMeter can be started in CLI Mode and GUI Mode

Execute jmeter.bat (on Windows) or jmeter (for Unix/Linux) file in bin directory. By default GUI Mode opens up.

For CLI or command line mode run the above files in bin directory, with –n flag.

CLI mode is used to run the test plans.

Q.212 Can JMeter be used for .NET applications?

Yes, Apache JMeter tests the functional behavior of .Net application and its performance. Apache JMeter tests performance both on static and dynamic resources. Apache JMeter is widely used for performance testing of web applications.

Apache JMeter can be used for

  • Load Testing ASP.NET Sites
  • Load Testing ASP.NET Web Applications
  • Stress Testing ASP.NET
  • Sending HTTP POST Request to an ASP.NET web-site
  • ASP.NET WebForms Authentication
Q.213 What is JMeter in selenium?

Both, Apache JMeter and Selenium can be integrated. Using Selenium in Apache JMeter, by using Apache JMeter WebDriver plugin.

Copy the files of WebDriver plugin to libs and ext directory of Apache JMeter. In Apache JMeter GUI, web browser specific tests can be executed like Chrome test / Firefox test, etc.

Q.214 Is JMeter used for functional testing?

Yes, Apache JMeter can test functional behavior of software application and its performance. Apache JMeter tests performance both on static and dynamic resources. Apache JMeter is widely used for performance testing of web applications.

Apache JMeter is open source software and hence user can customize as per their needs.

Q.215 How many users can JMeter simulate?

Apache JMeter can simulate unlimited number of users.

Number of users is specified by the number of threads, in a test plan.  

But, remember that the thread count is limited by the hardware resources of the computer machine the test is conducted and number of file descriptors else, testing speed will degrade.

Limitation can be circumvented by conducting distributed Apache JMeter tests or using cloud solutions.

Q.216 Can we automate JMeter?

Yes, we can automate Apache JMeter.

Automation can be implemented in Apache JMeter by

  • Integrating with Maven under continuous testing of DevOps
  • Using Apache JMeter GUI for test plan creation, reducing test plan development.
  • Saving and managing frequent test plans
  • Using Robotic Process Automation tool

Q.217 Who uses JMeter?

Apache JMeter is used by software development companies across the globe like IBM, Oracle, Capgemini, TCS, etc.

Apache JMeter is used to test functional behavior of software application and its performance. Apache JMeter tests performance both on static and dynamic resources. Apache JMeter is widely used for performance testing of web applications.

Q.218 Can JMeter be used for API testing?

Yes, Apache JMeter supports testing of SOAP / REST Web services.

Performance testing of RESTful API can be done by Apache JMeter.

Q.219 Who developed JMeter?

Stefano Mazzocchi, working at Apache Software Foundation, developed Apache JMeter.

Apache Software Foundation later redesigned Apache JMeter’s GUI and to added functional-testing capabilities.

Apache JMeter is open source software and hence user can customize as per their needs.

Q.220 Is JMeter a good tool?

Yes, of course Apache JMeter is a good tool.

Apache JMeter is good tool because

  • Open source so, no purchase cost
  • Can do multiple test types, for Web (HTTP/HTTPS), FTP, JDBC, LDAP, Database, Mail (SMTP/POP3), REST.
  • runs on multiple operating system
  • uses popular Java programming language
  • provides both CLI and GUI mode
Q.221 Which tool is best for performance testing?

Apache JMeter is the best tool for performance testing.

Apache JMeter scores the most marks as

  • Open source so, no purchase cost
  • Can do multiple test types, for Web (HTTP/HTTPS), FTP, JDBC, LDAP, Database, Mail (SMTP/POP3), REST.
  • runs on multiple operating system
  • uses popular Java programming language
  • provides both CLI and GUI mode
Q.222 Is JMeter an automation tool?

Yes, Apache JMeter is automation tool which automates performance testing.

You can easily create a test plan or steps for executing a performance test on software application by Apache JMeter GUI.

You can also integrate Apache JMeter with Maven for continuous testing under DevOps and automate performance testing.

Q.223 Is coding required for performance testing?

Yes, depending upon performance testing tool being used.

Apache JMeter performance testing tool is open source toll which has very low coding requirement. Apache JMeter GUI minimizes the amount of coding needed to prepare a test plan.  Apache JMeter does performance testing by executing test plans. Preparing the Apache JMeter test plan in central to Apache JMeter.

But validation, verification or customization of test plan require coding for quick and effective Apache JMeter testing.

Q.224 What is JMeter script?

Apache JMeter script stores actions a user would take in the application being tested. This helps in validating user behavior and application performance under different load conditions.

Script helps in replaying user actions so as to better test the application for more used functionality of the software application.

Q.225 How do I open JMeter in non GUI?

For opening Apache JMeter in non GUI or CLI (command line )mode run Apache JMeter.bat (on Windows) or Apache JMeter (for Unix/Linux) file in bin directory, with –n flag.

Non GUI or CLI mode is used to run the test plans.

Q.226 What is JTL file in JMeter?

JTL file in Apache JMeter, is the Apache JMeter Text Logs or JTL files. It stores result of the test runs.

JTL is the default extension and any other extension can also be selected before test execution.

If same JTL file is mentioned for different test runs, Apache JMeter appends resultant data at end of the same file.

Q.227 How do I record in JMeter?

Apache JMeter can record tests by using the Test Script Recorder. The web browser used to record user actions, should be configured to use proxy server for web requests.

Steps for recording in Apache JMeter -

1.    Select Recording template in Apache JMeter GUI
2.    Configure  HTTP Request Defaults element
3.    Click Start button in HTTP(S) Test Script Recorder
4.    Configure browser to use the Apache JMeter Proxy
5.    Record user actions by clicking Run then, Start

Q.228 What is the latest JMeter version?

The latest Apache JMeter version is 5.1.1, as on date and was released on 19-March, 2019.

The latest Apache JMeter version 5.1.1, requires Java 8 and above.

The Apache JMeter version 5.1.1 has further enhancement from the base version of Apache JMeter version 5

Apache JMeter is open source software and hence user can customize as per their needs.

Q.229 What is throughput in JMeter?

Throughput is, number of incoming requests being served or successfully processed and output sent, as per set parameters, with in a time span like seconds or minutes or even hours.

As per Apache JMeter documentation,  throughput is requests/unit of time.

In Apache JMeter the unit of time taken for calculating the throughput, is from start of the first sample to the end of the last sample. This time span includes intervals between samples.

The Apache JMeter throughput formula is: Throughput = (number of requests) / (total time).

Q.230 What we can do with JMeter?

We can do performance testing with Apache JMeter . Apache JMeter is an open source software application. Apache JMeter can do load testing of the functional behavior of the software application under test. Apache JMeter  also logs the test result for measuring the performance.

Apache JMeter can be used to test performance both on static and dynamic resources.

Apache JMeter has extensive usage in performance testing of web applications.

Q.231 How does JMeter calculate concurrent users?

Concurrent users in Apache JMeter points to multiple users doing same operation at same time like 100s of users logging into software application, at same time or concurrently.

Number of threads in Apache JMeter simulates concurrent connection to the application under test. It can be configured in Apache JMeter test plan for conducting concurrent users test. Configure concurrent thread group for concurrent users in Apache JMeter.

Calculating concurrent users, is bit tricky as we can only guess the number of concurrent users and it will be good if we make a guess objectively.  Calculating concurrent users in Apache JMeter can be done by dividing unique visitors by their visit duration like 100 unique visitors per minute with 10 minutes per visit results in 10 concurrent user per minute (100/10).

Q.232 How many threads can JMeter handle?

Apache JMeter can handle unlimited threads as it is influenced by hardware capabilities and test plan design.  

Correctly sizing the number of threads in Apache JMeter prevents memory related issues

Distributed or cloud based testing can circumvent hardware capabilities but test plan design is crucial in threads Apache JMeter can handle.

We can specify Number of threads in Apache JMeter. Multiple threads simulate concurrent connection to application under test.

Q.233 What are JMeter threads?

Apache JMeter thread execute test plan entirely and independently of other threads. Each Apache JMeter thread usually indicates a single user, interacting with application under test.

Apache JMeter thread is controlled by Apache JMeter thread group by setting following options

  • Number of Apache JMeter threads
  • Ramp up period for Apache JMeter thread
  • Number of times test should be executed

Q.234 Can we integrate selenium with JMeter?

Yes, Apache JMeter and Selenium can be integrated. Use Selenium in Apache JMeter, by making use of Apache JMeter WebDriver plugin.

Copy the files of WebDriver plugin to libs and ext directory of Apache JMeter. In Apache JMeter GUI, web browser specific tests can be executed like Chrome test / Firefox test, etc.

Q.235 What is JMeter load time?

Load time usually refers to time needed to load a web page but in Apache JMeter it refers to elapsed time.

Load time or elapsed time in Apache JMeter is the total time before a request is sent and after the response is received.

Multiple threads simulate multiple connections or users, to application under test. Apache JMeter load time refers to request send by a thread and response received by the thread.

Apache JMeter load time = time after the response is received - time before a request is sent 

Q.236 What is test plan and workbench in JMeter?

Apache JMeter test plan stores all individual elements needed to run the test. It  has all elements and their configuration needed to execute test,  by Apache JMeter on application under test (AUT).  

A test plan has

  • Thread group having multiple threads, simulating multiple connections / users. We can configure count of threads, ramp up period (time to activate all threads) and number of time to execute the test.
  • Sampler – which send request and wait for response. Different types are as per need like HTTP/FTP/LDAP, etc
  • Logic controller  - used to control when to send request
  • Listener – gather test result and can output graph/results tree
  • Timer – used to add delay
  • Assertions – to check received response

Apache JMeter workbench is just a temporary location to store test elements during test execution. It is has no relation to test plan. Data stores in Apache JMeter workbench is not saved unless configured but, is not recommended.

Q.237 How popular is JMeter?

Apache JMeter is very popular performance testing tool. It is open source and has huge following amongst software testers across the globe.

Apache JMeter is used by software development companies across the globe like IBM, Capgemini, Accenture Oracle, Capgemini, TCS, etc.

Q.238 Is JMeter a free tool?

Yes, JMeter is open source tool and there is no cost to purchase and no trial period for downloaded software. There is no licensing cost involved with Apache JMeter download or usage.

There is no limitation on usage being enforced by Apache Foundation on JMeter.

Only cost involved for a company is of training of the professionals, on the JMeter.

Get Govt. Certified Take Test