APACHE JMETER

Apache JMeter is An Apache project That Can Be Used As A Load Testing Tool For Analyzing And Measuring The Performance Of A Variety Of Services, With A Focus On Web Applications.

1.Explain what is JMeter?

JMeter is a JAVA tool, which is used for performance load testing.

2.Explain how JMeter works?

JMeter acts like a group of users sending requests to a target server. It collects response from target server
and other statistics which show the performance of the application or server via graphs or tables.

3.Explain where you can use functions and variables?

Variables and functions can be written into any field of any test component

4.Mention what are regular expressions in JMeter?

Based on the pattern, regular expression are used to search and manipulate text. JMeter is useful in
interpreting forms of regular expression or patterns being used throughout a Jmeter test plan.

5.Explain what is Samplers and Thread groups?

Thread group: For any test plan, JMeter is the beginning part of thread group elements. It is an important
element of JMeter, where you can set number of users and time to load all the users given in the thread group

Samplers: Sampler generates one or more sample results; these sample results have many attributes like
elapsed time, data size, etc. Samplers allow JMeter to send specific types of requests to the server, through
samplers, thread group decides which type of request it need to make. Some of the useful samplers are HTTP
request, FTP request, JDBC request and so on.

6.Whether the test plans built using JMeter are OS dependent?

Usually, test plan are saved in their XML format, so there is nothing to do with any particular O.S. It can be
run on any OS where JMeter can run.

7.Mention what are the types of processor in JMeter?

The types of processor in JMeter are

Pre-processor

Post processor

8.Explain what are Pre-processor Elements? List some of the pre-processor elements?

A pre-processor is something that will happen before sampler executes. To configure the sample request
prior to its execution or to update variables that are not extracted from response text pre-processor
elements are used.

Some of the pre-processor elements are

  • HTTP URL re-writing modifier
  • HTTP user parameter modifier
  • HTML link parser
  • BeanShell PreProcessor

9.Mention the execution order of Test Elements?

The test plans elements execution order is

  • Configuration elements
  • Pre-processors
  • Timers
  • Samplers
  • Post-processors
  • Assertions
  • Listeners

10.What does “contain” and “matches” indicates in the regular expression?

In the regular expression, contains indicates that the regular expression matched at least some part of the
target. While matches means the regular expression matched the whole target. So, ‘alphabet’ is “matched”
by ‘al.*t.’

11.Explain what is configuration elements?

A configuration element works parallel with a Sampler. To set up defaults and variables for later use by
samplers configuration elements can be used. At the start of the scope, these elements are processed before
any samplers in the same scope.

12.Explain what is a timer in JMeter and what are the types of it?

A JMeter thread by default will send requests continuously without any pause. To get a pause between the
request, Timers are used. Some of the Timers used are Constant Timer, Gaussian Random Timer,
Synchronizing Timer, Uniform Random Timer and so on.

13.Explain what is Test Fragment?

Test fragment is also a type of element like Thread Group element. The only difference is test fragment is
not implemented unless it is referenced by either a Module controller or an Include controller.

14.Explain what is Assertion in JMeter? What are the types of assertion?

Assertion helps to verify that your server under test returns the expected results

Some commonly used Assertion in JMeter are

  • Response Assertion
  • Duration Assertion
  • Size Assertion
  • XML Assertion
  • HTML Assertion

15.Explain how you can reduce the resource requirement in JMeter?

To reduce the resource requirements in JMeter

  • Use non-GUI mode: jmeter –n –t test.jmx –l test.jtl
  • During the load, test doesn’t use “view results tree” or “view results in table” listeners, use them only

          during scripting phase

  • Don’t use functional mode
  • Instead of using lots of similar samplers, use the same sampler in loop and use variable to vary the sample

16.Explain how you can perform spike testing in JMeter?

By synchronizing, timer JMeter spike testing can be achieved. Synchronizing timer, blocks thread until a
specific amount of threads has been blocked and then release them all together thus creating large
instantaneous load.

17.Explain how you can capture the script of the authentication window in JMeter?

Normally, you can capture script by recording.

  • First you have to Thread group in Test plan and then make HTTP Proxy Server in Workbench
  • After that, set port number in Global Setting box (e.g., 8911) and modify your connection setting in IE as

           local host in address 8911 as in port

  • Then you can start http proxy server in JMeter and run your application for login

18.What is distributed load testing? How it can be achieved?

Distributed load testing is the process through which numerous systems can be used for simulating load of
a large number of users. By using the master-slave configuration, JMeter can do distribute load testing.

19.In JMeter is it necessary to call embedded resources explicitly?

You can eliminate all embedded resources from being explicitly called. Requests have a checkbox at the
bottom that says “retrieve embedded resources.” It would grab all CSS, JPG, etc. It is a brilliant way to
find resources and broken link in a web App.

20.Explain what is the role of Timer in JMeter?

With the help of timer, JMeter can delay the time between each request, which a thread makes. It can solve
the overload problem of the server.

21.Explain what is Post-processor?

To perform any action after making a request, Post- processor is used. For example, if Jmeter sends an http
request to the web server, and if you want JMeter to stop sending the request if the web server shows an
error, then you will use post-processor to perform this action.

22.What are the benefits that JMeter offers for performance testing?

JMeter offers benefits on performance testing like

  • It can be used to test performance for both, static resources as well as dynamic resources
  • It can handle a maximum number of concurrent users then your website can handle
  • It provides the graphical analyses of performance reports

23.What is a Test Plan in JMeter?

A Test Plan defines and provides a layout of how and what to test. For example the web application as
well as the client server application. It can be viewed as a container for running tests. A complete test plan
will consist of one or more elements such as thread groups, logic controllers, sample-generating
controllers, listeners, timers, assertions, and configuration elements. A test plan must have at least one
thread group.

24.What is distributed load testing? How can it be achieved in JMeter?

Distributed load testing is the process using which multiple systems can be used for simulating load of
large number of users. The reason of using more than one system for load testing is the limitation of single
system to generate large number of threads (users). In JMeter we can do distributed load testing using the
master slave configuration. [For complete steps to perform distributed load testing refer to the post?
Distributed load testing in JMeter]

25.What is Spike testing and how can we perform it in JMeter?

Suddenly spiking or increasing the number of users at certain point of application and then monitoring the
behavior at that intervals is spike testing. In JMeter spike testing can be achieved using Synchronizing
Timer. Synchronizing timer blocks the threads until a particular number of threads have been blocked, and

26.What all activities are performed during performance testing of any application?

Activities performed?

1. Create user scenarios

2. User Distribution

3. Scripting

4. Dry run of the application

5. Running a load test and analyzing the result

27.List out few JMeter Listeners?

  • Some of the JMeter Listeners are
  • Spline Visualizer
  • Aggregate Report
  • View Result Tree
  • View Result in Table
  • Monitor Results
  • Distribution Graph
  • BeanShell Listener
  • Summary Report and so on