F6 Flashcards
• Structural testing (white-box, glass-box)
– Usescode/detaileddesignto develop test cases
– Typicallyusedinunittesting
– Approaches:
• Coverage-based testing • Symbolic execution
• Data flow analysis
• …
• Functional testing (black-box)
– Usesfunctionspecificationsto develop test cases
– Typicallyusedinsystemtesting
– Approaches:
• Equivalence partitioning • Border case analysis
• …
BLACK-BOX TESTING
Testgenerationwithoutknowledgeof software structure
• Alsocalledspecification-basedor functional testing
Equivalence partitioning Boundary-value analysis Error Guessing
EQUIVALENCE PARTITIONING
Input- and output data can be grouped into classes where all members in the class behave in a comparable way.
WHITE-BOX TESTING
Methods based on internal structure of code
Approaches:
– Coverage-based testing
• Statement coverage • Branch coverage
• Path coverage
• Data-flow coverage
– Symbolic execution – Data flow analysis
COVERAGE-BASED TESTING adtavtages
– Systematic way to develop test cases – Measurable results (the coverage)
– Extensive tool support • Flow graph generators • Test data generators
• Bookkeeping
• Documentation support
COVERAGE-BASED TESTING adtavtages dis
Disadvantages
– Code must be available
– Does not (yet) work well for data-driven programs
PRE-IMPLEMENTATION TESTING
• Inspections 21 – evaluation of documents and code prior to technical review or testing • Walkthrough – In teams – Examine source code/detailed design • Reviews – More informal – Often done by document owners
PRE-IMPLEMENTATION TESTING advantages
Effective
– High learning effect
– Distributing system knowledge
PRE-IMPLEMENTATION TESTING Disadvantages
o Expensive
UNIT TESTING
Tests the smallest individually executable code units.
Objective: Find faults in the units. Assure correct functional behavior of units.
By: Usually programmers. Tools:
• Testdriver/harness
• Coverageevaluator
• Automatictestgenerat
INTEGRATION TESTING
• Testing two or more units or components
• Objectives
– Interfaceerrors
– Functionality of combined units;look for problems with functional threads
• By: Developers or Testing group
• Tools:Interface analysis;callpairs
• Issues:Strategy for combining units
INTEGRATION TESTING
How to integrate & test the system
• Top-down • Bottom-up • Criticalunitsfirst • Functionality-oriented(threads) Implications of build order • Top-down=>stubs;morethoroughtop-level • Bottom-up=>drivers;morethoroughbottom- level • Critical=>stubs&drivers.
SYSTEM TESTING
Testthefunctionality,performance, reliability, security of the entire system.
• By:Separatetestgroup.
• Objective:Finderrorsintheoverall system behavior. Establish confidence in system functionality. Validate that system achieves its desired non- functional attributes.
• Tools:Usersimulator.Loadsimulator
ACCEPTANCE TESTING
- Operatesysteminuserenvironment, with standard user input scenarios.
- By:Enduser
- Objective:Evaluatewhethersystem meets customer criteria. Determine if customer will accept system.
- Tools:Usersimulator.Customertest scripts/logs from operation of previous system.