There are various levels of testing i.e. Unit
Testing, Integration Testing, System Testing. Each level of testing builds on the previous
“Unit testing” focuses on testing a unit of the code.
“Integration testing” is the next level of testing. This ‘level of testing’ focuses on testing the integration of “units of code” or components.
System Testing focus on the testing the system
as a whole.
Once unit tested components are delivered to
integrate them together. These “integrated” components are tested to weed out
errors and bugs caused due to the integration. This is a very important
step in the Software Development Life Cycle. It is possible that
different programmers developed different components. A lot of bugs emerge
during the integration step. In most cases a dedicated testing team focuses on
Before we begin Integration Testing it is
important that all the components have been successfully unit tested.
Integration Testing typically involves the
1. Create a Test Plan
2. Create Test Cases and Test Data
3. If applicable create scripts to run test cases
4. Once the components have been integrated execute
the test cases
5. Fix the bugs if any and re test the code
6. Repeat the test cycle until the components have
Test Plan is to plan the testing process in
advance for all the aspects, ie. Resources, Deliverable dates, System Requirements, risk analysis, etc.
A Test Case describes exactly how the test
should be carried out. The Integration test cases specifically focus on the
flow of data/information/control from one component to the other.
A Sample Test Case Format:
|Test Case ID||Test Case Description||Input Data||Expected Result||Actual Result||Pass/Fail||Remarks|
A Lot of errors occur because the wrong version of components were sent
for the build or there are missing components. If possible write a script to integrate and deploy the components this helps reduce manual errors.
Document the Integration process/build process to help eliminate the errors of omission or oversight. It is possible that the person responsible for integrating the components forgets to run a required script and the Integration Testing will not yield correct results.
Integration Testing will lose its edge if the
defects are not tracked correctly. Each defect should be documented and
tracked. Information should be captured as to how the defect was fixed. This is
valuable information. It can help in future integration and deployment processes.
Integration testing is
the most crucial steps in Software Development Life Cycle. Different components
are integrated together and tested. This can be a daunting task in enterprise
applications where diverse teams build different modules and components. In
this article you learned the steps needed to perform Integration Testing.