What is stress testing? - Definition from Whatis.com

Stress testing is the process of determining the ability of a computer, network, program or device to maintain a certain level of effectiveness under unfavorable conditions. The process can involve quantitative tests done in a lab, such as measuring the frequency of errors or system crashes. The term also refers to qualitative evaluation of factors such as availability or resistance to denial-of-service (DoS) attacks. Stress testing is often done in conjunction with the more general process of performance testing.

When conducting a stress test, an adverse environment is deliberately created and maintained. Actions involved may include:

  • Running several resource-intensive applications in a single computer at the same time
  • Attempting to hack into a computer and use it as a zombie to spread spam
  • Flooding a server with useless e-mail messages
  • Making numerous, concurrent attempts to access a single Web site
  • Attempting to infect a system with viruses, Trojans, spyware or other malware.

The adverse condition is progressively and methodically worsened, until the performance level falls below a certain minimum or the system fails altogether. In order to obtain the most meaningful results, individual stressors are varied one by one, leaving the others constant. This makes it possible to pinpoint specific weaknesses and vulnerabilities. For example, a computer may have adequate memory but inadequate security. Such a system, while able to run numerous applications simultaneously without trouble, may crash easily when attacked by a hacker intent on shutting it down.

Stress testing can be time-consuming and tedious. Nevertheless, some test personnel enjoy watching a system break down under increasingly intense attacks or stress factors. Stress testing can provide a means to measure graceful degradation, the ability of a system to maintain limited functionality even when a large part of it has been compromised.

Once the testing process has caused a failure, the final component of stress testing is determining how well or how fast a system can recover after an adverse event.

This was last updated in June 2007
Editorial Director: Margaret Rouse

Email Alerts

Register now to receive SearchSoftwareQuality.com-related news, tips and more, delivered to your inbox.
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Dig Deeper

  • Load testing and performance testing with JMeter: Tutorial

    JMeter, a free open source load testing tool, is straightforward to use and supports several programming languages, including HTTP/HTTPS, SOAP, JDBC, LDAP and JMS. In the following set of informative tips, expert Mike Kelly explores the capabilities of JMeter and breaks down its use into a step-by-step approach.

  • Performance testing in the Agile enterprise

    Fitting performance testing into an existing or transitioning Agile enterprise is not easy. In this tip, software performance expert Scott Barber explains the challenges associated with performance testing in Agile environments and describes three approaches that Agile teams take in order to include performance test expertise on the team.

  • Types of performance testing for Web applications

    In this response, expert Pete Walen describes performance testing approaches that can steer your team in the right direction to enhance performance and avoid failures.

Do you have something to add to this definition? Let us know.

Send your comments to techterms@whatis.com