To find faults in the software.
To assess whether the software is ready for release.
To demonstrate that the software doesn’t work.
To prove that the software is correct.
Boundary value analysis
Features to be tested
Data flow testing
State transition testing
Possible communications bottlenecks in a program.
The rate of change of data values as a program executes.
The use of data on paths through the code.
The intrinsic complexity of the code.
Enable the code to be tested before the execution environment is ready.
Can be performed by the person who wrote the code.
Can be performed by inexperienced staff.
Are cheap to perform.
An inspection is lead by the author, whilst a walkthrough is lead by a trained moderator.
An inspection has a trained leader, whilst a walkthrough has no leader.
Authors are not present during inspections, whilst they are during walkthroughs.
A walkthrough is lead by the author, whilst an inspection is lead by a trained moderator
It allows the identification of changes in user requirements.
It facilitates timely set up of the test environment.
It reduces defect multiplication
It allows testers to become involved early in the project.
Tests the individual components that have been developed.
Tests interactions between modules or subsystems.
Only uses components that form part of the live system.
Tests interfaces to other systems.
The analysis of batch programs.
The reviewing of test plans.
The analysis of program code.
The use of black box testing.
Post-release testing by end user representatives at the developer’s site.
The first testing that is performed.
Pre-release testing by end user representatives at the developer’s site.
Pre-release testing by end user representatives at their sites.
Makes test preparation easier.
Means inspections are not required.
Can prevent fault multiplication.
Will find all faults.
Linkage of customer requirements to version numbers.
Facilities to compare test results with expected results.
The precise differences in versions of software component source code.
Restricted access to the source code library.