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.
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.
- Difference between Load Testing and Stress Testing
- Difference between Stress Testing and Volume Testing
- Difference between Performance and Stress Testing
- Software Engineering | Differences between Sanity Testing and Smoke Testing
- Software Engineering | Comparison between Regression Testing and Re-Testing
- Software Testing | Stability Testing
- Performance Testing | Software Testing
- Software Testing | Fuzz Testing
- Software Testing | Load Testing
- Software Testing | Static Testing
- Software Testing | Mutation Testing
- Sandwich Testing | Software Testing
- Software Testing | Dynamic Testing
- Software Testing | Database Testing
- Smoke Testing | Software 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 firstname.lastname@example.org. 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.