KwickAcademy Course Topics · 5 min · free
Test data: normal, abnormal, extreme, boundary
Test data is values chosen to test a program, each with an expected result to compare with the actual result. For marks 0 to 100: normal 45, abnormal -5 or ten, extreme 0 and 100, boundary 100 and 101.
Follows the syllabus of: Cambridge IGCSE Grade 10 Computer Science (0478)
On screen in this lesson
What is test data?
| Test data: values chosen to test a program |
| Each test has an expected result |
| Compare the actual result with the expected one |
| A mismatch shows an error to fix |
Our example rule
| Input: exam marks |
| Accept whole numbers from 0 to 100 |
| Reject anything else with a message |
Four types of test data
| Type | Meaning | Marks example |
|---|---|---|
| Normal | should be accepted | 45, 72 |
| Abnormal | should be rejected | -5, 150, ten |
| Extreme | largest, smallest | 0, 100 |
| Boundary | each side of limit | 0 and -1 |
Normal data
| Values the program should accept |
| Typical, everyday input |
| Marks: 45, 63, 88 |
Abnormal data
| Values the program should reject |
| Out of range: -5, 150 |
| Wrong type: ten, 45.5 |
| Checks the error message appears |
Extreme data
| The largest and smallest accepted values |
| Still normal, but at the very ends |
| Marks: 0 and 100 |
Quick answers
The check becomes Mark < 100. What happens with 100?
It is rejected, so a bug is found.
Is 101 extreme or boundary data?
Boundary: just outside the upper limit.
KwickClips from this lesson
Short clips, one idea each. Good for revision the night before.
The full lesson, in text
Hello students, welcome to Kwickprep. You write a program that accepts marks from zero to one hundred. How do you prove it works before your teacher uses it? Today we will learn test data, and the four types: normal, abnormal, extreme and boundary.
First, the meaning of test data. Test data is a set of values we choose on purpose to check that a program works correctly. For each value, we first write down the expected result, which is what should happen. Then we run the program and compare the actual result with the expected result. If they do not match, we have found an error to fix.
We will use one rule for the whole lesson. The input is a student's exam marks. The program must accept whole numbers from zero to one hundred, including both. Anything else must be rejected with an error message.
Here are the four types in one table. Normal data is ordinary data the program should accept, like forty five. Abnormal data, also called erroneous data, should be rejected, like minus five, one hundred and fifty, or the word ten. Extreme data is the largest and smallest values that are still accepted, zero and one hundred. Boundary data tests each side of a limit: the last value accepted and the first value rejected.
Let us look at each type closely, starting with normal data. Normal data is data the program should accept and process. It is the typical input a real user would type. For our marks, forty five, sixty three and eighty eight are normal data.
Next, abnormal data. Abnormal data is data the program should reject. Minus five and one hundred and fifty are outside the range. The word ten and forty five point five are the wrong type, because we want whole numbers. These tests prove the program shows an error message instead of accepting bad data.
Now extreme data. Extreme data is the largest and the smallest value that should still be accepted. It is valid, but it sits at the very ends of the range. For our marks, the extreme values are zero and one hundred.
Finally, boundary data, which tests both sides of each limit. At the lower limit, zero should be accepted and minus one should be rejected. At the upper limit, one hundred should be accepted and one hundred and one should be rejected.
Let us run these tests in Python. The function named valid returns True when m, the marks, is from zero to one hundred. The loop tries five test values. Forty five is normal and is accepted. Minus one and one hundred and one are boundary values just outside, so they are rejected. Zero and one hundred are extreme values, and they are accepted.
Exams may give you the check in pseudocode and ask for test data. Read the condition carefully. Greater than or equal to zero and less than or equal to one hundred means both limits are accepted. So your extreme data is zero and one hundred.
Pause and predict. Suppose a programmer wrongly writes Mark less than one hundred. You test with the extreme value, one hundred. Is it accepted or rejected? It is rejected, which does not match the expected result, so your test data has caught a bug.
Programmers record their tests in a test plan. Forty five is normal data, and it should be accepted. The word ten is abnormal data, and it should be rejected. One hundred is both extreme and boundary data, and it should be accepted. One hundred and one is boundary data, and it should be rejected.
Let us revise what we learned today. Test data checks that a program gives the expected results. Normal data is typical data that is accepted. Abnormal data is rejected because it is out of range or the wrong type. Extreme data is the largest and smallest accepted values. Boundary data tests both sides of each limit.
Courses that teach this
| Course | Unit |
|---|---|
| Cambridge IGCSE Grade 10 Computer Science (0478) | 7. Algorithm Design and Problem-Solving |
Voice-over in this lesson is AI-generated. The script is written and checked by Kajal Ma'am. Boards can revise a syllabus mid-year, so confirm anything you plan around against the official board circular. Keep your passwords, OTPs and ID numbers to yourself — we never ask for them. To reach Kajal Ma'am, use the WhatsApp button; sharing your number there is how we call you back.
Free to watch, no sign-up. Live classes with Kajal Ma'am are the paid course; these lessons stay free either way.



