Stress testing (computing)
In computing, stress testing (sometimes called torture testing) can be applied to either hardware or software. It is used to determine the maximum capability of a computer system and is often used for purposes such as scaling for production use and ensuring reliability and stability.[1] Stress tests typically involve running a large amount of resource-intensive processes until the system either crashes or nearly does so.
Hardware
A stress test (sometimes called a torture test) of hardware is a form of deliberately intense and thorough testing 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.
Reasons can include: to determine breaking points and safe usage limits; to confirm that the intended specifications are being met; to search for issues inside of a product; to determine modes of failure (how exactly a system may fail), and to test stable operation of a part or system outside standard usage.
Software
A system stress test refers to tests that put a greater emphasis on
Examples:
- A web server may be stress tested using scripts, bots, and various denial of service tools to observe the performance of a web site during peak loads. These attacks generally are under an hour long, or until a limit in the amount of data that the web server can tolerate is found.
Stress testing may be contrasted with load testing:
- Load testing examines the entire environment and database, while measuring the response time, whereas stress testing focuses on identified transactions, pushing to a level so as to break transactions or systems.
- During stress testing, if transactions are selectively stressed, the database may not experience much load, but the transactions are heavily stressed. On the other hand, during load testing the database experiences a heavy load, while some transactions may not be stressed.
- System stress testing, also known as stress testing, is loading the concurrent users over and beyond the level that the system can handle, so it breaks at the weakest link within the entire system.
See also
- Burn-in
- Destructive testing
- Load and performance test tools
- Black box testing
- Load testing
- Software performance testing
- Scenario analysis
- Simulation
- Software testing
- White box testing
- Technischer Überwachungsverein (TÜV) – product testing and certification
- Concurrency testing using the CHESS model checker
- Jinx automates stress testing by automatically exploring unlikely execution scenarios.
- Highly accelerated life test
References
- ^ "Keep it stable, stupid! How to stress-test your PC hardware". PCWorld. Retrieved 2023-03-11.
- ISBN 0-471-69736-2