Lecture 19: Software Testing Techniques Flashcards
What is a test case?
Explicit set of instructions designed to detect a particular class of defect in a software system
What is a test plan?
Document that contains a complete set of test cases for a system
Should be written before testing starts
What does a formal test case have?
Identification and classification (Number and title, importance should be indicated)
Instructions
Expected results
What is unit testing?
Verify the module-level functionality works
Independent, short code fragments that test an interface or individual module
What are stubs?
Needed to simulate missing lower level modules
What are drivers?
Needed to simulate missing calls from the higher level modules
What is integration testing?
Verify (unit tested) modules perform correctly when integrated together
Initially all programs to be integrated are first stubbed out
In a predetermined order, a series of test programs are generated with the unit tested routines replacing the stubs
What is systems testing?
Verify all elements of a system (hardware and software) behave and perform properly
What is acceptance testing?
Ensure that the entire system meets all user requirements
What is regression testing?
Set or subset of all tests that are re-run after any change or commit
Cover as much of the system as possible
Prevent regressions: system reverting to an earlier, incorrect state
What is big bang testing?
Each module is first tested in isolation
The entire system is then assembled and tested as a unit
Low probability of working
Hard to isolate defects
What is top down testing?
Only the top module is tested in isolation
Stubs are used as placeholders for lower-level modules
Program modules are merged from top to bottom
As each new module is integrated, the entire system is tested
What is bottom up testing?
Modules are merged and tested from the bottom to top
Drivers used as placeholders for higher-level modules
Only modules tested in isolation are the terminal modules
What is sandwich testing?
Test the top module and terminal modules in isolation
Work both ways, top down and bottom up