How are programs tested with test data, what types of error occur, and how is a program evaluated against its requirements?
Explain how programs are tested using a test plan and normal, boundary and erroneous test data, describe syntax, logic and runtime errors, and explain how a program is evaluated against its requirements.
A CCEA GCSE Digital Technology answer on testing and evaluating programs for the Programming route (Unit 4), covering test plans and normal, boundary and erroneous test data, the types of error (syntax, logic and runtime), and evaluating a program against its requirements.
Reviewed by: AI editorial process; not yet individually human-reviewed
Have a quick question? Jump to the Q&A page
Jump to a section
What this dot point is asking
A program is not finished until it has been tested and judged against what it was meant to do. The Programming route (Unit 4, Digital Development Concepts) expects you to explain how programs are tested using a test plan and different kinds of test data, describe the types of error that occur, and explain how a program is evaluated against its requirements. This covers the testing and review stages of the development cycle as they apply to programming.
Testing with a test plan
Testing checks that a program works correctly, and it should be done systematically rather than by guesswork.
A test plan makes testing thorough and provides evidence that the program has been checked. Without one, it is easy to miss cases and assume a program works when it does not.
Normal, boundary and erroneous test data
Good testing uses carefully chosen test data of three kinds, so the program is checked across the range of possible inputs.
Using all three is important because errors frequently occur at the boundaries (for example a test that wrongly accepts 101) or with unexpected, erroneous input (for example crashing when a letter is typed where a number is expected). Testing only with normal data would miss these common faults.
Types of error
Three kinds of error are examined, and you must be able to tell them apart.
A syntax error breaks the rules of the programming language, such as a misspelt keyword or a missing bracket, so the program will not run or translate at all. A logic error means the program runs but produces the wrong result, because the algorithm's logic is faulty, for example using the wrong operator or condition. A runtime error occurs while the program is running and causes it to stop or crash, for example dividing by zero. The key contrast for the exam is that a syntax error stops the program running, while a logic error lets it run but gives a wrong answer, which makes a logic error harder to find because nothing reports it.
Testing and evaluating in practice
The exam often asks you to design tests or judge a program, so the skill is choosing test data and evaluating against the requirements.
After testing, the program is evaluated: it is judged against the requirements agreed at analysis, deciding how fully it meets them, whether it is reliable and usable, and what could be improved. Evaluation differs from testing because it asks whether the program meets its purpose, not just whether it runs.
Why this matters
Testing and evaluation make a program reliable and confirm it meets its brief, completing the development cycle. They are examined in Unit 4 and applied directly in the Unit 5 practical, where you must test your program with suitable data and evaluate it against the task. Knowing the kinds of test data, the kinds of error, and the difference between testing and evaluation secures marks across both.
Exam-style practice questions
Practice questions written in the style of CCEA exam questions on this dot point, with worked answer explainers. The year tag is the paper they imitate, not the source.
CCEA-style (Unit 4)4 marksA program accepts a test mark from 0 to 100. Explain the terms normal, boundary and erroneous test data, giving an example value of each for this program.Show worked answer →
Normal data is typical, valid data that should be accepted, for example 57 (1 mark with example).
Boundary data is data at the edge of what is allowed, testing the limits, for example 0 or 100 (the lowest and highest valid marks) (1 mark with example). Erroneous data is invalid data that should be rejected, for example 150 or a letter such as "x" (1 mark with example). The fourth mark is for clear, correct definitions overall. A strong answer shows that good testing checks valid values, the exact limits, and invalid values, because errors often occur at the boundaries or with unexpected input.
CCEA-style (Unit 4)3 marksDescribe the difference between a syntax error and a logic error, and explain why a logic error can be harder to find.Show worked answer →
A syntax error breaks the rules of the programming language, such as a misspelt keyword or missing bracket, so the program will not run or translate (1 mark).
A logic error means the program runs but produces the wrong result, because the logic of the algorithm is faulty, for example using the wrong operator (1 mark). A logic error is harder to find because the program does not report it: it runs without crashing, so the only sign is an incorrect output, and the developer must check the logic and test with data to locate it (1 mark). A strong answer contrasts a syntax error (stops the program running) with a logic error (runs but is wrong).
Related dot points
- Describe the three basic programming constructs, sequence, selection and iteration, explain how each controls the flow of a program, and identify when each is used.
A CCEA GCSE Digital Technology answer on programming constructs for the Programming route (Unit 4), covering the three basic constructs of sequence, selection and iteration, how each controls the flow of a program, and when each is used.
- Explain what an algorithm is, describe how a solution is designed and represented using flowcharts, pseudocode and structure diagrams, and explain the role of interface design and decomposition.
A CCEA GCSE Digital Technology answer on algorithms and design for the Programming route (Unit 4), covering what an algorithm is, designing and representing a solution with flowcharts, pseudocode and structure diagrams, decomposition, and interface design.
- Describe the stages of the system development life cycle, analysis, design, development, testing, installation and review, explain what happens at each, and explain why development is iterative.
A CCEA GCSE Digital Technology answer on the system development life cycle for the Programming route (Unit 4), covering the stages of analysis, design, development, testing, installation and review, what happens at each stage, and why development is an iterative cycle.
- Outline the Unit 5 Digital Development Practice controlled assessment for the Programming route, including the CCEA-set task, the analyse, design, develop, test and evaluate stages, and how the work is assessed.
A CCEA GCSE Digital Technology overview of the Unit 5 Digital Development Practice controlled assessment for the Programming route, covering the CCEA-set task, the analyse, design, develop, test and evaluate stages, and how the practical programming work is assessed.
- Explain how programs store data in variables and constants, describe the common data types (integer, real, Boolean, character and string), and explain why the correct data type is chosen.
A CCEA GCSE Digital Technology answer on data, variables and data types for the Programming route (Unit 4), covering variables and constants, the common data types of integer, real, Boolean, character and string, and why the correct data type is chosen.
Sources & how we know this
- CCEA GCSE Digital Technology (2017) specification — CCEA (2017)