When an extensive amount of stress testing is performed on a system during a period of continuous availability while testing a software is known as Soak testing, mainly done to see the way the application responds in actual use.
Soak tests are used to find out whether a system can sustain passing a significant load for a definite period. This testing is accomplished at the system level to determine whether the system will be able to bear a large volume of usage. It also considers results that might be inconsistent with the system's design.
The Objective of Soak Testing
Soak testing has the following goals:
- To track the way the system responds to prolonged periods of intense stress.
- To predict the collapse brought on by the heavy load.
- To evaluate the system's functionality.
- To build the system stable and dependable.
Failures detected by Soak Testing
Below are the failures or issues which are detected by the Soak Testing:
- Memory Leaks: Soak testing detects memory leaks that are serious enough to crash an application or the operating system.
- Failure of Layer Connections: Soak testing recognizes any weak links in the system's layers that could cause the system's modules to malfunction.
- Failure of Closed Database Connections: Under certain conditions, soak testing can identify the failure of closed database connections which may affect the entire system to crash.
- Response Time Degradation: Soak testing also identifies a reduction in the system's response time as it gets less effective and requires longer to respond.