Integration testing is a
logical extension of unit testing. In its simplest form, two units that have
already been tested are combined into a component and the interface between
them is tested. A component, in this sense, refers to an integrated aggregate of
more than one unit. In a realistic scenario, many units are combined into
components, which are in turn aggregated into even larger parts of the program.
The idea is to test combinations of pieces and eventually expand the process to
test your modules with those of other groups. Eventually all the modules making
up a process are tested together. Beyond that, if the program is composed of
more than one process, they should be tested in pairs rather than all at once.
Integration testing
identifies problems that occur when units are combined. By using a test plan
that requires you to test each unit and ensure the viability of each before
combining units, you know that any errors discovered when combining units are
likely related to the interface between units. This method reduces the number
of possibilities to a far simpler level of analysis.
we can do integration testing in a variety of ways but the following are common
strategies:
- The top-down approach to
integration testing requires the highest-level modules be test and
integrated first. This allows high-level logic and data flow to be tested
early in the process and it tends to minimize the need for drivers.
However, the need for stubs complicates test management and low-level
utilities are tested relatively late in the development cycle. Another
disadvantage of top-down integration testing is its poor support for early
release of limited functionality.
- The bottom-up approach requires
the lowest-level units be tested and integrated first. These units are
frequently referred to as utility modules. By using this approach, utility
modules are tested early in the development process and the need for stubs
is minimized. The downside, however, is that the need for drivers
complicates test management and high-level logic and data flow are tested
late. Like the top-down approach, the bottom-up approach also provides
poor support for early release of limited functionality.
- The third approach, sometimes
referred to as the umbrella approach, requires testing along functional
data and control-flow paths. First, the inputs for functions are
integrated in the bottom-up pattern discussed above. The outputs for each
function are then integrated in the top-down manner. The primary advantage
of this approach is the degree of support for early release of limited
functionality. It also helps minimize the need for stubs and drivers. The
potential weaknesses of this approach are significant, however, in that it
can be less systematic than the other two approaches, leading to the need
for more regression testing.
- Big Bang is an approach to Integration Testing where all or most of the units are combined together and tested at one go. This approach is taken when the testing team receives the entire software in a bundle. So what is the difference between Big Bang Integration Testing and System Testing? Well, the former tests only the interactions between the units while the latter tests the entire system.
- When is Integration Testing performed?
- Who performs Integration Testing?
- Method :- Black Box Testing, White Box Testing, and Gray Box Testing methods can be used.
- Tasks involved in integration Testing:-
Integration Test Plan/ Integration Test Cases/Scripts
- Prepare
- Review
- Rework
- Baseline


No comments:
Post a Comment