Test Plans
E N D
Presentation Transcript
Test Plans • Test Driven Development • Unit test plan first • Code coverage • Automated Regression built as you go • Debug is easier • Serves as system doc • Still need system test on top • Legacy code might not have the plans
Test Plan levels • User Acceptance • System (integration) • Unit test (TDD concerned with these) • Regression
Type • Try to break it • Validate flows (from state to state) • Validate Specifications (including use cases and sequence diagrams) • Stress test • Code inspection • Black box vs white box • Black - From spec - no design knowledge • White - look at code to find decisions
A Good Test Case • Setup situation - environment to input into • Action to test - actual input • Assertion of result - what the environment looks like when you are done
Chose cases • Input / output partitions (similar characteristics) • One from each paritition; boundaries and null • Cause all failure types (every failure error msg) • Sequences: have only 1 in a sequence; have none in a sequence; also act on first, middle and last • Input / output buffer overflow • Try to force invalid outputs
Environments • Good test environments encourage good tests • Refresh periodically • One per user + One shared • Bypass Database with stubs to return from a DB call • Quick • Not complete
Testing Wrap UP • Levels - unit / system / user • Structure - situation / input / expected output • TDD - code test before coding program • Choose cases - partitions (border, null, sample) / sequences / buffer limits / force errors • You will be able to : • Write a user acceptance test plan • Write good test cases on paper