A Course in Black Box Software Testing

Examples of Stress Testing

See lecture notes on stress testing.

Copyright (c) Cem Kaner, 2004


Stress testing refers to a type of testing that is so harsh, it is expected to push the program to failure. For example, we might flood a web application with data, connections, and so on until it finally crashes. The fact of the crash might be unremarkable. The consequences of the crash, what else fails, what data are corrupted and so forth, are the results of interest for the stress tester.

Buffer overflows are classic examples of stress test results. Excessive input is used to crash some component of the application. The consequence of the failure is that the attacker can now bypass the no-longer-running input filter and take over the application or computer under attack.

A more modest definition of stress testing, not followed in this course, is any test that hits the program with boundaries or other extreme values. These are domain tests. They aren't, or shouldn't be, stressful enough to be stress tests.

The following examples illustrate the application of the stress testing style of analysis:

Copyright (c) Cem Kaner 2004

This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/2.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

These notes are partially based on research that was supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.