Performance Testing

Performance Testing
- Kanwalpreet Singh
Agenda









Overview
Need of Performance Testing
Types of Performance Testing
Tools available
HP Loadrunner
Components of Loadrunner
◦ Record and Replay
◦ Scenario Creation
◦ Analysis
Loadrunner Testing Process
Integration of Loadrunner with ALM
Performance Center
Overview

Performance testing is a type of testing intended to determine the responsiveness,
stability, and/or scalability of a system under a given workload. Performance testing
is commonly conducted to accomplish the following:
◦ Assess production readiness
◦ Evaluate against performance criteria
◦ Find the source of performance problems
◦ Determine the current load system can handle
Need of Performance Testing
Performance testing is conducted to address one or more risks related to expense,
opportunity costs, continuity, and/or corporate reputation.
Some more specific reasons include:

To assess infrastructure adequacy by evaluating current capacity.

Improving the efficiency of performance tuning by:
◦ Analyzing the behavior of the application at various load levels.
◦ Identifying bottlenecks in the application.

Assessing adequacy of developed software performance by:
◦ Determining the application's desired performance characteristics before and
after changes to the software.

Improves quality from user’s prospective

Provide information related to the speed, scalability, and stability of a product prior
to production release, thus enabling you to make informed decisions about whether
and when to tune the system.
Types of Performance Testing

Volume/Load testing - This subcategory of performance testing is focused on
determining or validating performance characteristics of the system or application
under test when subjected to workloads and load volumes anticipated during
production operations.

Stress testing - Executed to understand how the system fails due to
conditions at the boundary, or outside of, the expected tolerances. These
tests are designed to determine under what conditions an application fail and
what indicators can be monitored to warn of an impending failure.

Stability testing - Aimed at validating the solution’s ability to sustain high
load for a prolonged period of time. It is usually performed to identify issues
related to memory management (leaks) or reliability (exception handling).

Failover testing - Stresses the solution’s ability to react quickly to the failure
of one or more of its components, either software or hardware
Tools available
There are various tools available in the market for load testing, few of them are:

IBM Rational Performance Tester - Eclipse based large scale performance
testing tool primarily used for executing large volume performance tests to
measure system response time for server based applications.

Jmeter - Java desktop application for load testing and performance measurement

OpenSTA - Open source web load/stress testing application, licensed under the
Gnu GPL. Utilizes a distributed software architecture based on CORBA.

NeoLoad – Used for load testing mobile applications.

HP Loadrunner - Performance testing tool primarily used for executing large
numbers of tests (or a large number or virtual users) concurrently.

Oracle Application Testing Suite – Used primarily for load testing Siebel
applications.
HP Loadrunner

HP LoadRunner load tests an application by emulating an environment in which
multiple users work concurrently. While the application is under load, LoadRunner
accurately measures, monitors, and analyzes a system’s performance and
functionality.

LoadRunner works by creating virtual users who take the place of real users
operating client software, such as Internet Explorer sending requests using the
HTTP protocol to IIS or Apache web servers. Because numerous Virtual users can
run on a single computer, LoadRunner reduces the amount of hardware required
for testing.

LoadRunner automatically records the performance of the application during a test.
We can choose from a wide variety of graphs and reports to view the performance
data.

LoadRunner checks where performance delays occur: network or client delays, CPU
performance, I/O delays, database locking, or other issues at the database server.
Components of Loadrunner
There are 3 main components of Loadrunner:
 Create/Edit Scripts – This component is also known as Virtual user
Generator(VuGen). A script is recorded in this component as per the manual test
case and then enhanced by adding script checks and dynamic variables so that the
script can run multiple times.

Run Load Tests – This component is also known as Controller where a scenario is
created. A scenario describes the events that occur during a testing session. A
scenario includes a list of machines on which Virtual users run, a list of scripts that
the Virtual users run, and a specified number of Virtual users or Virtual user groups
that run during the scenario.

Analyze Test Results – This component is also known as Analysis. During load test
scenario execution, Virtual users generate result data as they perform their
transactions.The Report utilities enable you to view a Summary of each graph. A
report automatically summarizes and displays the test’s significant data in graphical
and tabular format. You can generate reports based on customizable report
templates
Loadrunner Testing Process
Below is typical Loadrunner Testing Process:

Planning the test – Prepare manual test cases that needs to be load tested.

Creating Vuser scripts – Record the manual test cases through VuGen.

Creating the scenario – Create the scenario in Controller.

Running the scenario – Run the scenario for a specific duration.

Monitoring the scenario – Monitor different performance counters during
the test.

Analyze test results – After the completion of the test, prepare analysis
report and analyze test results.
Loadrunner Testing Process - VuGen
Loadrunner Testing Process - VuGen
Loadrunner Testing Process – Controller (Design)
Loadrunner Testing Process – Controller (Run)
Loadrunner Testing Process – Analysis
Integration of Loadrunner with ALM

HP offers a software called Performance Center that helps in managing all the
Loadrunner scripts within ALM.

Different components of Performance Center are:
◦
Performance Center Host
◦
Performance Center Server

Performance Center have built in Test Management Capabilities. Real time
monitoring is available to testers and stakeholders.

Performance Center offers scheduling Capabilities allowing multiple test to occur.
Performance Center

There is an additional side bar in ALM Performance center addition through which
you can schedule your load tests for any time.
Performance Center cont...
All the recorded scripts can be saved in ALM by the following methods:

Clicking on Upload Script within ALM
Performance Center cont...

Saving script directly through VuGen by creating a connection with HP ALM. Enter the
ALM url and click on Connect. Once connected, enter the user credentials and select the
required project.You can save the recorded script by clicking on “Save As” in ALM Test
Plan
Performance Center cont...

A scenario can be created within Performance center by creating a Test Case of
type Performance Test within Test Plan tab of ALM
Questions??