Learning Objectives
- Distinguish normal, abnormal, extreme and boundary test data.
- Suggest test values and expected outcomes for a scenario.
- Construct a clear test plan.
- Explain how test results lead to corrections and retesting.
Key Terms
- Test data
- Values chosen to check how an algorithm or program behaves.
- Normal data
- Valid data that is typical of expected use.
- Abnormal data
- Invalid data that should be rejected.
- Extreme data
- Valid data at the limits of an allowed range.
- Boundary data
- Data at and immediately around a boundary, used to test the precise change between accepted and rejected values.
- Expected result
- The outcome predicted before the test is run.
- Actual result
- The outcome produced when the test is run.

Why Test Data Is Planned
Random testing may miss important conditions. A test plan is based on the requirements and validation rules so that ordinary use, invalid use and limits are covered deliberately.
The expected result must be written before running the program. Otherwise a tester may accept an incorrect result simply because it looks reasonable.
Normal And Abnormal Data
Normal data is valid and representative of ordinary use. For a mark from 0 to 100, 63 is normal. Abnormal data is invalid and should be rejected, such as -4, 114 or text when an integer is required.
A single abnormal value may not test every rule. Separate tests may be needed for below-range, above-range, wrong-type, missing and wrong-format inputs.
Extreme Data
Extreme data is valid data at the lowest or highest permitted value. For the inclusive mark range 0 to 100, the extreme values are 0 and 100. Both should be accepted.
Extreme values check that valid limits have not accidentally been excluded by conditions such as Mark > 0 instead of Mark >= 0.
Boundary Data
Boundary testing focuses on the exact transition between valid and invalid values. For 0 to 100 inclusive, a thorough boundary set includes -1, 0, 1 and 99, 100, 101.
Values just inside, exactly on and just outside each boundary reveal incorrect comparison operators and off-by-one errors. Cambridge distinguishes boundary from extreme: the exact valid limits are extreme, while boundary testing includes values around the limits.
Test Plan Structure
| Test | Data | Type | Expected Result |
|---|---|---|---|
| Typical valid mark | 63 | Normal | Accepted and used in calculation |
| Lowest valid mark | 0 | Extreme/boundary | Accepted |
| Just below lower limit | -1 | Boundary and abnormal | Rejected with error |
| Highest valid mark | 100 | Extreme/boundary | Accepted |
| Just above upper limit | 101 | Boundary and abnormal | Rejected with error |
| Wrong data type | “ten” | Abnormal | Rejected as not an integer |
Testing And Correction Cycle
After a test, compare the actual result with the expected result. If they differ, identify the cause, correct the algorithm or code and run the failed test again. Previous successful tests should also be repeated because a correction can introduce a new error.
This process connects the testing stage to iterative development. A complete record includes data, type, expected result, actual result and pass/fail outcome.
Worked Examples
Age Range
Question: Suggest boundary tests for an inclusive age range 12 to 18.
- Lower boundary: 11, 12 and 13.
- Upper boundary: 17, 18 and 19.
- Predict rejection for 11 and 19.
- Predict acceptance for 12, 13, 17 and 18.
Answer: The set checks values just outside, on and just inside both limits.
Password Length
Question: A password must contain at least eight characters. Suggest tests.
- Normal: a 10-character password.
- Extreme/boundary: exactly 8 characters, accepted.
- Boundary abnormal: 7 characters, rejected.
- Additional abnormal: blank input, rejected if presence is also required.
Answer: The tests cover ordinary valid use and the exact minimum-length boundary.
Examination Guidance
- State both data and expected result.
- Use values that match the precise rule in the scenario.
- Do not call an invalid outside value “extreme”; extreme values are valid limits.
- For boundary testing, include values just below, on and just above a limit where appropriate.
- Retest after corrections and consider regression of previously working cases.
Common Mistakes
- Choosing several normal values but no invalid values.
- Giving expected output without test data.
- Treating 101 as extreme for a 0 to 100 range.
- Testing only one end of a range.
- Changing the expected result after seeing the actual output.
Knowledge Check
1. What is normal data?
2. What is abnormal data?
3. What is extreme data?
4. What is boundary data?
5. Why predict the expected result first?