As I wrote in my previous posts, Integration testing is designed to test the structure and the architecture of the software and determine whether all software components interface properly. Integration testing does not verify that the system is functionally correct, only that it performs as designed.
It is the process of identifying errors introduced by combining individual program unit tested modules. Integration Testing should not begin until all units are known to perform according to the unit specifications. It can start with testing several logical units or can incorporate all units in a single integration test.
Below are the four steps of creating integration test cases:
Step 1 - Identify Unit Interfaces: The developer of each program unit identifies and documents the unit’s interfaces for the following unit operations:
- Responding to queries from terminals for information
- Managing transaction data entered for processing
- Obtaining, updating, or creating transactions on computer files
- Passing or receiving information from other logical processing units
- Sending messages to terminals
- Providing the results of processing to some output device or unit
Step 2 - Reconcile Interfaces for Completeness: The information needed for the integration test template is collected for all program units in the software being tested. Whenever one unit interfaces with another, those interfaces are reconciled. For example, if program unit A transmits data to program unit B, program unit B should indicate that it has received that input from program unit A. Interfaces not reconciled are examined before integration tests are executed.
Step 3 - Create Integration Test Conditions: One or more test conditions are prepared for integrating each program unit. After the condition is created, the number of the test condition is documented in the test template.
Step 4 - Evaluate the Completeness of Integration Test Conditions: The following list of questions will help guide evaluation of the completeness of integration test conditions recorded on the integration testing template. This list can also help determine whether test conditions created for the integration process are complete.
Q1. Is an integration test developed for each of the following external inquiries:
- Record test?
- File test?
- Search test?
- Match/merge test?
- Attributes test?
- Stress test?
- Control test?
Q2. Are all interfaces between modules validated so that the output of one is recorded as input to another?
Q3. If file test transactions are developed, do the modules interface with all those indicated files?
Q4. Is the processing of each unit validated before integration testing?
Q5. Do all unit developers agree that integration test conditions are adequate to test each unit’s interfaces?
Q6. Are all software units included in integration testing?
Q7. Are all files used by the software being tested included in integration testing?
Q8. Are all business transactions associated with the software being tested included in integration testing?
Q9. Are all terminal functions incorporated in the software being tested included in integration testing?
Search this site - within more than 167 pages of Software Testing
Do not want to miss any Software Testing tips and latest updates? Subscribe the Software Testing Newsletter and get effective software testing tips