Print Page | Close Window

Integration strategies

Printed From: One Stop Testing
Category: Types Of Software Testing @ OneStopTesting
Forum Name: Integration Testing @ OneStopTesting
Forum Discription: Discuss All that is need to be known about Integration Software Testing and its Tools.
URL: http://forum.onestoptesting.com/forum_posts.asp?TID=258
Printed Date: 27Dec2024 at 3:49am


Topic: Integration strategies
Posted By: Sandeep
Subject: Integration strategies
Date Posted: 23Feb2007 at 5:23pm
One of the most significant aspects of a software development project is the integration strategy. Integration may be performed all at once, top-down, bottom-up, critical piece first, or by first integrating functional subsystems and then integrating the subsystems in separate phases using any of the basic strategies. In general, the larger the project, the more important the integration strategy.

Very small systems are often assembled and tested in one phase. For most real systems, this is impractical for two major reasons. First, the system would fail in so many places at once that the debugging and retesting effort would be impractical http://hissa.nist.gov/HHRFdata/Artifacts/ITLdoc/235/referenc.htm#449222 - [PRESSMAN] . Second, satisfying any white box testing criterion would be very difficult, because of the vast amount of detail separating the input data from the individual code modules. In fact, most integration testing has been traditionally limited to ``black box'' techniques http://hissa.nist.gov/HHRFdata/Artifacts/ITLdoc/235/referenc.htm#449202 - [HETZEL] . Large systems may require many integration phases, beginning with assembling modules into low-level subsystems, then assembling subsystems into larger subsystems, and finally assembling the highest level subsystems into the complete system.

To be most effective, an integration testing technique should fit well with the overall integration strategy. In a multi-phase integration, testing at each phase helps detect errors early and keep the system under control. Performing only cursory testing at early integration phases and then applying a more rigorous criterion for the final stage is really just a variant of the high-risk "big bang" approach. However, performing rigorous testing of the entire software involved in each integration phase involves a lot of wasteful duplication of effort across phases. The key is to leverage the overall integration structure to allow rigorous testing at each phase while minimizing duplication of effort.

It is important to understand the relationship between module testing and integration testing. In one view, modules are rigorously tested in isolation using stubs and drivers before any integration is attempted. Then, integration testing concentrates entirely on module interactions, assuming that the details within each module are accurate. At the other extreme, module and integration testing can be combined, verifying the details of each module's implementation in an integration context. Many projects compromise, combining module testing with the lowest level of subsystem integration testing, and then performing pure integration testing at higher levels. Each of these views of integration testing may be appropriate for any given project, so an integration testing method should be flexible enough to accommodate them all. The rest of this section describes the integration-level structured testing techniques, first for some special cases and then in full generality.




Print Page | Close Window