Talking about difference between Performance Testing, Load Testing & Stress Testing has always been confusing and leads to different interpretations. We often see many people exchanging these words over different course of action. Let’s understand the core difference between these terminologies in simplest possible way.
Performance Testing :
Given a specific situation, how the components of an application are performing is the core idea of doing performance testing. Load Testing, Stress Testing, Spike
Testing, Volume Testing, Endurance Testing, Scalability and Reliability Testing are part of Performance Testing. Hence it is a very wide term.
Primary goal of doing Performance Testing is to set the benchmark of the system’s behavior towards performance. The aim is not to find the defects, but to evaluate the compliance of a system or component with specified performance requirements.
Load Testing :
Purpose of the Load Testing is to evaluate the behavior of the application under expected or specific load. Sometimes by doing the Load Testing you also aim to determine the upper limit by constantly increasing load on the system until it reaches it’s threshold level.
Primary goal of doing Load Testing is to identify the maximum amount of Load an application can handle without any performance related glitch.
Stress Testing :
It is a non-functional Performance Testing type focusing on going beyond the expected threshold. It is typically used to determine the application’s most upper performance limit and also to verify how system recovers when the workload is reduced.
Stress Test is the negative type of testing where we aim to break the system by either increasing load more than upper limit.