Load testing and stress testing are two of the non–functional testing techniques.
“The process in which we put demands on the system or the device that is being tested and measure the device or the system’s response is called load testing.”
– This is a very convenient means for determining a system’s behavior under different conditions ranging from normal to anticipated peak loads.
– This non – functional testing technique is great for the identification of the maximum operational capacity of the software system along with other bottlenecks that might be hamper the application’s performance.
– It helps in determination of the elemental cause of the system’s performance degradation.
“When the system’s load is increased outside its normal range, this process is then known as the stress testing.”
– This is done for testing the response of the system at very peak or high or unusual loads.
People often confuse between these two but the thing is that the stress testing begins where the load testing ends i.e., the ending point of the load testing is the beginning point of the stress testing.
– The load in the stress testing is so great that most of the times in results only error conditions are expected.
– Another thing to be noted about these two is that the boundary between the load testing and stress testing is not defined.
– The agreement regarding what should be the specific goals of load testing is very little.
– Since load testing is non – functional testing technique, it is used interchangeably with software performance testing, concurrency testing, volume testing and reliability testing.
– In very rare cases, it might be used as a functional testing technique for the validation of the suitability of use.
– Stress testing is much more intense when compared to the load testing.
– This is the main reason why stress testing is called torture testing.
– It is quite deliberate and thorough and so is used for the determination of the stability of the entity or the system under test.
– The stress testing stresses the system above its maximum operational capacity that which is determined using the load testing.
– The stress testing continues until a certain break-point is reached.
– It is at this break point that the result can be observed.
Carrying out stress testing has the following 4 major reasons:
– The meaning and purpose of the stress testing varies from industry to industry.
– For example, the meaning and purpose of the stress testing is entirely different in software testing field from what we have in material industry.
– The main aim of the stress testing is to put exaggerated stress levels on the system’s hardware.
– The main reason behind this is ensuring the stability of the system.
The stress levels can be of the following types:
– The two components that are most commonly tested in this way are processor and the memory.
– The bench-marking software often overlaps with the stress testing since the purpose of both is the same only i.e., the assessment of the performance.
– The stability of the system is tested by forcing the system in to a failure condition in stress testing.
– On the other hand, in bench marking the performance is assessed at a particular task.