Performance Testing Standards · PT
Overview
This document provides guidance on best practices for writing performance tests for testers and developers to help ensure performance testing is consistent across projects.
Performance Tests: This is a broad category of non functional testing used to determine how a system performs in terms of responsiveness, stability, scalability, and speed under a particular workload.
Load Tests: This is a type of performance testing, these tests are designed to simulate a representative number of users accessing the system simultaneously to evaluate its performance under expected load conditions. E.g. Simulating 1,000 users accessing a website at the same time to see if it remains responsive.
Load tests must use a representative number of users · PT-01 · MUST · TEST
Load tests must simulate the expected number of concurrent users accessing the system to ensure the results reflect real-world usage.
Performance tests must use realistic data volumes ·PT-02 · MUST · TEST
Performance tests must use data volumes that are representative of production environments to ensure accurate results.
Load tests must cover the most common API calls and user journeys · PT-03 · MUST · TEST
Load tests must include the most frequently used API calls and user workflows to ensure critical paths are tested.
Performance tests should run on a regular schedule· PT-04 · SHOULD · TEST
Performance tests should be scheduled to run regularly (e.g. weekly or before a release) to identify performance issues early.
Performance insights should be gathered from diverse methods · PT-05 · SHOULD · TEST
Do not rely solely on load testing to assess system performance. Load testing is essential for understanding how a system behaves under expected user traffic, but it does not provide a complete picture.
Use a combination of performance testing methods to evaluate different aspects of system behavior. Examples include:
- UI performance testing – to audit front-end performance, including page load speed, interactivity, and visual stability. Various tools can be used for this purpose, such as Lighthouse.
- Stress testing - to determine how the system performs under extreme conditions and how it recovers from failure.
- Endurance testing - to identify issues such as memory leaks or performance degradation over time.
- Spike testing - to evaluate how the system handles sudden increases in load.
- Scalability Testing - to evaluate how the system performs as the workload increases.