Apache JMeter Performance Testing Tutorial

Apache JMeter Course Content

Apache JMeter Syllabus for conducting Web page , Database server, FTP, JMS and Web Services Performance Testing.

I) Introduction Performance Testing
II) Introduction to Apache JMeter
III) Elements of JMeter Test Plan
IV) Building a JMeter Test Plan
V) Recording Tests Using JMeter
VI) Enhancements in Test Scripts
VII) JMeter Result Analysis
VIII) Running Mutiple Scripts with JMeter
IX) Different Types of JMeter Test Plans
X) Jmeter Distributed (Remote) Testing
XI) JMeter Functions, Variables and Regular Expressions
XII) JMeter Best Practices

I) Introduction Performance Testing

1) What is Performance Testing?
> Independent Testers conduct Performance Testing at System Testing Level using Black Box Test Design Techniques.

2) Types of Performance Testing
> We have different types of performance Testing like Load Testing, Stress Testing, Spike Testing, Endurance Testing, and Volume Testing.

3) How to conduct Performance Testing?
> Generally Software Testing can be done in two ways, 1) Manual Testing, 2) Automated Testing, but Manual Testing is impractical for Performance Testing and Automated Testing is only possible.

4) Performance Test Tools
> We have several test tools are available for performance Testing, Apache JMeter, Micro Focus LoadRunner, IBM RPT, Silk Performer, WebLoad, and NeoLoad etc…

5) Performance Test Life Cycle
Important Steps in Performance Test Life Cycle are:

> Identify the Testing Environment, Identify Performance Metrics, Plan and Design Performance Tests, Configure the Test Environment, Implement your test design, Run / Execute Tests and Analyze, tune and retest.

II) Introduction to Apache JMeter

1) What is Apache JMeter?
> Apache JMeter is an open source, 100% Java based application with a graphical user interface.

2) Advantages and Disadvantages of JMeter
> Open Source, Ease of Use, Platform Independent, and Multi Protocol Support etc…
> Web Application only, Memory Consumption, and Lack of support for JavaScript…

3) JMeter vs LoadRunner

4) How does JMeter Work?

5) Installation of JMeter
> Download & Install Java Software, Set JAVA_HOME Environment Variable, Verify Java Installation,
Download Jmeter and unzip and Launch / Start JMeter.

III) Elements of JMeter Test Plan

1) Thread Group
> A Thread Group is a set of threads executing the same scenario. Virtual user groups are represented by Thread Groups.

2) Controllers
> JMeter has two types of Controllers: Samplers and Logical Controllers. These drive the processing of a test.

a) Samplers
> Samplers tell JMeter to send requests to a server and wait for a response.
Ex: FTP Request, HTTP Request, JDBC Request and JMS request etc.

b) Logic Controllers
> Logic Controllers let you customize the logic that JMeter uses to decide when to send requests.

3) Listeners
> Listeners are the JMeter component that displays test results.

4) Timers
> By default, a JMeter thread executes samplers in sequence without pausing. We recommend that you specify a delay by adding one of the available timers to your Thread Group.

5) Assertions
> Assertion in JMeter is used to validate response of the request, that you have sent to the server. Assertion is a process where you verify expected result with the actual result of the request at run time.

6) Configuration Elements
> Config elements in JMeter are used to configure or modify the sampler requests made to the server. They do not send requests, configure or modify the sampler requests.

7) Pre-Processor Elements
> PreProcessors are JMeter elements that are used to execute actions before the sampler requests are executed in the test scenario.

8) Post-Processor Elements
> A Post-Processor executes some action after a Sampler Request has been made. If a Post-Processor is attached to a Sampler element, then it will execute just after that sampler element runs.

Execution Order of Test Elements
0) Configuration elements
i) Pre-Processors
ii) Timers
iii) Sampler
iv) Post-Processors (unless SampleResult is null)
v) Assertions (unless SampleResult is null)
vi) Listeners (unless SampleResult is null)

IV) Building a Test Plan

> A test plan describes a series of steps JMeter will execute when run. A complete test plan will consist of one or more Thread Groups, logic controllers, sample generating controllers, listeners, timers, assertions, and configuration elements.

1) Add and Remove Elements
2) Load and Save Elements
3) Configure the Tree Elements
4) Save and Run the Test Plan

V) Recording Tests Using JMeter

1) Creation of Thread Group
2) Adding HTTP Proxy Server
3) Configuring HTTP proxy server
4) Configuring the browser for recording the test script
5) Capturing the test steps using JMeter

VI) Enhancements in Test Scripts

1) Parameterization
2) Correlations
3) Validations
4) Debugging Script
5) Assertions
6) Error Handling Etc…

VII) JMeter Result Analysis

> Running a test plan is only 50% of the performance testing task.

> The most challenging part of the performance testing process is the analysis of test results and the identification of bottlenecks.

> Listeners are most important part of JMeter’s test plan as users can only see the results of their samplers by making use of listeners.

VIII) Running Multiple Scripts with JMeter

1) Creating multiple test thread groups
2) Calling the multiple thread groups from a test plan
3) Configuring the threads groups with respective users numbers and ratios
3) Running the load test for multiple thread groups from a Single Test
4) Analyze the user group specific issues
5) Analyze the Test plan specific issues for all user groups

IX) Different Types of JMeter Test Plans

1) JMeter – Web Test Plan (HTTP Request)
> Build a simple test plan which tests a web page. We write a test plan in Apache JMeter so that we can test the performance of the web page.

2) JMeter – Database Test Plan (JDBC Request)
> Create a test plan to test the database server.

3) JMeter – FTP Test Plan
> Create a Test Plan to test the FTP site.

4) JMeter – Webservice Test Plan (SOAP/XML-RPC Request)
> Create a Test Plan to test a WebService

5) JMeter – JMS Test Plan
> Create a test plan to test Java Messaging Service (JMS).

X) Jmeter Distributed (Remote) Testing

> Distributed testing enables having a local JMeter (master) that handles the test execution, together with multiple remote JMeter instances (slaves) that will send the request to our target server.

0) Configure the nodes
1) Start Servers
2) Add the server IP to your client’s Properties File
3) Start the JMeter Client from a GUI client to check configuration
4) Start the JMeter from a non-GUI Client

XI) JMeter Functions, Variables and Regular Expressions

> JMeter Functions can be used for many different operations, including: inputting information from a file, performing math calculations and value generation, processing strings, evaluating JMeter variables, working with JMeter properties and executing scripts like Javascript or BeanShell script.

> Variables can store some values which you need in different places of you test.

> Regular Expressions are a tool used to extract a required part of the text by using advanced manipulations.

1) List of Functions
2) Where to Use Functions And Variables
3) Referencing Variables and Functions
4) JMeter Regular Expressions

XII) JMeter Best Practices

1) Limit the Number of Threads
> Your hardware capabilities as well as the Test Plan design will both impact the number of threads you can effectively run with JMeter.

2) Reducing resource requirements
> Use non-GUI mode, use as few Listeners as possible; only save the data that you need, use as few Assertions as possible.

3) Use Variables
> This functionality allows changing parameters in multiple places of the Test-plan.

4) Distributed Testing
> Once you reach the limits of one machine, you can switch to distributed or remote testing.

5) BeanShell server
> The BeanShell interpreter has a very useful feature – it can act as a server, which is accessible by telnet or http.

6) Parameterising tests
> Often it is useful to be able to re-run the same test with different settings. For example, changing the number of threads or loops, or changing a hostname.

Performance Testing

Apache JMeter Step by Step Tutorial

Independent Software Testers conduct Performance Testing (Test Type) at System Testing Level using Black Box Test Design Techniques.

> Types of Performance Testing: We have different types of Performance Testing like Load Testing, Stress Testing, Spike Testing, Endurance Testing and Volume Testing…

> Manual Testing is impractical for conducting Performance Testing and Automated Testing is only possible.

> Micro Focus LoadRunner, Apache JMeter, IBM Rational Performance Tester, Silk Performer, WebLoad, NeoLoad are the Popular Test Tools in the IT Industry.

> Apache JMeter is an open source Software, 100% pure Java Application  and supports multiple operating environments like MS Window, Macintosh and Linux etc. Using JMeter we can Test Computer Web Applications and Mobile Web Applications.

> JMeter is a protocol based test tool, supports different types of protocols, using JMeter we can conduct Web Application Performance Testing, Database Server Performance and Web services.

> We can easily setup JMeter Test Environment on any operating environment and Environment setup is same for all operating environments and only difference is launch/start JMeter. After Launching the JMeter then usage of JMeter also same. Since It is a Pure Java Application then Java Installation is required to run JMeter Software.

> JMeter can be used in three modes,

1) GUI Mode
2) Server Mode
3) Command Line Mode
———————————————————————————————————————————

(1240)

You may also like...