CCEA A-Level Software Systems Development CL4
Software and the Development Environment
Defining Data: Types, Variables and Classes
Program Control Structures
Objects, Classes and Data Structures
Exception Handling and Managing Input and Output
Testing an Object Oriented Application
Graphical User Interface Objects and Events
Multiple Forms and Linking to Files
Designing, Testing and Evaluating an Event Driven Application
Reasons for Systems Development and Systems Methodologies
Managing Projects
Testing Strategies
Database Concepts and Entity Relationship Modelling
Normalisation and Structured Query Language
Project Management and the Systems Approach in Practice
Defining Requirements and Documenting the Design
Building a Desktop Solution with a Database
Testing and Evaluating the Solution
Testing Strategies
White box testing
- 3 things to know
- A2 Unit 1
Overview
White box testing, statement coverage and branch coverage.
What you need to know
Answer each one before you reveal it.
What is statement coverage?
What is branch coverage, and why is it a stronger measure than statement coverage?
Questions from this subtopic
Each one with the model answer underneath.
- 1
What is white box testing?
Model answer
White box testing designs the tests from the internal structure of the code, choosing inputs that drive execution down particular statements, branches and loops.
- 2
Why is white box testing also called structural testing?
Model answer
White box testing is called structural because the structure of the program — its decisions, loops and paths — decides what the tests are, rather than the specification of what the program should do.
- 3
What is statement coverage?
Model answer
Statement coverage is the proportion of the executable statements in a module that the tests actually cause to run, and full statement coverage means no line has been left unexecuted.
- 4
What is branch coverage, and why is it a stronger measure than statement coverage?
Model answer
Branch coverage is the proportion of decision outcomes exercised, and it is stronger because a decision must be taken both ways, so code that a single test never causes to be skipped is still counted as untested.
- 5
Consider: if (x > 10) then y = y + 1; print y. A single test with x = 20 gives what statement coverage and what branch coverage?
Model answer
A single test with x = 20 executes every statement, giving full statement coverage, but takes the decision only one way, giving 50 per cent branch coverage, so a second test with x below 11 is required.
- 6
A procedure contains two independent if statements in sequence. How many combinations of outcomes exist?
Model answer
Two independent decisions give 2 × 2 = 4 combinations of outcomes, so full path testing of that fragment needs four tests even though two would achieve full branch coverage.
Other ways to work this
The same content, four other ways.
What is inside Levo
Six ways to work the same material.
Every question in Testing Strategies, on a schedule.
Attempt a question from memory, write the correct version, then attempt it again. Levo records the jump between your first attempt and your last, and brings each question back on the day you are due to forget it.
Or £46 a year, about £3.83 a month. Cancel anytime.