|
|
This
article talks about the
following areas in
Performance testing.
-
Determine the type of
Performance tests to be
conducted
-
Determine the
transaction mix
-
Methodology for Tool
selection
-
Considerations while
scripting those
transactions
|
The
‘take-away’ from this
article would be all of the
above and the risks and
benefits of each type of
Performance tests, which
will help you understand the
kind of tests that you need
to conduct based on your
Client’s specifications.
2. Determine the type of
Performance test to be
conducted
In order to solve a
performance need. It is very
important to know the types
of performance tests that
can be conducted that fits
the Customer’s requirement.
Performance tests can be
broadly classified in to
-
Load tests
-
Stress tests
-
Endurance tests
-
Spike tests
-
Capacity testing
Load
test
Load tests
are performance tests which
are focused on determining
or validating performance
characteristics of the
product under test when
subjected to workload models
and load volumes anticipated
during production
operations.
What are the benefits?
Helps
-
Evaluate the adequacy of
a load balancer.
-
Detecting functionality
errors under load.
-
Determine the
scalability of the
application OR for
capacity planning
purposes as the need may
be.
What risks
does it address?
- How
many users can the
application handle
before “bad stuff”
happens
- How
much data can my
database/file server
handle?
- Are
the network components
adequate?
Stress
test
Performance tests
focused on determining or
validating performance
characteristics of the
product under test when
subjected to workload
models, and load volumes
beyond those anticipated
during production
operations.
These tests are all about
determining under what
conditions an application
will fail how it will fail
and what indicators can be
monitored to warn of an
impending failure.
What are the benefits?
Helps
-
Determining if data can
be corrupted by over
stressing the system
-
Estimating how far
beyond the target load
an application can go
before causing failures
and errors in addition
to slowness
-
Establishing application
monitoring triggers to
warn of impending
failures
-
Ensuring that security
holes are not opened up
by stressful conditions.
-
Determining the side
effects of common
hardware or supporting
application failures.
What risks
does it address?
- What
happens if we
underestimated the peak
load?
- What
kind of failures should
we plan for?
- What
indicators should we be
looking for to intervene
prior to failure?
Endurance test
A performance test focused
on determining or validating
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.
What are the benefits?
Helps
- Slow
memory leaks
-
Insufficient file
storage capacity
-
Performance degradation
as a result of an
increased in stored data
-
Overnight, automatic
virus definition updates
on a server causing
performance degradation
What risks
does it address?
- Will
performance be
consistent over time?
- Are
there slow growing
problems that we haven’t
detected?
- Is
there external
interference that we
didn’t account for?
Spike
test
A performance test focused
on determining or validating
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.
What are the benefits?
Helps Identify
-
Memory leaks
- Disk
I/O (thrashing)
- Slow
return to steady – state
What risks
does it address?
- What
happens if we
underestimated the peak
load?
- What
kind of failures should
we plan for?
- What
indicators should we be
looking for to intervene
prior to failure?
Capacity testing
Capacity testing is related
to stress testing .It
determines your server's
ultimate failure point. You
perform capacity testing in
conjunction with capacity
planning.
You use capacity planning 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 CPU, RAM,
disk space, or network
bandwidth) are necessary to
support future usage levels.
Capacity testing helps you
identify a scaling strategy
to determine whether you
should scale up or scale
out.
What are the benefits?
Helps Identify
-
Provide actual data to
the capacity planners to
validate or enhance
their models and/or
predictions.
-
Conduct various tests to
compare capacity
planning models and/or
predictions.
-
Determine current usage
and capacity of existing
system to aid in
capacity planning.
-
Provide usage and
capacity trends of
existing system to aid
in capacity planning.
What risks
does it address?
-
Validate that capacity
planning models
represent reality.
-
Ensure capacity planning
remains in sync with
actual system usage and
growth patterns.
Transaction Mix &
Methedology
|