0% found this document useful (0 votes)
61 views23 pages

Chapter09 - How To Test Performance

Performance testing ensures a software application meets performance standards for speed, response time, reliability, and scalability under expected user loads. It identifies bottlenecks before public release. Key aspects of performance testing include load, stress, and endurance testing; monitoring metrics like response time, throughput, and resource usage; and using tools like LoadRunner, JMeter, and HeadSpin to simulate user loads and identify issues. The overall process involves planning and designing tests, configuring test environments, executing tests, analyzing results, and retesting for improvements.

Uploaded by

GML Kill
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
61 views23 pages

Chapter09 - How To Test Performance

Performance testing ensures a software application meets performance standards for speed, response time, reliability, and scalability under expected user loads. It identifies bottlenecks before public release. Key aspects of performance testing include load, stress, and endurance testing; monitoring metrics like response time, throughput, and resource usage; and using tools like LoadRunner, JMeter, and HeadSpin to simulate user loads and identify issues. The overall process involves planning and designing tests, configuring test environments, executing tests, analyzing results, and retesting for improvements.

Uploaded by

GML Kill
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 23

Software Testing

How to test performance


Get to know:
- What is Performance Testing?
- Why do Performance Testing?
- Types of Performance Testing
- Common Performance Problems
- Performance Testing Process
- Performance Testing Metrics: Parameters Monitored
- Example Performance Test Cases
- Performance Test Tools
What is Performance Testing?
• Performance Testing is a software testing
process used for testing the speed, response
time, stability, reliability, scalability and resource
usage of a software application under particular
workload.
• The main purpose of performance testing is to
identify and eliminate the performance
bottlenecks in the software application.
What is Performance Testing?
• The focus of Performance Testing is
checking a software program’s in:
– Speed – Determines whether the application
responds quickly
– Scalability – Determines maximum user
load the software application can handle.
– Stability – Determines if the application is
stable under varying loads
Why do Performance Testing?
• Features and Functionality supported by a
software system is not the only concern. A
software application’s performance like its
response time, reliability, resource usage and
scalability do matter.
• The goal of Performance Testing is not to find
bugs but to eliminate performance bottlenecks.
• Performance Testing uncovers what needs to
be improved before the product goes to market.
Why do Performance Testing?
• Without Performance Testing, software is likely
to suffer from issues such as: running slow
while several users use it simultaneously,
inconsistencies across different operating
systems and poor usability.
• Performance problems are difficult to recognize
during operation, so it insidiously causes great
damage to the system.
• Hence, performance testing is important.
Types of Performance Testing

Scalability
Testing
Types of Performance Testing
• Load testing – checks the application’s ability to
perform under anticipated user loads. The objective is to
identify performance bottlenecks before the software
application goes live.
• Stress testing – involves testing an application under
extreme workloads to see how it handles high traffic or
data processing. The objective is to identify the breaking
point of an application.
• Endurance testing – is done to make sure the software
can handle the expected load over a long period of
time.
Types of Performance Testing
• Spike testing – tests the software’s reaction to sudden
large spikes in the load generated by users.
• Volume testing – Under Volume Testing large no. of.
Data is populated in a database and the overall
software system’s behavior is monitored. The objective
is to check software application’s performance under
varying database volumes.
• Scalability testing – The objective of scalability testing
is to determine the software application’s effectiveness
in “scaling up” to support an increase in user load. It
helps plan capacity addition to your software system.
Common Performance Problems

Poor Poor
response scalability
time

Long Bottlen
Performance
Load ecking
Problems
time 
Common Performance Problems
• Long Load time – Load time is normally the
initial time it takes an application to start. This
should generally be kept to a minimum.
• Poor response time – Response time is the
time it takes from when a user inputs data into
the application until the application outputs a
response to that input.
Common Performance Problems
• Poor scalability – A software product suffers
from poor scalability when it cannot handle the
expected number of users or when it does not
accommodate a wide enough range of users. 
• Bottlenecking – Bottlenecks are obstructions
in a system which degrade overall system
performance. Bottlenecking is when either
coding errors or hardware issues cause a
decrease of throughput under certain loads.
Performance Testing Process
Performance Testing Process
• Identify your testing environment – Know your
physical test environment, production environment and
what testing tools are available. Understand details of
the hardware, software and network configurations used
during testing before you begin the testing process.
• Identify the performance acceptance criteria – This
includes goals and constraints for throughput, response
times and resource allocation.  It is also necessary to
identify project success criteria outside of these goals
and constraints.
Performance Testing Process
• Plan & design performance tests – Determine how
usage is likely to vary amongst end users and identify
key scenarios to test for all possible use cases.
• Configuring the test environment – Prepare the
testing environment before execution. Also, arrange
tools and other resources.
• Implement test design – Create the performance tests
according to your test design.
• Run the tests – Execute and monitor the tests.
• Analyze, tune and retest – Consolidate, analyze and
share test results. Then fine tune and test again to see if
there is an improvement or decrease in performance.
Performance Testing Metrics:
Parameters Monitored
Performance Testing Metrics
• Processor Usage – an amount of time processor
spends executing non-idle threads.
• Memory use – amount of physical memory available to
processes on a computer.
• Disk time – amount of time disk is busy executing a read
or write request.
• Bandwidth – shows the bits per second used by a
network interface.
Performance Testing Metrics
• Memory pages/second – number of pages written to
or read from the disk in order to resolve hard page
faults.
• CPU interrupts per second – is the avg. number of
hardware interrupts a processor is receiving and
processing each second.
• Disk queue length – is the avg. no. of read and write
requests queued for the selected disk during a sample
interval.
• Network output queue length – length of the output
packet queue in packets. Anything more than two
means a delay and bottlenecking needs to be stopped.
Performance Testing Metrics
• Network bytes total per second – rate which bytes are
sent and received on the interface including framing
characters.
• Response time – time from when a user enters a request
until the first character of the response is received.
• Throughput – rate a computer or network receives
requests per second.
• Amount of connection pooling – the number of user
requests that are met by pooled connections.
• Maximum active sessions – the maximum number of
sessions that can be active at once.
• Database locks – locking of tables and databases needs
to be monitored and carefully tuned.
Example Performance Test Cases
1. Verify response time is not more than 4 secs when 1000 users
access the website simultaneously.
2. Verify response time of the Application Under Load is within an
acceptable range when the network connectivity is slow
3. Check the maximum number of users that the application can
handle before it crashes.
4. Check database execution time when 500 records are read/written
simultaneously.
5. Check CPU and memory usage of the application and the
database server under peak load conditions
6. Verify response time of the application under low, normal,
moderate and heavy load conditions.
Performance Test Tools
• LoadNinja – is revolutionizing the way we load test. This
cloud-based load testing tool empowers teams to record
& instantly playback comprehensive load tests, without
complex dynamic correlation & run these load tests in
real browsers at scale.
• HeadSpin– offers industry’s best performance testing
capabilities for its users.
Performance Test Tools
• HP LoadRunner – is the most popular performance
testing tools on the market today. This tool is capable of
simulating hundreds of thousands of users, putting
applications under real-life loads to determine their
behavior under expected loads. Loadrunner features a
virtual user generator which simulates the actions of live
human users.
• Jmeter – one of the leading tools used for load testing
of web and application servers.
Q&A

You might also like