Soak Testing is a type of software testing in which system is tested under huge load over a continuous availability period to check the behavior of the system under production use.
Soak Testing tests that system can withstand a huge volume of the load for an extended period of time.
This testing is performed at the system level to find whether the system will stand up to a very high volume of usage or not. It also tests that what would happen outside the design expectations of the system.
Objective of Soak Testing:
The objective of Soak Testing is to:
- To check the system behavior under heavy load for long time.
- To predict the failure caused by the heavy load.
- To test the performance of the system.
- To make the system reliable and stable.
Failures detected by Soak Testing:
The failures or issues detected by the Soak Testing are:
- Memory Leaks:
Soak testing detects the serious memory leaks which can cause application crash or lead up to the crash of operating system.
- Layer Connections Failure:
Soak testing finds the failure of close connections between the layers of the system that can interrupt the modules of the system.
- Database Connections Failure:
Soak testing detects the failure of close database connections under some conditions that may crash the complete system.
- Response Time Degradation:
Soak testing finds the degradation of response time of the system as the system becomes less efficient and takes more time to response.
Soak Testing Graphical Representation:
Advantages of Soak Testing:
The advantages of Soak Testing are:
- Soak Testing improves the performance of the system.
- Soak Testing increases the resistance of the system.
- Soak Testing makes the system work under heavy load.
- It improves the behavior of the system under the heavy load for long time.
- Software Engineering | Differences between Sanity Testing and Smoke Testing
- Difference between System Integration Testing (SIT) and User Acceptance Testing (UAT)
- Software Engineering | Comparison between Regression Testing and Re-Testing
- Difference between Database Testing and Data warehouse Testing
- Difference between Active Testing and Passive Testing
- Differences between White Box Testing and Gray Box Testing
- Difference between Unit Testing and Integration Testing
- Difference between Stress Testing and Volume Testing
- Difference between System Testing and Integration Testing
- Difference between Unit Testing and Sandwich Testing
- Graphical User Interface Testing (GUI) Testing
- Difference between Unit Testing and System Testing
- Difference between Load Testing and Stress Testing
- Difference between Frontend Testing and Backend Testing
- Difference between Performance Testing and Load Testing
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.