Load, Performance & Stress testing:
Performance Test and Load / Stress Test determine the ability of the application to perform while under load. During Stress/Load testing the tester attempts to stress or load an aspect of the system to the point of failure – the goal being to determine weak points in the system architecture. The tester identifies peak load conditions at which the program will fail to handle required processing loads within required time spans. During Performance testing the tester designs test case scenarios to determine if the system meets the stated performance criteria (i.e. A Login request shall be responded to in 1 second or less under a typical daily load of 1000 requests per minute.). In both cases the tester is trying to determine the capacity of the system under a known set of conditions. The same set of tools and testing techniques can be applied for both types of capacity testing – only the goal of the test changes.
Once a clearly defined set of expectations are defined, performance testing can be done by gradually increasing the load on the system while looking for bottlenecks.
All the activities take a white-box approach. The system is inspected and monitored “from the inside out” and from a variety of angles. Measurements are taken and analyzed and tuning is done accordingly
The best time to execute performance testing is at the earliest opportunity. Developing performance test scripts at an early stage provides opportunity to prevent serious performance problems and expectations before load testing.
Goals of Performance Testing:
Not to find bugs, but to eliminate system bottlenecks and establish a baseline for future regression tests
To determine various critical business processes and transactions while the system is under low load with a production sized database.
load testing” is usually defined as the process of testing the system by feeding it the largest tasks it can operate with. Load testing is also called volume testing, or longevity/endurance testing.
Goals of Load Testing:
Expose bugs such as memory management bugs, memory leaks, buffer overflows, etc.