Test Levels Flashcards
Test driven development
How can I test this?
If it cannot be tested should it be implemented?
Effective thinking of early defects
Component testing
A component can be a single unit or collection of units
First dynamic test stage - component testing
Performed on components in isolation
Stubs, drivers and simulators may be used
May include testing of non functional characteristics
Usually performed by programmers
Integration testing
Many components integrated into a large system
When components added we may need to perform integration testing
Incremental approach may be used
Usually performed by developers
Strategies for coding and integration
Bottom up, top down “Big Bang”
What does a stub or driver look like
Can be implemented in a script that interacts with software under test
Can be implemented as separate program
May use a 3rd party product
Stubs/drivers may include logging and recording for tests and automated checking of logs for errors
Component integration testing
Tests designed to explore direct and indirect interfaces and consistency between components
First stage products of several programmers combined
Can reveal consequences of inconsistent assumptions or bad communication
Definition of interfaces
Statements which transfer control between programs
Parameters passed from program to program
Interface testing defects
Integration faults reveal product communication failures
Wrong type of transfer of control
Incorrect type or order of parameters
Read only parameters
Inter module parameter checking
Does called routine explicitly check input parameters
Does calling routine check
System and acceptance testing
Focus on testing of complete systems
System testing has multiple drivers
System testing
Systematic demonstration that all features are available and work as specified
Coverage of all documents featured
Tests designed around baseline documents
Functional and non functional requirements covered
Functional vs non functional
Functional what the system must do
Non functional how the system does what it does
Acceptance testing
Done from end users viewpoint
Does it help users do their job?
Emphasis based on essential features
Based on how users use system
Acceptance tests - small scale
Might not require own test depends on contractual oostion or how satisfactory system tests
Requirements based testing
Scan requirements documents
Which features should be provided
What conditions should be covered
Requirements based tests can help demonstrate supplier has met every requirement
Problems with requirements
Usually not enough info to test