Performance testing is generally executed to determine how a system or sub-system performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage.
- Load testing is primarily concerned with testing that the system can continue to operate under a specific load, whether that be large quantities of data or a large number of users.
This is generally referred to as software Scalability.
- The related load testing activity of when performed as a non-functional activity is often referred to as endurance testing.
- Volume testing is a way to test software functions even when certain components (for example a file or database) increase radically in size.
- Stress testing is a way to test reliability under unexpected or rare workloads.
There is little agreement on what the specific goals of performance testing are. The terms load testing, performance testing, scalability testing, and volume testing, are often used interchangeably.