Testing and documentationHow to test software

The aim of testing is to prevent software failure. Using normal, exceptional and extreme test data as part of a test plan will reduce the prevalence of syntax, logic and execution errors in code.

Part of Computing ScienceSoftware design and development

How to test software

To thoroughly test a program, you should test it using normal, extreme and exceptional data. The data that falls into each of these categories depends on what your program is designed to do.

For example, if you designed a program to process students' test scores out of 50, then normal, extreme and exceptional data might be as follows:

Test CaseExplanationExample where a score should be between 0 and 50
NormalData that you would expect to work or be accepted and that lies within the range2, 45
ExtremeData at the lower and upper limits of the range0, 50
ExceptionalData that should not be accepted by the program-7, Loads
Test CaseNormal
ExplanationData that you would expect to work or be accepted and that lies within the range
Example where a score should be between 0 and 502, 45
Test CaseExtreme
ExplanationData at the lower and upper limits of the range
Example where a score should be between 0 and 500, 50
Test CaseExceptional
ExplanationData that should not be accepted by the program
Example where a score should be between 0 and 50-7, Loads

It is also important to know that extreme test data is NOT boundary testing. Sometimes extreme data is referred to as ‘boundary testing’ but this is a little inaccurate.

Extreme data is only concerned with the lower and upper values in a range, in this case 0 and 50.

Boundary testing would also include -1 and 51 (the first values outside the boundary).