Top Down Integration Testing

An approach to integration testing where the component at the top of the component hierarchy is tested first, with lower level components being simulated by stubs. Tested components are then used to test lower level components. The process is repeated until the lowest level components have been tested.

In this approach testing is conducted from main module to sub module. if the sub module is not developed a temporary program called STUB is used for simulate the sub module.

Advantages:

* Advantageous if major flaws occur toward the top of the program.
* Once the I/O functions are added, representation of test cases is easier.
* Early skeletal Program allows demonstrations and boosts morale.


Disadvantages:

* Stub modules must be produced
* Stub Modules are often more complicated than they first appear to be.
* Before the I/O functions are added, representation of test cases in stubs can be difficult.
* Test conditions ma be impossible, or very difficult, to create.
* Observation of test output is more difficult.
* Allows one to think that design and testing can be overlapped.
* Induces one to defer completion of the testing of certain modules.





Bottom Up Integration Testing

An approach to integration testing where the lowest level components are tested first then used to facilitate the testing of higher level components. The process is repeated until the component at the top of the hierarchy is tested.

In this approach testing is conducted from sub module to main module, if the main module is not developed a temporary program called DRIVERS is used to simulate the main module.


Advantages:

* Advantageous if major flaws occur toward the bottom of the program.
* Test conditions are easier to create.
* Observation of test results is easier.


Disadvantages:

* Driver Modules must be produced.
* The program as an entity does not exist until the last module is added.