| How to perform Integration Testing: | | | | for Bottom-up approach: |
| This integration testing is performed mainly in two | | | | 1. Identify the methods, which are to be called by |
| ways | | | | a method in higher level module. |
| · Non-Incremental method and | | | | 2. Identify the parameters to be passed from the |
| · Incremental method | | | | lower level module or same level. |
| In Non-incremental method, we integrate all the | | | | 3. Identify the domain values of each parameter |
| modules at a time. This method is basically a | | | | passed from the lower level module or same |
| "big-bang" approach. This method, while common, | | | | level. |
| is not recommended because it makes it almost | | | | 4. Identify the order in which the parameters |
| impossible to determine the cause of any errors | | | | passed between the components/modules from |
| or problems. | | | | the lower level module or same level. |
| In Incremental method, we integrate small | | | | 5. By considering the above parameters a driver |
| segments of the system slowly in order to easily | | | | is written |
| isolate the problems. This method is preferred and | | | | Where and why drivers are required Bottom-up |
| is highly encouraged because it enforces a more | | | | testing requires the writing of drivers. Drivers |
| systematic approach to software development | | | | simulate both its environment (how it is called) in |
| and will improve reliability. | | | | the system we are building, and all other |
| This incremental method can be done in three | | | | environments in which it may be called according |
| ways. | | | | to its specification. A driver is required in order to |
| 1. Top-down | | | | perform complete testing. |
| 2. Bottom-up | | | | Driver: |
| 3. Critical Section. | | | | Driver is a simple and short program written to |
| 2.Bottom-up | | | | test a function. The driver should be simple |
| Steps to perform Integration Testing using | | | | enough that we can confirm its correctness by |
| Bottom-up approach | | | | inspection. |
| · First the lower level modules are | | | | The Developing Stub-Driver Vs Test Execution |
| combined to form builds or clusters. | | | | and Regression testing analysis: |
| · A special, simple and short program is | | | | Well Designed Drivers/Stubs gives the following |
| written to test the cluster is called as Driver. | | | | output |
| · Replace the driver with module higher in | | | | · High Effort in Development |
| hierarchy. | | | | · Low effort in test execution and |
| · Use regression testing (conducting all or | | | | regression testing |
| some of the previous tests) to ensure new | | | | Poorly Designed Drivers/Stubs gives the following |
| errors are not introduced. | | | | output |
| Advantages: | | | | · Low Effort in development |
| · Easier to create test cases and observe | | | | · High effort in test execution and |
| output. | | | | regression testing |
| · No stubs are required. | | | | How to Design Test Cases from Sequence |
| · Errors in critical modules are found early | | | | DiagramsBefore writing the testcases we have to |
| · It supports reuse of low-level units | | | | identify the following things. |
| · Interface faults can be more easily | | | | 1. Study the sequence diagram that shows the |
| found: when the developers substitute a test | | | | integration of different components/modules. |
| driver by a higher level component, they have a | | | | 2. Verify the object lifetime as per the sequence |
| clear model of how the lower level component | | | | diagram. |
| works and of the assumptions embedded in its | | | | 3. Identify the components/modules to be |
| interface. | | | | integrated from the sequence diagrams |
| Disadvantages: | | | | 4. Identify the main (start) method name, which |
| · Major drawback is absence of working | | | | calls a method in other module. |
| system until integration complete. | | | | 5. Identify the parameters passed |
| · Test drivers are must. | | | | 6. Identify the domain values of each parameter |
| · High-level errors may cause changes in | | | | passed |
| lower modules. | | | | 7. Identify the order in which the parameters |
| · It tests the most important | | | | passed between the components/modules |
| subsystems lastly. | | | | From these parameters derive the test cases byi. |
| Prerequisites for Bottom-up Approach | | | | Divide the input domain into equivalent classes, |
| · Test Plan | | | | such that all valid, invalid values which falls under |
| · HLDD-High Level Design Document | | | | classesii. Identify boundary values of each |
| · LLDD-Low Level Design Document | | | | equivalent class as input dataiii. |
| Identify the Exact Procedure for writing Drivers | | | | |