- Bi-directional Integration, is a kind of integration testing process that combines top-down
and bottom-up testing.
- With an experience in delivering Bi-directional testing projects custom software
development services provide the best quality of the deliverables right from the
development of software process.
- Bi-directional Integration testing is a vertical incremental testing strategy that tests the
bottom layers and top layers and tests the integrated system in the computer software
development process.
- Using stubs, it tests the user interface in isolation as well as tests the very lowest level
functions using drivers.
- Bi-directional Integration testing combines bottom-up and top-down testing.
- Bottom-up testing is a process where lower level modules are integrated and then tested.
- This process is repeated until the component of the top of the hierarchy is analyzed. It
helps custom software development services find bugs easily without any problems.
- Top down testing is a process where the top integrated modules are tested and the
procedure is continued till the end of the related module.
- Top down testing helps developers find the missing branch link easily.
OR
Process of Bidirectional testing:
- Bottom up testing starts from middle layer and goes upward to the top layer. For a very
big system, bottom up approach starts at a subsystem level and goes upwards.
- Top down testing starts from the middle layer and goes downward. For a very big
system, top down approach, starts at subsystem level and goes downwards.
- Big band approach is followed for middle layer. From this layer, bottom up approach
goes upwards and top down approach goes downwards.
Advantages:
- This approach is useful is useful for very large projects having several projects. When
development follows a spiral model and module itself is as large as a system.
- Both top down and bottom up approach starts at the start of the schedule.
- It needs more resources and big teams for performing both, methods of testing at a time
or one after the other.
Disadvantages:
- It represents very high cost of testing as lot of testing is done.
- It cannot be used for smaller systems with huge interdependence between different
modules.
- Different skill tests are required for testers at different level as modules are separate
systems handling separate domains.