System Testing
System Testing is all about
- Test of overall interaction of components
- Find disparities between implementation and specification
- Usually where most resources go to
- Involves –load, performance, reliability and security testing
Goal : to compare the system or program to its original objectives.
Implications :
1) System testing : process of attempting to demonstrate how the program, as a whole, fails to meet its objectives.
2) System testing : impossible if there is no set of written, measurable objectives for the product.
Common FAQ
Who performs system testing and when is it done?
- Done by the test team
- Test cases written when high level design spec is ready
Where is it done?
- Done on a system test machine
- Usually in a simulated environment e.g. vmware
Threads in System System
We view system testing in terms of threads of system level behavior.
What is a Thread?
– A scenario of normal usage
– A system-level test case
– A stimulus-response pair
– Behavior that results from a sequence of system-level inputs.
– An interleaved sequence of port input and output events
– A sequence of transitions in a state machine description of the system
Thread Definitions
- An interleaved sequence of object messages & executions
- A sequence of
- Machine instructions
- Program statements
- MM-paths
- Atomic system functions
Thread Levels
Threads have distinct levels : Unit , Integration , System
Unit level
– Thread is understood as an execution time path of instructions or some path on a flow Graph.
– A sequence of DD-paths
– Tests individual functions
Integration level
– Thread :sequence of MM paths that implement some SF.
-Sequence of module executions and messages.
– Tests interactions among units
System level
– Thread is a sequence of atomic system functions.
– Tests interactions among ASFs.