Integration Testing Presented By Nesreen Ahmad *Main Points: Definition Of Integration Testing. Procedure Of Integration Testing. Integration Testing Strategies. Definition Of Integrated Testing Detects faults that have not been detected during unit testing by focusing on small groups of components . Procedure Of Integration Testing Two or more components are integrated and tested, and when no new faults are revealed (discovered), additional components are added to the group. This procedure allows the testing of increasingly more complex parts of the system while keeping the location of potential faults relatively small. Integration Testing Strategies Big Bang Testing. Bottom-Up Testing. Top-Down Testing. Sandwich Testing. Layer I User Interface (A) Layer I I Billing (B) Event Service (C) Learning (D) Layer III Database (E) Network (F) Neural Network (G) First: Big Bang Testing This strategy assumes that all components are first tested individually and then tested together as single system. Advantage: That no additionally test stubs or drivers are needed. Disadvantage: 1- It is expensive. 2- It is difficult to pinpoint the specific components (or combination of components). Second: Bottom-Up Testing Strategy first tests each component of the bottom layer individually, and then integrates them with components of the next layer up. User Interface (A) Billing (B) Event Service (C) Learning (D) Neural Network (G) Database (E) Network (F) - Bottom-Up test strategy - Advantage: Interface faults can be more easily found. Disadvantage: Faults found in the top layer may often lead to change in the subsystem decomposition or in the subsystem interfaces of lower layers. Third: Top-Down Testing Tests the components of the top layer first, and then integrates the components of the next layer down. When all components of the new layer have been tested together, the next layer is selected. User Interface (A) Billing (B) Event Service (C) Learning (D) Neural Network (G) Database (E) Network (F) - Top-Down test strategy - Advantage: It starts with user interface components. Disadvantage: 1-The development of test stub is time-consuming and prone error. 2- A large number of stubs is usually required for testing nontrivial systems. Fourth: Sandwich Testing Combines the top-down and bottom-up strategies, attempting to make use of the best of both. There are Three Layers:1-Target Layer (“the meat”). 2-The Layer above the target layer. 3-The Layer below the target layer. Top Layer Test A Test A, B Test A, C Test A,B,C,D Test A, D Bottom Layer Test D,G Test G Test F Test B,E,F Test E Test A,B,C,D,E,F,G - Sandwich Testing Strategy - Top Layer Test A Target Layer Test A, B Test A, C Test A,B,C,D Test A, D Test B Test C Test D Bottom Layer Test D,G Test G Test F Test E Test B,E,F Test A,B,C,D,E,F,G - Modified Sandwich Testing Strategy - The advantage of modified sandwich testing: Many testing activities can be performed in parallel. The disadvantage of modified sandwich testing: Is needed for additional test stubs and drivers.