Stress testing is a form of testing that is used to determine the stability of a given system or entity under load. It involves testing beyond normal operational capacity, often to a breaking point, in order to observe the results.
Stress testing is for ensuring the tolerance of the application at certain loads (usually extremely high loads). It refers to tests that put a greater emphasis on robustness, capability and error handling under a heavy load, rather than on what would be considered correct behavior under normal circumstances.
Sometimes, as the load on the system increases the system throws errors or behaves unexpectedly. The stress test targets exactly this behavior. Determining that the software handles the load gracefully without crashing is the aim of this test. In particular, the goals of such testing may be to ensure the software does not crash in conditions of insufficient computational resources (such as memory or disk space), unusually high concurrency, or denial of service attacks.