Stress testing verifies a system in terms of its stability in critical conditions. This type of performance testing is similar to performance testing, that is why some people argue about its classification. Testing performance under extreme conditions is first of all necessary because system failure can lead to serious consequences, which can affect costs or even human lives.
It is usually not possible to manually provide critical load conditions. That is why testers use the following strategies:
Another case when stress testing is used is to test software capacity to determine system safety margin when it fully meets the performance requirements. It is important to take into account both the current load of requests and transactions and their expected number. Capacity testing allows assuring software quality that meets the specified requirements.