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 an Object Oriented Application
- 11 subtopics
- 33 things to know
- AS Unit 1
What Testing an Object Oriented Application covers
Testing an Object Oriented Application is examined in Unit AS 1, Introduction to Object Oriented Development — a written examination. It covers why an object oriented application must be tested, choosing test data: normal, boundary and erroneous, writing a test plan for a class, testing a class method by method, testing constructors and object state, testing inheritance and overridden methods, testing error handling paths, dry runs and trace tables, test harnesses, drivers and stubs, recording and interpreting test results and evaluating a test plan and re-testing.
Where it is assessed
AS Unit 1
Introduction to Object Oriented Development.
Check the CCEA specification ↗The 11 subtopics
Each one has its own page.
- Why an object oriented application must be testedPurpose of testing a program, unit testing and regression testing.Open →
- Choosing test data: normal, boundary and erroneousTest data, equivalence partition and testing with an empty value.Open →
- Writing a test plan for a classWhat each entry states, choosing data for every method and every path, testing the constructor and the state it leaves, and writing the expected result before anything is run.Open →
- Testing a class method by methodExercising one method at a time with the object in a known state, checking what it returns and what it changes, and testing methods that depend on the order they are called in.Open →
- Testing constructors and object stateObject's state and tested about an attribute the constructor never assigns.Open →
- Testing inheritance and overridden methodsConfirming an inherited method still behaves in the subclass, that an overridden method is the one that actually runs, and that a call through a base-class reference reaches the right version.Open →
- Testing error handling pathsForcing each failure the code claims to handle, checking the exception is caught rather than escaping, that the message is useful, and that the object is left in a usable state afterwards.Open →
- Dry runs and trace tablesDry run and trace table.Open →
- Test harnesses, drivers and stubsTest harness, test driver and assertion in a test.Open →
- Recording and interpreting test resultsRecorded as the actual result of a test, pass actually and first thing to check when a test fails.Open →
- Evaluating a test plan and re-testingJudging whether a plan covered every method, path and boundary, what a plan that found nothing suggests, re-running after a fix, and re-running the tests around it.Open →
What you need to know
Answer each one before you reveal it.
Which basic tests must every class in an object oriented application pass?
What is test data?
What is a test plan?
How is a setter that validates its argument tested?
Why must a test examine the state after a sequence of calls rather than after one?
Why should a test check that two objects of the same class do not share data?
Why does a deep hierarchy make testing harder?
Why is a hand trace still worth doing when a debugger is available?
Why must error handling be tested as thoroughly as the ordinary path?
What is a test harness?
What is recorded as the actual result of a test?
What does it mean to evaluate a test plan?
What is normal test data?
Name six columns a test plan table should carry.
How is a single method tested?
Why must a subclass be tested even though the base class has already passed its tests?
A method converts typed text into a number. Which test proves it survives a non-numeric entry?
What is a dry run?
Why is a class tested with a harness rather than inside the finished application?
What does a group of failures with something in common suggest?
What is test coverage?
Why does a fault inside a class matter more than a fault in a one-off block of code?
What is erroneous test data?
Why does every test in the plan need a number?
Which two things are examined after a method call?
Why is a constructor tested separately from the other methods?
What is tested about an inherited method the subclass does not change?
Why is testing with an empty file worthwhile?
What is a trace table?
What is a stub?
A mark validator passes for 50 and for 0 but fails for 100. What does that pattern suggest?
How is a test plan checked against the requirements?
Take Testing an Object Oriented Application further
The same content, four other ways.
Questions from this topic
Each one with the model answer underneath.
- 1
What is the purpose of testing a program?
Model answer
Testing runs the program with chosen data to expose any difference between what it actually does and what it was agreed it should do, so faults are found before users meet them.
- 2
Why can testing never prove that a program is free of faults?
Model answer
Testing shows only that the cases tried behaved correctly, and the number of possible inputs is far too large to try them all, so testing demonstrates that faults are present rather than that none remain.
- 3
Why does a fault inside a class matter more than a fault in a one-off block of code?
Model answer
A class is written to be used many times and in many places, so a single fault inside it is repeated in every object created from it and in every program that reuses the class.
- 4
Why is a class a natural unit to test on its own?
Model answer
A class gathers its data and the methods that act on it in one place behind a defined set of public methods, so the class can be exercised by calling those methods and examining what comes back.
- 5
What does unit testing mean when the unit is a class?
Model answer
Unit testing a class means creating objects from it and calling its methods with chosen values, then checking the returned results and the object's state, with the rest of the application absent.
- 6
Which basic tests must every class in an object oriented application pass?
Model answer
Object oriented applications are first given the basic tests every class must survive: each constructor leaves the object in the intended state, each method returns the right value for ordinary data, and each validation rule refuses the values it is meant to refuse.
What is inside Levo
Six ways to work the same material.
Testing an Object Oriented Application revision questions
- What does Testing an Object Oriented Application cover in CCEA A-Level Software Systems Development?
- 11 subtopics: why an object oriented application must be tested, choosing test data: normal, boundary and erroneous, writing a test plan for a class, testing a class method by method, testing constructors and object state, testing inheritance and overridden methods, testing error handling paths, dry runs and trace tables, test harnesses, drivers and stubs, recording and interpreting test results and evaluating a test plan and re-testing. Each one has its own page with questions and model answers.
- How is Testing an Object Oriented Application organised?
- By the CCEA CL4 specification, subtopic by subtopic, so it matches the order you are taught it in.
Every question in Testing an Object Oriented Application, 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.