- Year 11
- AQA
Testing principles
I can explain different types of software testing.
- Year 11
- AQA
Testing principles
I can explain different types of software testing.
These resources will be removed by end of Summer Term 2025.
Switch to our new teaching resources now - designed by teachers and leading subject experts, and tested in classrooms.
These resources were created for remote use during the pandemic and are not designed for classroom teaching.
Lesson details
Key learning points
- Software testing checks whether a program works correctly, meets requirements and is free from bugs or errors.
- Integration testing checks whether different parts of the program work together correctly.
- Black box testing tests without knowing how the code works inside.
- White box testing tests with full knowledge of the code, often focusing on logic and structure.
- After testing, debugging can take place to remove and correct errors in a program.
Keywords
White box - a method of testing where all possible routes through a program are identified and tested
Black box - testing that does not rely on understanding the inner workings of a program
Debugging - the process of finding and correcting errors in program code
Common misconception
Testing is something you only do at the end of a project.
Testing is carried out throughout the development process. There are also specific stages and methods of testing that can be adopted. An overall approach to testing should be agreed and planned depending on the requirements of the system.
To help you plan your year 11 computer science lesson on: Testing principles, download all teaching resources for free and adapt to suit your pupils' needs...
To help you plan your year 11 computer science lesson on: Testing principles, download all teaching resources for free and adapt to suit your pupils' needs.
The starter quiz will activate and check your pupils' prior knowledge, with versions available both with and without answers in PDF format.
We use learning cycles to break down learning into key concepts or ideas linked to the learning outcome. Each learning cycle features explanations with checks for understanding and practice tasks with feedback. All of this is found in our slide decks, ready for you to download and edit. The practice tasks are also available as printable worksheets and some lessons have additional materials with extra material you might need for teaching the lesson.
The assessment exit quiz will test your pupils' understanding of the key learning points.
Our video is a tool for planning, showing how other teachers might teach the lesson, offering helpful tips, modelled explanations and inspiration for your own delivery in the classroom. Plus, you can set it as homework or revision for pupils and keep their learning on track by sharing an online pupil version of this lesson.
Explore more key stage 4 computer science lessons from the Python programming project unit, dive into the full secondary computer science curriculum, or learn more about lesson planning.
Equipment
Licence
Prior knowledge starter quiz
6 Questions
Q1.Which aspect of a software project would be described by a functional requirement?
Q2.What is the main purpose of input validation in a program?
Q3.What is the term for the data or information provided to a computer system for processing?
Q4.What is the term for the actions or steps a computer system carries out on data to transform it into a result?
Q5.Put these actions in order for using a list to manage homework submissions.
Q6.Match each example to the correct keyword.
ensuring a password has at least eight characters
keeping track of items in a shopping basket
requiring a system to send reminders
Assessment exit quiz
6 Questions
Q1.Which type of testing involves checking how different modules of a program interact?
Q2.What type of test data is deliberately incorrect or invalid to check whether a program can handle mistakes properly?
Q3.Match each term to its correct description.
testing without knowledge of internal workings
testing with full knowledge of the code
finding and fixing errors in code