Integration Testing

Integration testing checks the interaction between two or more software components that have already passed unit testing. The focus in integration testing is on the sharing of instructions and data across components. We, at AppTest Software, perform integration testing using our following process:

1.
Integration test planning

AppTest Software can work with both incremental integration testing and consolidated integration testing. In the case of incremental integration test, new builds are frequently provided with more components and fixes of prior integration defects. In the case of consolidated integration test, the full build is provided. The AppTest Software team decides between incremental and consolidated approach based on the development schedule. AppTest Software test engineers focus on rapid turn around during integration testing.

2.
Creation of integration test cases and test data

AppTest Software analyzes the application design documents. Based on this analysis, the AppTest Software team creates the integration test cases with respect to all applicable interactions between any pair of components. Test cases and test data are created covering each method call from one component to another and covering each parameter in each method. The integration test cases are internally reviewed and a traceability is created..

3.
Preparation of integration test environment

It is common to use a duplicate of the stable development environment during integration testing. However, if planned, the AppTest Software team prepares a separate integration test environment in consultation with the development team.

4.
Execution of Integration test

The AppTest Software team executes integration test cases in the order of priority (highest priority first) given in the traceability. Any blocked test cases are immediately discussed with the development team to rule out incompleteness in the build or configuration problems in the integration test environment.

5.
Reporting defects and test results

Immediately upon discovering defects, they are isolated with respect to their scope (e.g. problem in the interface call or problem with a method of a component) and immediately shared with the development team. Usually, a formal defect tracking system is not used during integration testing because of a relatively large number of defects and need for quick turn around time. However, the AppTest Software team maintains the list of defects and executed test cases within the traceability and the daily progress status is based on the updated traceability.