background image
<< Customer or user expectations | Performance Load and Stress Testing >>
<< Customer or user expectations | Performance Load and Stress Testing >>

Performance Testing and Tuning

The Relationship Between Performance Testing and
Tuning
When end-to-end performance testing reveals system or application characteristics that
are deemed unacceptable, many teams shift their focus from performance testing to
performance tuning, to discover what is necessary to make the application perform
acceptably. A team may also shift its focus to tuning when performance criteria have
been met but the team wants to reduce the amount of resources being used in order to
increase platform headroom, decrease the volume of hardware needed, and/or further
improve system performance.
Cooperative Effort
Although tuning is not the direct responsibility of most performance testers, the tuning
process is most effective when it is a cooperative effort between all of those concerned
with the application or system under test, including:
·
Product vendors
·
Architects
·
Developers
·
Testers
·
Database administrators
·
System administrators
·
Network administrators

Without the cooperation of a cross-functional team, it is almost impossible to gain the
system-wide perspective necessary to resolve performance issues effectively or
efficiently.

The performance tester, or performance testing team, is a critical component of this
cooperative team as tuning typically requires additional monitoring of components,
resources, and response times under a variety of load conditions and configurations.
Generally speaking, it is the performance tester who has the tools and expertise to
provide this information in an efficient manner, making the performance tester the
enabler for tuning.
Tuning Process Overview
Tuning follows an iterative process that is usually separate from, but not independent of,
the performance testing approach a project is following. The following is a brief
overview of a typical tuning process:
·
Tests are conducted with the system or application deployed in a well-defined,
controlled test environment in order to ensure that the configuration and test results at
the start of the testing process are known and reproducible.
·
When the tests reveal performance characteristics deemed to be unacceptable, the
performance testing and tuning team enters a diagnosis and remediation stage
(tuning) that will require changes to be applied to the test environment and/or the
application. It is not uncommon to make temporary changes that are deliberately