SLIDE 1
CSZone.co.uk
Click to advance · Arrow keys also work
Edexcel 1CP2 · Topic 6 · 6.4b

Testing
Strategies

Normal · Boundary · Erroneous · Test Plans · Iterative Testing

CSZoneEdexcel GCSE Computer Science 1CP2
Types of Test Data

Three Categories to Know

Normal (valid): typical values the program should accept and process correctly. e.g. age = 17
Boundary: values at the edge of the valid range — should just be accepted or just be rejected. e.g. age = 0, age = 120
Erroneous (invalid): values the program should reject — out of range, wrong type, or blank. e.g. age = -1, "abc", ""
Test Plan Example

Testing a score input (0–100)

TestTypeInputExpected Output
1Normal75Score accepted
2Boundary0Score accepted
3Boundary100Score accepted
4Erroneous-1Error message
5Erroneous"abc"Error message
Iterative vs Final Testing

When to Test

Iterative testing: test at every stage of development — after each subroutine or feature is added. Bugs are caught early and are easier to fix.
Final (terminal) testing: test the complete program at the end — ensures all parts work together correctly (integration testing).
Edexcel favours iterative testing — it is more efficient as bugs do not accumulate
Alpha testing: internal testing by developers; Beta testing: external testing by real users
Exam Practice

Have a go at this question

Edexcel-style question
A program accepts ages between 16 and 65. Give one normal, one boundary, and one erroneous test value, and state the expected outcome for each.
6 marks
Normal: 30 — accepted [1+1]. Boundary: 16 or 65 — accepted [1+1]. Erroneous: 15, 66, or "hello" — rejected with error message [1+1].
Key Takeaways

What to Remember

Normal: typical valid value; Boundary: edge of valid range; Erroneous: should be rejected
Test plan: test #, type, input, expected output, actual output
Iterative: test during development; Final: test complete program
Alpha = developer testing; Beta = real users testing before full release