130 likes | 174 Views
Test Cases. CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 13, 2007. Outline. Test design process Developing test cases. Test Design Process. Design tests elaborate test plan based on requirements Develop test cases based on knowledge of system behavior
E N D
Test Cases CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 13, 2007
Outline • Test design process • Developing test cases
Test Design Process • Design tests • elaborate test plan • based on requirements • Develop test cases • based on knowledge of system behavior • Verify test cases • verify procedures • debug test cases
1. Design Tests • Define test objectives • what, not how • based on requirements • Define input specifications • files, databases • not keyboard or mouse input
1. Design Tests (continued) • Define test configuration for each test • operating system version • network configuration • Review test designs for coverage and accuracy • all requirements covered? • all inputs identified? • all configurations identified?
2. Develop Test Cases • Develop detailed test procedures • use black-box techniques like equivalence partitioningand boundary value analysis • specify actions and expected results • Define test setup and cleanup, noting inter-case dependencies • restart computer at start of testing • reset system to known configuration at start of each test
Equivalence Partitioning • Divide the input into independent categories (partitions) • use the requirements specification • consider type of each input • Select a value from each category • Why is this a good idea?
Boundary Value Analysis • For each input partition identified earlier: • pick values on the boundary • pick values on each side of the boundary • Why is this a good idea?
3. Verify Test Cases • Review test procedures • are the inputs unambiguous? • are the outputs unambiguous? • Debug test cases (during first run) • run the test as specified • note flaws in test case as well as flaws in software
Summary: Test Design Process • Design tests • elaborate test plan • based on requirements • Develop test cases • based on knowledge of system behavior • Verify test cases • verify procedures • debug test cases