Top-Down Stub Testing Main Control Module Module B Stub Module C Stub Module A Stub Module G Stub Module F Stub Module E Stub Module D Stub Call to Module C Call to Module A Call to Module E Call to Module D Call to Module B Call to Module G Call to Module F Call Received and Acknowledged Call Received and Acknowledged Call Received and Acknowledged Call Received and Acknowledged Call Received and Acknowledged Call Received and Acknowledged Call Received and Acknowledged
Module and Integration Testing Driver for Module C Module C Driver for Module B Module B Driver for Module A Module A Module B Module C Test Phase 1 Test a set of paths through lower-level modules B and C using test drivers. Total number of tests = v(B) + v(C) Test Phase 2 Test a set of paths through higher-level module A in integration with modules B and C using a test driver. Total number of tests = v(A) Total number of tests = v(A) + v(B) + v(C), The sum of the cyclomatic complexities of all integrated modules
System Conversion Strategies New System Old System Cutover Point Direct Conversion Approach New System Old System Old System Shutdown Parallel Conversion Approach New System Old System Pilot Conversion Approach New System Old System Phased Conversion Approach New System Start Begin First Pilot Old System Shutdown Begin Phase-in Old System Shutdown
Classification of Software Tests Manual Test Automated Test Static Inspection Syntax Check Dynamic Walkthrough Desk Check Unit Test Integration Test System Test
16 Commandments of Software Testing I. THE REALITIES 1. Thou cannot test everything. 2. Thou shalt let risk point you to the most important errors. 3. Thou shalt not confuse 1000 tests with testing 1000 functions. 4. Thou shalt hunt where the elephants drink – practice creative error guessing. II. THE ATTITUDES 5. Thou shalt not build on bad specifications and unclear interpretations. 6. Good tests need good code and good design. 7. Let thy enemy design and perform your tests. 8. Honor thy reference checks. III. THE TECHNOLOGIES 9. Thou shalt control changes. 10. Thou shalt commit to Regression Testing. 11. Test thy documentation. 12. Test for performance or perish. IV. THE CORNERSTONES 13. Accept running programs - not working programs (unit testing). 14. Bless off-the-shelf software more carefully than custom software. 15. Thou shalt cultivate and win management and user commitment and understanding. 16. Thou shalt measure progress - and know when to stop.