Stress Test
What is Stress Test?
A stress test is a sort of non-functional test that evaluates how well a software system or application performs under extreme conditions. The futuristic load is an anticipated load that an application should be able to handle in the future using current technology and software. A stress test’s defined load is always higher than a load test’s.
How to Calculate the Future Load?
With the use of past data, the anticipated load is computed. Using data from prior years, the business analyst makes a prediction about the figures. He uses various mathematical formulas to compute the amount. Refer to the linear graph below to understand how to calculate the future load. It is a typical graph rather than a useful one:
This graph displays both historical and forecasted statistics. The historical data spans the years 2010 to 2018, with 2019 showing a burden for the future. According to the computation using linear equations, the anticipated load for 2019 is 100. Therefore, the hypothetical user load is 100.
In rare circumstances, 125%, 150%, or 200% of peak load might be considered for the stress test if data is not available for the computation. However, before running the test, acquire the project team’s approval on these volumes.
New application: The load test serves the same goal as the stress test since a new application lacks historical data. a new application has forecasted a peak load that is identical to the gear in the future. The subsequent load testing of a new application will be regarded as stress tests if the project wishes to test it beyond the anticipated peak load in the long term. The number of users in these subsequent testing ought to be bigger than in load tests.
Purpose of Stress Test:
- Determine the application’s capacity to handle future demand
- Keep this in mind for future loads.
- The behavior of the resources (CPU, Memory, and Disc) to confirm. They
- shouldn’t go beyond the specified performance threshold.
- To determine whether any bottlenecks exist
- Make a note of the mistake rate.
Approach:
The stress test’s NFRs are listed separately in the NFR document. These NFRs are connected to future user load estimates, response times, transactions per second, and other factors. Conduct the test at a percentage of 125%, 150%, or 200% of the peak load in the absence of future demand, and examine the application’s behavior. Using known or estimated NFRs, a performance tester creates the workload model and runs the test. The ideal stress test time (excluding ramp-up and ramp-down periods) is one hour. A typical user graph for a stress test is:
This stress test graph comprises a steady state lasting one hour, a ramp-up duration of ten minutes, and a ramp-down time of ten minutes. Consequently, the exam will last an hour and 20 minutes. After the test is over, a performance tester compares the results to the established load test NFRs.
In a single performance testing cycle, it is advised to schedule at least two stress tests; only go on to the following performance test type if the results of both tests are reliable.