Stress testing is a non-functional testing technique performed as part of performance testing. During the stress test, all steps of the system are followed after exposing the system to overload to ensure that the system can withstand stress.
Recovery of the system from this stage (after stress) is crucial as it is likely to occur in the production environment.
Stress testing is a computer simulation technique used to test the resilience of institutions and investment portfolios to possible future financial situations. Such tests are widely used by the financial industry to help assess internal processes and controls, as well as to measure investment risk and asset adequacy. In recent years, regulators have also mandated that financial institutions conduct stress tests to ensure that their capital assets and other assets are adequate.
Need for Stress Testing
- To check whether the system works under abnormal conditions.
- Displaying appropriate error message when the system is under stress.
- System failure under extreme conditions could result in enormous revenue loss
- It is better to be prepared for extreme conditions by executing Stress Testing.
Goals Of Stress Testing
The main purpose of stress testing is to analyze the behavior of the system after a failure. For the stress test to be successful, a system must show an appropriate error message when under extreme conditions.
To perform a stress test, large data sets can sometimes be used that can be lost during a stress test. Testers should not lose this safety-related data when performing stress testing.
The main purpose of the stress test is to ensure that the system recovers after a failure called recoverability.
Types of Stress Testing
1.Distributed Stress Testing
In distributed client-server systems, testing is performed between all clients from the server. The role of the stress server is to deploy a series of stress tests to all stress clients and monitor the entire state of the client. After the client connects to the server, the server adds the client’s name and starts sending data for testing.
At this time, client machines send a signal or signal that they are connected to the server. If the server does not receive any signals from the client machine, it must be investigated further for debugging.
Night running is the best option for running these stress test scenarios. Large server farms need a more efficient method to determine which computers have stress failures to investigate.
2.Application Stress Test
This test typically focuses on finding flaws in an application that are related to data locking and blocking, network issues, and performance bottlenecks.
3.Transactional Stress Testing
Performs stress testing on one or more processes between two or more applications. Operational stress testing is used to fine-tune and optimize the system.
4.Systemic Stress Testing
This is an integrated stress test that can be tested on multiple systems running on the same server. It is used to find flaws where one application’s data blocks another application.
5.Discovery Stress Test
This is one of the stress tests used to test the system with unusual parameters or conditions that are unlikely to occur in an actual scenario. It is used to find flaws in such unexpected scenarios
How to do Stress Testing?
- Stress test planning. Here you collect system data, analyze the system, define stress test targets
- Creating automation scripts: at this stage, creating stress test automation scripts, creating test data for stress scenarios.
- Script execution: at this stage, run the stress test automation scripts and store the stress results.
- Result analysis: at this stage, you analyze the stress test results and identify bottlenecks.
- Customization and optimization: at this stage, you fine-tune the system, change the configurations, optimize the code to reach the criteria you want.