Presentation Transcript
Software Testing :Software Testing
Software testing :Software testing Integration testing: with source code
Release / functional testing: black-box
Integration testing :Integration testing Top-down: from skeleton to components
Bottom-up: from components to system
Release testing :Release testing Choose inputs that generate error messages
Design inputs that cause overflow
Repeat inputs / series of inputs
Force generation of invalid outputs
Force computation results to be too large or too small
More testing :More testing Performance testing:
Done after release testing
Component / unit testing:
Individual functions / methods
Object classes
Composite components
Interface testing
Parameters
Shared memory
Procedures
Message passing
Interface errors :Interface errors Interface misuse -> parameters
Interface misunderstanding -> functionality
Timing errors
Interface testing :Interface testing Test parameters to extreme values
Test pointers with ‘null’ values
Design tests that will cause a component to fail in procedural units
Stress testing in MPIs
With several components accessing memory change the order of each component
Test case design :Test case design Requirements based testing: tests system requirements
Partition testing: I/O data grouped by common characteristics (ie negative numbers)
Structural testing: design tests that will “cover” every line of code
Additional reading :Additional reading 23.4 Test automation