Stress testing tries to break the system under test by overwhelming its resources.
The main purpose of stress testing: Make sure that the system fails and recovers easily, this quality is also known as recoverability.
Stress Testing Example
Let us assume that the performance testing team has been asked to stress test an ecommerce application that sells Camping Gears.
- In order to perform stress testing of the ecommerce application, an extremely large number of visitors hitting the application is simulated using a stress testing tool (listed later in this article).
- The number of visitors being simulated would be exponentially higher compared to the average number of visitors expected to visit the website on a day to day basis.
- These virtual users are programmed to execute common activities like viewing products, adding, removing items from cart and purchasing the product etc.
- The number of users are increased suddenly to the point of failure, until the website crashes and is not longer able to handle additional traffic.
- Additional points that are noted are – How the website behaves at this time and if it recovers gracefully
- The results of the tests are used to identify bottlenecks, performance improvement areas, recovery / failover mechanisms etc.