Performance Testing has become the must have part of Software Testing Life Cycle. To execute Performance Testing effectively, a detailed Performance Test Plan document should be prepared. It includes all the activities to be done during performance testing, prerequisites before starting performance testing and exit criteria.
A standard Performance Test Plan template has below mentioned sections. In this article we are going to focus on understanding different sections of Performance Test Plan document. So, let’s get started:
1) Background & Objective
2) Entry Criteria for Performance Testing
3) Test Scope
4) Test Approach & Schedule
6) Risks & Contingencies
7) Required Resources & Environmental Configuration
8) Suspension and Resumption Criteria
10) Acceptance/Exit Criteria
Note: Description for each section is written in general terms. Please take it as reference and modify necessary information based on your project needs.
Background & Objective:
This Test Plan Covers the Performance Testing Activities to be carried out for <Project Name>.
Give brief overview of the Project, mention most critical functionality along with their functional goal.
The core objective of performance testing on <Project Name> is to ensure the application’s response time is withing the expected limit for 100 concurrent users.(Also mention if there are any page / functionality specific requirement)
Mention all the Requirement documents taken as reference for preparation of this Performance Test Plan.
The prerequisites for the Performance testing would be :
– UAT server should be available on which Load Testing is to be done.
– Development cycle must be completed and all code should be freezed. Latest code should be successfully deployed on UAT server.
– Application should not have Blocker, Critical and Major functional defects in open state.
– Expected hardware infrastructure should be available to carry out Performance Testing.
– Latest version of Performance Test Plan should be signed-off by client.
– Sufficient Test Data should be available to be used in Performance Testing activity. Test Data should have been validated by client.
Here you mention the Pages and list of functionality identified for Performance Testing. Better to display it in tabular format as below :
For example of an E-Commerce website,
|Page / Functionality||Expected Time (in seconds)|
|Landing(Home) Page||< 3|
|Product Search Page||< 5|
|Product Detail Page||< 3|
|Checkout Page||< 4|
– List down the end to end scenarios to be included for Performance Testing activity.
– Also mention all the functionality / features not going to be included(out of scope).
System should support on an average 50 concurrent users at any given time. If required mention page / functionality specific concurrent user count.
Test Approach & Schedule
Below mentioned is the Test Approach for <Project Name>:
– Performance Test Plan will be prepared by QA engineer.
– Performance Test scripts will be prepared by QA engineer.
– Test Plan will be reviewed by Test Lead and Project Manager.
– Test Plan will be signed-off by Client.
– Development team will be responsible for preparing Test enviorment on which performance test will run.
– Test script will be executed on dedicated Test server.
– Development team will be involved in performance tuning activity.
– Performance Test reports will be prepared by QA engineer.
Test cycles will be run on need basis. In order to get the nearest possible response time results, for each of the test cycles, 2 test runs of each scenario will be performed and based on the results achieved, the average response time of the 2 runs will be considered. Average response time of pages would be considered during the tests.
In this section you need to mention the Time period for each task starting from preparation of Test Plan, Test script creation and execution.
Following are the assumptions made (Add / Remove as per your requirement):
– Performance Test Plan document is prepared and signed-off by the client team.
– Script workflow is documented and signed-off by Test Lead & Project Manager.
– Performance Testing will be done on dedicated and controlled enviorment.
– Performance Test execution will be done on the same build that goes into Production.
– The Database in Test environment is replica of Production Database.
Risks & Contingencies
– Test scripts prepared in previous builds are often unreliable on latest builds due to functional changes and bug fixes. This issue will cause additional time and cost of re-building the scripts on latest build.
– Planned/Unplanned server down time during Performance Testing activity will affect the test. Such delay in execution will be communicated to the stackholders by Project Manager.
– Unavailability of required resources can hamper the test. Such delay will be communicated to the PM/TL by QA Team.
– Unstable build or availability of Blocker/Critical defects can affect the Performance Test schedule.
– Change in application/server/test data/configuration may require modification of performance test script(s). It may also impact load test schedule.
Required Resources & Enviormental Configuration
Here you need to mention Test environment (UAT and/or Production) configuration + Database information.
Test Machines : 4 Test machines with minimum 8 GB RAM at the client end having high bandwidth are mandatory. Test machines should be having JDK 1.6 or higher and JMeter 2.12 or higher installed.
Tools / Software :
Jmeter – For performance test script record and execution. It injects the virtual load threads and capture the system response time.
YSlow – For page specific performance measurement with single user, YSlow is used.
JConsole – For performance monitoring. Used to monitor the application servers’ performance under load. This will be installed on all the application servers on which performance testing is to be done.
Suspension and Resumption Criteria
Performance Testing will be suspended under below conditions :
– Unavailabilityity of system
– Server downtime due to uncertain reason
– Application is having Blocker / Critical defects in open state
– Required dependencies are not available.
Performance Testing will be resumed under below conditions :
– System becomes available
– Server is available, up and running
– Blocker / Critical issues are resolved and fixed
– Dependencies are resolved and Application is functional.
QA Team will be responsible for preparing Performance Test Plan and executable scripts.
During testing scripts will be executed and generated reports will be exported.
– Performance Test results are matching with the expected requirements mentioned in “Test Scope” section of this Test Plan.
– No Performance issues are in open state for all the features.
That’s it for Performance Test Plan. Each organization follows it’s own format of Test Plan. Do you want me to include any missing point ? Please let me know. What are your views on preparing this document ?
Share your thoughts and experience in the comment section. Thank You & Happy Testing !!