Differences between Performance, Load and Stress Testing
Load Testing and Performance Testing are commonly said as Positive Testing where as Stress Testing is said to be as Negative Testing.
Performance Testing : This measures the response time of an application with an expected number of users. The aim of this is to get a baseline and an indication of how an application behaves under normal conditions. Does it meet the required response time or not.
It is all about response time, request time, throughput time and mean time of application.
Load Testing : This measures the response time when the application is subjected to more than usual load. The application will be slower under heavy load, but the aim of load testing is to see whether the application can sustain the increased load on the server or will it crash and kill the servers. Load is more about characterizing / simulating your actual workload. Load testing is usually started as low numbers and gradually increased over a given period of time until it reaches the desired load on the system and then it ramps down.
It is all about testing behavior under normal and peak workload conditions.
Stress Testing : Stress Testing is like load testing but we keep on increasing the load on the server till the time it crash down. The aim of stress testing is to test the insane limits of an application. Stress testing starts of the same as load testing, e.g. gradually increasing load on the servers, the process is repeated till the time the load is reached to the unexpected limits.
It is all about surfacing issues under extreme conditions and resource failures.
Break Point : If we keep increasing the load on the server, there comes a point when the server cannot handle any more requests and it crashes, most probably starting to give a http error 500 response code.