Stress testing is a form of testing that is used to determine the stability of a given system or entity. It involves testing beyond normal operational capacity, often to a breaking point, in order to observe the results.
Stress Testing: A type of performance testing conducted to evaluate a system or component at or beyond the limits of its anticipated or specified workloads, or with reduced availability of resources such as access to memory or servers.
Stress testing is for ensuring fault tolerance capability of the application: it refers to tests that put a greater emphasis on robustness, availability and error handling under a heavy load, rather than on what would be considered correct behaviour under normal circumstances.
Sometimes, as the load on the system increases the system throws errors or behaves unexpectedly. The stress test targets exactly this behaviour. 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.