It is a sort of the simplest form of performance testing. It checks the system by reguraly increasing the load until it reaches to its threshold value. This is done by increasing the number of concurrent users or transactions and verifying the behavior of application under test. The goal is to ensure that any updates to an application continue to meet minimum performance standards.
Stress testing is basically a load test, the approach is to apply a higher-than-expected workload and see how the system behaves under serious stress and when exceeding the design limits. The goal of stress testing is to measure the software stability, at what point does software fail, and how does the software recover from failure.
Spike testing is a type of stress testing that measures performance when a workload suddenly and substantially increases beyond typical production levels. The goal is to see how an application would perform if traffic suddenly spiked in production.
It is known as soak testing, It measures performance at a normal workload over an extended period of time. The goal of endurance testing is to check for system problems and expand upon load tests by determining if a long-running task causes issues over time.
It is used to determine if software is effectively handling increasing workloads. It focuses on the CPU usage, memory, and other infrastructure rather than the application. The goal is to ensure the workload may stay at the same level while resources such as CPUs and memory are changed.
It is known as flood testing because the test floods the system with data. They focus on large amounts of data hitting databases and data-processing tasks. The goal is to determine if database access eventually becomes a bottleneck.