For performing the Functional Testing, we used to have the Functional Specification Document where all the functional requirements are defined. The Functional Specification Document describes; how the system is going to behave and work. It helps the Testers to outline what tests to run and designing/retrieving the test plan & test cases out of it.
The Performance Testing falls under the Non-Functional Testing. You must be wondering is there any Specification Document also available for the performing the Performance Testing. Well, it depends. Sometimes it might available and sometimes not. Okay! the formal name of the Performance Testing is said to be "Service Level Agreements (SLA)". The SLA is a generic term which is an agreement between two or more parties, where one is the Customer and the others are the Service Providers. Here, we're discussing the SLA related to Performance Testing. The performance objectives are often specified in a service level agreement (SLA). This document is used for gathering the requirements before the Performance Testing begins.
Basically there are two type of Service Level Agreements (SLA). One is System Availability which ensures the application is up by some predefined duration which is generally not feasible to test out. The typical example for the System Availability will be "The application needs to be available 24 hours per day except on Weekends". The other type is Response Time which is duration of specific module or page of the application. The example for this SLA would be; "An user needs be logged on into the application by 3 seconds".
The following are some examples of SLA for the Performance Testing of various parameters.
- User base Supported (For Example: 5000 Users)
- Expected Response Time: (For Example: 5 sec.)
- Expected CPU Utilization: (For Example: Less than 70%)
- Expected Memory Utilization: (For Example: Less than 70%)
The Service Level Agreements (SLA) needs to be well documented and shared among all stake holders of the Project including Business Manager, Developers, Testers, and Marketing Professionals. The Service Level Agreements (SLA) is the document on which the Software Testing Life Cycle gets initiated for the Performance Testing.