What Is Integration Testing??
Integration
testing is performed to check the interactions between different components
or systems.
Component integration tests and system integration tests should concentrate on the integration itself. For example, if integrating module, A with module B, tests should focus on the communication between the modules, not the functionality of the individual modules, as that should have been covered during component testing.
Component integration tests and system integration tests should concentrate on the integration itself. For example, if integrating module, A with module B, tests should focus on the communication between the modules, not the functionality of the individual modules, as that should have been covered during component testing.
Component integration testing is often the responsibility of
developers. System integration testing is generally the responsibility of
testers.
Main Objectives of integration testing are:
ร Building confidence in
the quality of the system for this automated regression test could be used.
ร Finding defects (which
maybe in the interfaces themselves or within the components or systems).
ร Reducing risk.
ร Verifying whether the
functional and non-functional behaviors of the system are as designed, specified and working as per requirement.
ร Preventing defects from
escaping to higher test levels.
Primarily
there are two different types of integration Testing:
· Component integration
testing
· System integration
testing
Component
integration testing
Main
focus in this testing is to validate interactions and interfaces between
integrated components. This testing is usually performed after component
testing and is generally automated. In iterative and incremental development,
component integration tests are usually part of the continuous integration
process.
System
integration testing
This
Testing focuses on the interactions and interfaces between systems, sub-system
and packages. System integration testing can also cover interactions with, and interfaces
provided by, external organizations (e.g., web services). System integration
testing may be done after system testing or in parallel with ongoing system
test activities (in both sequential development and iterative and incremental
development).
Now
the obvious question that comes to our mind was on what basis or documents integration
testing could be performed:
ร Business or System Requirement
Documents.
ร Flow or Sequential Diagrams
ร Architecture diagram
ร User Story or Use Cases
ร Design Specification Documents.
What kind of Issue Can be identified by Integration Testing??
Typical
issues that can be identified in integration testing are:
ร Incorrect data, missing
data, or incorrect data encoding.
ร Inconsistent message structures
between different systems.
ร Incorrect sequencing or
timing of interface calls.
ร Interface mismatch.
ร Failures in
communication between components or systems.
ร Unhandled or improperly
handled communication failures between components or systems.
ร Incorrect assumptions
about the meaning, units, or boundaries of the data being passed between components