Stress testing is type of non functional testing which determine the ability of testing beyond the limits of normal operations. In stress testing load is increased to the breaking point to determine how much capacity system can handle.
It is designed to deal with abnormal situations and test based on “how high can we crank this up before it fails?”
It tests the system behavior, stability and performance by providing large number of users with massive transactions in short time period.
Stress testing is also called torture testing.
Stress testing used for
– To determine stability of system
– To determine breaking point or limit
– To check performance under heavy load
– To determine modes of failure in beyond the limits
It is used to determine system upper performance limit and verify how system recovers when the workload is reduced. The intent of this test is to answer the following questions
– Does system degrades performance as workload is increased.
– Are transactional data been lost as workload is increased?
– Is data integrity lost after workload is increased?
– Is system will fails due to large workload then how long it will take to come back online
Sometimes when we test the application or system based on variation of load is called as Spike or bouncing testing.
Spike testing or bouncing testing is subset of stress testing which focused on determining and validating the system performance under repeatedly increasing and decreasing the work load over short period of time.
If software is built for 1000 users then in stress testing check the performance and response providing greater than 1000 users in short time period. If we test the system greater than 1000 users and rapidly decreases the users and check the system performance is called as spike or bouncing testing.