Stress Testing | Software Testing
Prerequisite – Types of Software Testing
Stress Testing is a software testing technique that determines the robustness of software by testing beyond the limits of normal operation. Stress testing is particularly important for critical software but is used for all types of software. Stress testing emphasizes on robustness, availability and error handling under a heavy load rather than on what is correct behavior under normal situations.
Stress testing is defined as a type of software testing that verifies the stability and reliability of the system. This test particularly determines the system on its robustness and error handling under extremely heavy load conditions. It even tests beyond the normal operating point and analyses how the system works under the extreme conditions. Stress testing is performed to ensure that the system would not crash under crunch situations. Stress testing is also known as Endurance Testing or Torture Testing.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
Characteristics of Stress Testing:
- Stress testing analyzes the behavior of the system after a failure.
- Stress testing makes sure that the system recovers after failure.
- It checks whether the system works under the abnormal conditions.
- It ensures to display appropriate error message when the system is under stress.
- It verifies that unexpected failures do not cause security issues.
- It verifies whether the system has saved the data before crashing or not.
Stress Testing Process:
Types of Stress Testing:
- Server-client Stress Testing:
In this stress testing, testing is carried out across all clients from the server.
- Product Stress Testing:
Product stress testing concentrates on discovering defects related to data locking and blocking, network issues and performance congestion in a software product.
- Transaction Stress Testing:
Transaction stress testing is performed on one or more transactions between two or more applications. It is carried out for fine-tuning and optimizing the system.
- Systematic Stress Testing:
Systematic stress testing is integrated testing which is used to perform test across multiple systems running on the same server. It is used to discover defects where one application data blocks another application.
- Analytical Stress Testing:
Analytical stress testing is performed to test the system with abnormal parameters or conditions that are unlikely to happen in a real scenario. It is carried out to find defects in unusual scenarios like a large number of users logged at the same time or database went offline when it is accessed from a website.
Stress Testing Tools:
Advantages of Stress Testing:
1. Stress testing determines the behavior of the system after failure and ensures that system recovers quickly.
2. Stress testing ensures that system failure doesn’t cause security issues.
3. Stress testing makes system work in normal as well as abnormal conditions in appropriate way.