OCR · GCSE · Computer Science

    Course version: J277 · Version from Sept 2022

    Testing: Types of testing Iterative Final/terminal

    Testing is not a single event but a process carried out at different points in development.

    Checked against the OCR J277 specification on .

    • Point 2 of 5
    • 3 key terms

    Study notes

    From the checked teaching notes for this specification point.

    The idea

    Testing is not a single event but a process carried out at different points in development. Iterative testing happens repeatedly as each module or feature is written: the programmer runs the code, checks outputs against expected results, fixes defects and runs it again. This tight loop catches errors early, when they are cheap to fix, and supports incremental development. Final or terminal testing happens once the whole program is complete and integrated. It checks the system as a whole against the original requirements, including normal, boundary and erroneous data, and confirms that earlier fixes have not broken other parts.

    For example: A quiz program might be tested question by question during coding, then tested end-to-end with a full set of answers before release.

    What earns the marks

    • Iterative testing is repeated throughout development, typically after each small change or module is written.
    • Iterative testing supports early detection and correction of defects, reducing the cost and risk of later failures.
    • Final or terminal testing is carried out on the completed, integrated program rather than on isolated parts.
    • Final testing checks the whole system against the original requirements and user needs.
    • Regression checking after a fix is part of iterative testing because a change can introduce new faults elsewhere.

    Common mistakes and how to put them right

    • Treating iterative and final testing as the same activity.

      Put it right: Iterative testing is repeated during development, while final testing occurs once the whole program is complete.

    • Assuming final testing only means running the program once.

      Put it right: It should cover the full range of expected and unexpected inputs and the original requirements.

    • Believing that finding no errors in final testing proves the program is perfect.

      Put it right: Testing can only show the presence of errors, not their absence.

    Exam tips

    • Link each type of testing to a stage of the development cycle so your answer shows when and why it happens.
    • Use a short scenario, such as testing one function then testing the whole program, to make the distinction concrete.
    • When asked to compare, give one point about timing and one about scope for each type rather than listing definitions only.

    Try the lesson

    The start of the Testing: Types of testing Iterative Final/terminal lesson, made from checked teaching notes for this specification point.

    Have a go first

    Which type of testing is carried out repeatedly while a program is being developed?

    Listen

    Testing is not a single event but a process carried out at different points in development. Iterative testing happens repeatedly as each module or feature is written: the programmer runs the code, checks outputs against expected results, fixes defects and runs it again. This tight loop catches errors early, when they are cheap to fix, and supports incremental development. Final or terminal testing happens once the whole program is complete and integrated. It checks the system as a whole against the original requirements, including normal, boundary and erroneous data, and confirms that earlier fixes have not broken other parts. For example, a quiz program might be tested question by question during coding, then tested end-to-end with a full set of answers before release. A strong answer earns marks for these points. Iterative testing is repeated throughout development, typically after each small change or module is written. Iterative testing supports early detection and correction of defects, reducing the cost and risk of later failures. Final or terminal testing is carried out on the completed, integrated program rather than on isolated parts. Final testing checks the whole system against the original requirements and user needs. Exam tip: Link each type of testing to a stage of the development cycle so your answer shows when and why it happens.

    See it

    A flowchart running top to bottom. A node labelled 'Write module or feature' leads to 'Run the code', which leads to 'Check outputs against expected results', which leads to 'Fix defects'. An arrow from 'Fix defects' loops back up to 'Run the code', forming the repeated iterative testing cycle. A second arrow from 'Fix defects' leads to 'Whole program complete and integrated', which leads to 'Final or terminal testing'. That leads to 'Check system against original requirements', then to 'Use normal, boundary and erroneous data', then to 'Confirm earlier fixes have not broken other parts'.
    Shows the repeated iterative testing loop during development and the final or terminal testing of the completed, integrated program.

    Key words

    Say what each word means before you turn the card.

    Iterative testing

    Try answering aloud or in your head before turning the card.

    Final or terminal testing

    Try answering aloud or in your head before turning the card.

    Regression checking

    Try answering aloud or in your head before turning the card.

    See every definition
    Iterative testing
    Repeated testing carried out as each module or feature is written, where the programmer runs the code, checks outputs against expected results, fixes defects and runs it again.
    Final or terminal testing
    Testing carried out once the whole program is complete and integrated, checking the system as a whole against the original requirements.
    Regression checking
    Checking after a fix that a change has not introduced new faults elsewhere, as part of iterative testing.

    Label the diagram

    Some boxes have lost their names. Pick the right name for each number.

    The diagram again, with 3 boxes numbered instead of named. A flowchart running top to bottom. A node labelled 'Write module or feature' leads to 'Run the code', which leads to 'Check outputs against expected results', which leads to 'Fix defects'. An arrow from 'Fix defects' loops back up to 'Run the code', forming the repeated iterative testing cycle. A second arrow from 'Fix defects' leads to 'Whole program complete and integrated', which leads to 'Final or terminal testing'. That leads to 'Check system against original requirements', then to 'Use normal, boundary and erroneous data', then to 'Confirm earlier fixes have not broken other parts'.
    • 1Box 1

    • 2Box 2

    • 3Box 3

    0 of 3 labelled

    There is more to this lesson

    The full lesson goes on to check your understanding and help you earn the marks. Create a free account to carry on, with your progress saved.

    Carry on with the full lesson

    A week of Premium from your first lesson · Then the free plan continues · No card, no charge

    Test your understanding of Testing: Types of testing Iterative Final/terminal

    Active recall beats re-reading. Take an instant quiz now to test what you’ve learned and lock it into long-term memory.

    Take topic quiz

    A week of Premium from your first lesson · Then the free plan continues · No card, no charge