Software Performance Testing Handbook -

In today’s world, we have reached a point where we are expecting things to get done in fraction of
seconds. Everyone is interested in developing a very high performance system in order to meet
the customer demand. The demand for the performance is slowly gaining more importance.
Performance Testing is the act of testing or evaluating software or a component or hardware for
its conformance with the performance testing goals and optimizing its performance. It’s about
testing the application with the intent to identify the application scalability. The Performance
Testing seems to be very vague if approached in an adhoc way. It needs specific process steps
and work principles in place in order to completely achieve the goal of conducting this activity.
One should realize that Performance Testing is a subset of Performance Engineering, which is an
art of building performance into the design and architecture of a system, prior to the actual coding
effort. Performance Engineering helps in building software with an aid to meet the performance
requirements right from the requirements phase.
The context of Performance Testing remains the same though it is carried out for achieving
different kind of goals like comparing the performance of the system deployed in two different
environments, to benchmark the system performance for certain load, to measure the system
breakpoint, etc.

How Performance Testing is different from Functional Testing
Performance Testing is altogether a different way of looking at the system. The important prerequisite
for conducting the performance testing is that the system should be functionally stable.
Unless the code changes are freezed and the system functionality is baselined, the performance
testing does not have a value on a system.
I could remember one of my projects wherein a performance test engineer was forced to check a
functional issue as part of conducting load testing. The objective of the functional testing is to
verify and validate the functional requirements whereas the objective of performance testing is to
verify and validate the nonfunctional requirements (NFR) of the system related to performance.