Records fall towards the database. Each card shows a field, what the form expects, and the value typed in. Answer the lowest record, in the sights, before it gets in. A wrong answer, or a record that gets in, costs a life (you have 5) and shows why; the game-over screen lists every mistake with the right answer.
- Core: which validation check catches the value? 1 Range, 2 Type, 3 Length, 4 Format, 5 Presence, 6 Check digit. Every third wave is mixed: would validation (1) or only verification (2) catch the mistake?
- Advanced: a rule and a test value: is it normal (1), abnormal (2) or extreme (3) test data?
Validation: is the data reasonable?
Validation is done by the computer, as data is entered, against rules: it rejects data that can't be right.
- Range check: a number (or date) is between a lowest and a highest value: an age from 11 to 18.
- Type (character) check: the data is the right type: a number, not "twelve"; a name with no digits.
- Length check: the number of characters: a password of 8 to 20, a PIN of exactly 4.
- Format check: the pattern of the data: a date as DD/MM/YYYY, a car registration as 3 letters then 3 digits.
- Presence check: a required field isn't left blank.
- Check digit: an extra digit calculated from the others (ISBNs, barcodes): it catches mistyped and swapped digits.
Verification: was it entered correctly?
Validation can't tell that a sensible value is wrong: an age typed as 16 instead of 15 passes every check. Verification checks the data matches the original. Double entry: the data is entered twice and the computer compares the two (a new password, typed twice). Visual check: a person compares the data on screen with the source document.
Test data
- Normal data is inside the range and should be accepted (14, for 11 to 18).
- Extreme data is exactly on a limit, the smallest or the largest value allowed, and should be accepted (11 and 18).
- Abnormal (erroneous) data is outside the range or the wrong type, and should be rejected (10, 19, "fourteen").
Some books call extreme data boundary data and test both sides of each limit: the value just outside (10 or 19) is still abnormal, because it should be rejected.
Common exam mistakes
- Saying validation makes sure data is correct. It only makes sure it is reasonable; verification checks it was copied correctly.
- Muddling length and format: a length check counts characters; a format check checks the pattern.
- Calling a double entry a validation check, or a check digit a verification check: a check digit is validation, done by the computer.
- Calling a limit value abnormal: the limits are accepted, so they are extreme data.
Scoring
A right answer scores 10 in Core and 15 in Advanced, plus up to half as much again for a quick one, and a streak multiplies it (×2 from 4 right in a row, up to ×5). In Core, a mixed wave's answers (validation or verification?) score 15. A wrong answer, or a card you miss, costs a life and starts your streak again. Scores are checked on the server, so the leaderboards (the world's, and your class's and school's when you're signed in) are fair.
Objective: choose and describe validation checks (range, type or character, length, format, presence, check digit), tell validation from verification (double entry, visual check), and choose normal, abnormal and extreme test data (Cambridge IGCSE ICT 0417, the systems life cycle: design and testing, and proofing; Cambridge International AS Level IT 9626, data processing and information: validation and verification).
Where this fits
- Cambridge: Cambridge IGCSE Information and Communication Technology (0417); Cambridge IGCSE Computer Science (0478); Cambridge A Level Computer Science (9618); Cambridge AS Level Computer Science (9618); Cambridge A Level Information Technology (9626); Cambridge AS Level Information Technology (9626)
- NCEA Level 1 Digital Technologies: 92004 Create a computer program; 92004 Create a computer program
- NCEA Level 2 Digital Technologies: 91892 Use advanced techniques to develop a database; 91892 Use advanced techniques to develop a database; 91896 Use advanced programming techniques to develop a computer program; 91896 Use advanced programming techniques to develop a computer program
- NCEA Level 3 Digital Technologies: 91906 Use complex programming techniques to develop a computer program; 91906 Use complex programming techniques to develop a computer program
- Pearson Edexcel International: Edexcel International GCSE Computer Science (4CP0); Edexcel International GCSE ICT (4IT1); Edexcel International A Level Information Technology Goes beyond Edexcel International GCSE Computer Science (4CP0): Verification (double entry, visual check) and check digits go beyond 4CP0.
- USDP: USDP Computer Science