Whether you currently work in software testing or just possess your ISEB Foundation or ISTQB Foundation certification, I’m sure you’ve heard of it. Stress testing basically means testing a system or an application to determine its reliability under pressure. Oftentimes this type of testing involves running an application beyond normal capacity to determine when and how the application might crash. By testing a system under extremely heavy loads, it is possible to measure not only the breaking point, but also the performance of the application’s error handling, diagnostic, and self-stabilizing capabilities.
Stress testing differs from load testing in that the latter focuses on measuring performance and response times under normal conditions, including anticipated peak load conditions. Stress testing on the other hand focuses on measuring the performance of a system beyond its normal operating conditions, specifically to determine when and how everything might go up in smoke.
From a software tester’s perspective, this might seem like overkill. But it is an important process because it is impossible to predict how something will be used 100% of the time. By testing outlying conditions, developers can make sure that an application will work as expected in even the most bizarre of circumstances.
The process of stress testing is even more critical when it comes to Internet applications. For example, if you run a highly successful promotion that drives a large amount of traffic to the company website, you’d better make sure the site can handle the peak load. Otherwise, the site will go down, buyers will slip through your fingers, and the company’s reputation would take a huge hut. For this reason, web servers, databases, and other elements of e-commerce must be stress tested regularly to minimize unexpected downtime.
So there you have it, my synopsis of stress testing 101. The bottom line is that in order to gain a holistic view of a system or application, it is necessary to engage in both load as well as stress testing.
Filed Under: Software Testing