One of the more common misconceptions regarding software testing techniques is that stress testing and load testing is the same thing. Unfortunately this is simply not so, which is troublesome because you will need to understand the nuances if you are trying to earn your ISEB Foundation or ISTQB Foundation (CTFL) certification. Thus, I thought I’d take a few minutes and shed some light on the subject.
It’s easy to see why this misconception exists. Both tactics involve introducing a large load to the software application, but the ultimate goal of each method is different. Stress testing aims to expose the software to a level of load beyond what the systemic resources can handle, such that it literally crashes the system. The load is usually manipulated so that it is high enough to deplete the resources. The goal is to assess the breaking point to see if a break would cause harm in other ways, such as disconnecting some system interface or corrupting the data in other systems.
Load testing typically introduces a statistically representative load into the system to help facilitate performance testing and reliability testing. So whereas stress testing aims to break the system to measure the impact, load testing aims to test the system at different loads to measure performance and reliability. For example, the software might be subjected to a minimum amount of load (like 0) all the way up to a maximum level to see if resources get depleted, if performance suffers from slow processing times or erroneous transactions, etc. This helps determine the maximum amount of load the system can properly handle without any performance issues.
So if you’ve been mislead about the difference between these two methods, I hope this post helps clarify the nuances of each. Both are similar and necessary, but each has slightly different uses and goals. Until next time, happy testing!
Filed Under: Software Testing