Key Types of Performance Testing
-
Upload
amresh-kumar -
Category
Documents
-
view
218 -
download
0
Transcript of Key Types of Performance Testing
7/28/2019 Key Types of Performance Testing
http://slidepdf.com/reader/full/key-types-of-performance-testing 1/3
Key Types of Performance TestingThe following are the most common types of performance testing for Web applications.
Term Purpose Notes
Performance
test
To determine or validate speed,
scalability, and/or stability.
A performance test is a technical investigation done to determine or validate the responsiveness,
speed, scalability, and/or stability characteristics of the product under test.
Load test To verify application behavior
under normal and peak load
conditions.
Load testing is conducted to verify that your application can meet your desired performance
objectives; these performance objectives are often specified in a service level agreement (SLA).
A load test enables you to measure response times, throughput rates, and resource-utilization
levels, and to identify your application’s breaking point, assuming that the breaking point
occurs below the peak load condition.
Endurance testing is a subset of load testing. An endurance test is a type of performance testfocused on determining or validating the performance characteristics of the product under test
when subjected to workload models and load volumes anticipated during production
operations over an extended period of time.
Endurance testing may be used to calculate Mean Time Between Failure (MTBF), Mean Time To
Failure (MTTF), and similar metrics.
Stress test To determine or validate an
application’s behavior when it is
pushed beyond normal or peak
load conditions.
The goal of stress testing is to reveal application bugs that surface only under high load
conditions. These bugs can include such things as synchronization issues, race conditions, and
memory leaks. Stress testing enables you to identify your application’s weak points, and shows
how the application behaves under extreme load conditions. Spike testing is a subset of stress testing. A spike test is a type of performance test focused on
determining or validating the performance characteristics of the product under test when
subjected to workload models and load volumes that repeatedly increase beyond anticipated
production operations for short periods of time.
Capacity test To determine how many users
and/or transactions a given
system will support and still meet
performance goals.
Capacity testing is conducted in conjunction with capacity planning, which you use to plan for
future growth, such as an increased user base or increased volume of data. For example, to
accommodate future loads, you need to know how many additional resources (such as
processor capacity, memory usage, disk capacity, or network bandwidth) are necessary to
support future usage levels.
Capacity testing helps you to identify a scaling strategy in order to determine whether you
should scale up or scale out.
7/28/2019 Key Types of Performance Testing
http://slidepdf.com/reader/full/key-types-of-performance-testing 2/3
The most common performance concerns related to Web applications are “Will it be fast enough?”, “Will it support all of my clients?”, “What happens if something
goes wrong?”, and “What do I need to plan for when I get more customers?”. In casual conversation, most people associate “fast enough” with performance
testing, “accommodate the current/expected user base” with load testing, “something going wrong” with stress testing, and “planning for future growth” with
capacity testing. Collectively, these risks form the basis for the four key types of performance tests for Web applications.
Summary Matrix of Benefits by Key Performance Test TypesTerm Benefits Challenges and Areas Not Addressed
Performance
test
Determines the speed, scalability and stability
characteristics of an application, thereby providing an
input to making sound business decisions.
Focuses on determining if the user of the system will be
satisfied with the performance characteristics of the
application.
Identifies mismatches between performance-related
expectations and reality.
Supports tuning, capacity planning, and optimization
efforts.
May not detect some functional defects that only appear under
load.
If not carefully designed and validated, may only be indicative
of performance characteristics in a very small number of
production scenarios.
Unless tests are conducted on the production hardware, from
the same machines the users will be using, there will always
be a degree of uncertainty in the results.
Load test Determines the throughput required to support the
anticipated peak production load.
Determines the adequacy of a hardware environment.
Evaluates the adequacy of a load balancer.
Detects concurrency issues.
Detects functionality errors under load.
Collects data for scalability and capacity-planning
purposes.
Helps to determine how many users the application can
handle before performance is compromised.
Helps to determine how much load the hardware can
handle before resource utilization limits are exceeded.
Is not designed to primarily focus on speed of response.
Results should only be used for comparison with other related
load tests.
Stress test Determines if data can be corrupted by overstressing the
system.
Provides an estimate of how far beyond the target load anapplication can go before causing failures and errors in
addition to slowness.
Allows you to establish application-monitoring triggers to
Because stress tests are unrealistic by design, some
stakeholders may dismiss test results.
It is often difficult to know how much stress is worth applying.
It is possible to cause application and/or network failures that
may result in significant disruption if not isolated to the test
7/28/2019 Key Types of Performance Testing
http://slidepdf.com/reader/full/key-types-of-performance-testing 3/3
warn of impending failures.
Ensures that security vulnerabilities are not opened up by
stressful conditions.
Determines the side effects of common hardware or
supporting application failures. Helps to determine what kinds of failures are most valuable
to plan for.
environment.
Capacity test Provides information about how workload can be handled
to meet business requirements.
Provides actual data that capacity planners can use to
validate or enhance their models and/or predictions.
Enables you to conduct various tests to compare capacity-
planning models and/or predictions.
Determines the current usage and capacity of the existing
system to aid in capacity planning.
Provides the usage and capacity trends of the existing
system to aid in capacity planning
Capacity model validation tests are complex to create.
Not all aspects of a capacity-planning model can be validated
through testing at a time when those aspects would provide
the most value.