Cambridge O Level Computer Science · Syllabus 2210 · Algorithm Design and Problem-Solving
Test Data
What is Test Data?
Data chosen deliberately to test whether an algorithm behaves as intended, classified as normal (valid typical data that should be accepted), abnormal (invalid data that should be rejected), extreme (the largest or smallest acceptable value) and boundary (the largest or smallest acceptable value together with the corresponding smallest or largest rejected value); every test value is paired with an expected result decided before the test is run.
This definition is part of the Algorithm Design and Problem-Solving chapter in Cambridge O Level Computer Science.
Test Data in context
Topic 7 is about the work that happens before and around writing code. You analyse a problem (identify it, strip away what does not matter, break it into parts, and name the inputs, processes, outputs and storage), you design a solution (structure diagram, flowchart, pseudocode), you code it, and you test it with data you chose on purpose. Along the way you use a small fixed set of standard methods — linear search, bubble sort, totalling, counting, maximum, minimum, average — you protect the input with validation and verification, and you prove behaviour with trace tables and with normal, abnormal, extreme and boundary test data. Nothing in this topic requires you to be fluent in a programming language; it requires you to be exact.
Test data is chosen on purpose, not typed at random, and every value comes with an expected result written down before the program is run. The syllabus limits the categories to four. Normal data is valid, typical data that should be accepted. Abnormal data is invalid data that should be rejected. Extreme data is the largest or smallest acceptable value. Boundary data is the largest or smallest acceptable value together with the corresponding smallest or largest rejected value — so boundary data always includes a value that is refused.
This mixes every kind of demand Topic 7 makes: definitions, ordering a process, reading a flowchart, tracing an algorithm, choosing a standard method, classifying test data and diagnosing a defect. Answer all fifteen before checking anything. Every question explains why the right answer is right, so a wrong answer is worth more than a lucky one.
Questions students ask about Test Data
What is the difference between a dry run and testing?
A dry run is done by hand, on paper, following the algorithm statement by statement — usually recorded in a trace table. Testing runs the actual program on a computer with chosen test data. A dry run finds logic faults before any code exists, which is exactly why it belongs to the design stage as well as to debugging.

