Revise Computing
Revision notesQuestionsFor schools
Log inStart revising free
Revision notesQuestionsFor schoolsLog in
GCSE Computer Science/Paper 2/Testing

Normal; Boundary; Invalid/Erroneous

Selecting and using suitable test data: Normal; Boundary; Invalid/Erroneous

2.3.2 Testing

Practise exam questions

Testing — Note 4 of 5

Normal test data as data which should be accepted by a program without causing errors; Boundary test data as data of the correct type which is on the very edge of being valid; Invalid test data as data of the correct data type which should be rejected by a computer system; Erroneous test data as data of the incorrect data type which should be rejected by a computer system; Ability to identify suitable test data for a given scenario; Ability to create/complete a test plan

What you need to know

When testing a program, you should use three types of test data. Normal data is typical data that should be accepted. Boundary data tests the very edges of valid ranges. Invalid/erroneous data should be rejected by the program. Using all three types ensures thorough testing that covers normal use, edge cases, and misuse.

What to know

  • Normal test data: typical, expected input that the program should accept and process correctly (e.g. 3 for range 1-5).
  • Boundary test data: values on the very EDGE of a valid range. For range 1-5 inclusive: test with 1 and 5 for VALID boundary, or 0 and 6 for INVALID boundary.
  • Invalid test data: correct data type but outside the acceptable range (e.g. 0 or 6 for range 1-5).
  • Erroneous test data: wrong data type entirely (e.g. "bananas" when a number is expected).
  • Normal and boundary data should be accepted; invalid and erroneous data should be rejected.
  • A test plan documents the test data, type of test, expected results, and actual results.

Exam technique

  • Tip:Give specific test data VALUES (e.g. 50), not descriptions (e.g. 'a value between 40 and 180'). Descriptions do not score marks.
  • Tip:For boundary data that should be VALID (accepted), choose the exact boundary values (e.g. 40 or 180 for range 40-180 inclusive). NOT 39 or 181 if the expected output says 'VALID'.
  • Tip:Erroneous data can be a non-numeric value like "bananas" when a number is expected.
  • Example:For range 1-5 inclusive: Normal = 2 (ALLOWED), Boundary = 1 or 5 (ALLOWED), Erroneous = 7 or "hello" (NOT ALLOWED).

Code examples

Test data for range 1-100
python
# Testing input validation for range 1-100:
#
# Normal:     50      -> Accept
# Boundary:   1       -> Accept (lower edge)
# Boundary:   100     -> Accept (upper edge)
# Invalid:    0       -> Reject (just below)
# Invalid:    101     -> Reject (just above)
# Erroneous:  "hello" -> Reject (wrong type)
# Erroneous:  -5.5    -> Reject (wrong type)

Ready to test yourself?

Practise 2.3.2 questions
← Previous noteSyntax and logic errors2.3.2 TestingNext note →Refining algorithms2.3.2 Testing

Back to Testing

Revise another OCR GCSE topic: Defensive Design

Testing

Note 4 of 5

  1. 1Testing
  2. 2Iterative, Final/terminal
  3. 3Syntax and logic errors
  4. 4Normal; Boundary; Invalid/Erroneous
  5. 5Refining algorithms
Topic overview

© 2026 Revise Computing · revisecomputing.co.uk

Privacy noticeTermsContact

Revise Computing is an independent revision resource. It is not affiliated with, or endorsed by, OCR (Oxford Cambridge and RSA Examinations).