What is Load Testing?
Load test, performance test, stress test, soak test…there are numerous of terms to describe these efforts and even within the testing community there is not unanimous agreement. These definitions line up well with the most common usages:
- Performance Testing – Any testing that is focused on measuring the performance of a system. This is in contrast to functional testing, which is primarily focused on measuring the correctness of the system. When you use a stopwatch to measure page load times in your browser, you are performance testing.
- Load Testing – Performance testing with the goal of measuring the performance of a system under realistic load. This is the most common type of performance testing. The goal is usually to answer questions like “How many users can my website handle?” or “How fast will the homepage load when 100 users are on the system?”
- Stress Testing – Performance testing under abnormal conditions. The goal is typically to determine how a system will fail, rather than when it will fail. This might include subjecting it to far higher load than it will be expected to handle, simulating hardware failures, or artificially constraining memory available to the system.
- Soak Testing – Performance testing with the goal of measuring the performance changes of a system over long periods. A common soak test scenario is running a load test at typical load levels for days or weeks at a time to determine if the performance degrades over time (e.g. due to memory leaks).
Chris Merrill
Chief Engineer at Web Performance