Stress testing is a performance testing type. It is used to test the performance of the software with varying resources. Stress testing tests the stableness and reliability of the system. This test mainly specifies the robustness and error handling in heavy load conditions. This test specifies how system works under the extreme conditions. Stress testing is mainly used to check whether the system should not crash under extreme situations. This testing is also known as endurance testing. The main use of this testing is to set the limit whenever the software or hardware crashes.
Stress testing is valuable for the reasons like
- The system works in abnormal conditions
- To display proper error message under stress condition
- The system failure under stress condition can lead to revenue loss
- It is prepared to deal with extreme conditions by doing stress testing
For example
– identify the number of servers required by the software
The Goals of stress testing are
- The main objective of stress testing is to analyse the behaviour after the system is failed and display proper error messages under lot of load.
- Massive data sets can be used to perform stress testing which may be lost
- The testers should not lose the security related data while conducting the stress testing
- The main purpose of stress testing is recoverability
The stress testing monitors the system resources like processor, Memory and Network.
Types of stress testing
The types of stress testing are
Distributed stress testing:
In this type the testing is done between server and clients. It distributes the sets of stress tests on all stress clients and checks the status of client. After the client contacts the server the server will add the name and starts sending data.
2. Application Stress testing:
the main goal of this testing is to focus on finding the defects related to data blocking and locking.
3. Transactional stress testing:
It does stress testing on different testing on various transactions on one or more applications.
4. Systematic stress testing:
This is a type of integrity testing which can be tested across multiple systems running on the same server. It is used to find defects on one application on data blocks another application.
5. Exploratory testing:
It is used to find defects on unexpected situations like:
- Large number of users logged in at the same time
- If a virus scanner started at the same time in all machines.
- If database goes offline
- When a large volume of data is inserted to the database
The difference between the load testing and stress testing is
Load testing: It is a planned test to perform a number of requests in order to test the functionality of the system under different levels. The software performance is tested with varying number of users.
Stress testing: It increases the number of requests under the complete system failure. The software performance is tested with varying number of resources.
Questions
- What is stress testing?
- What are the goals of stress testing
- Explain the types of stress testing with examples?