- Integration testing is a systematic technique for constructing the program structure while conducting tests to uncover errors associated with interfacing.
- The objective is to take unit tested modules and build a program structure that has been dictated by design.
- Integration testing is a systematic technique for constructing the program structure while conducting tests to uncover errors associated with interfacing. The objective is to take unit tested modules and build a program structure that has been dictated by design.
- There are often a tendency to attempt non-incremental integration; that is, to construct the program using a “big bang” approach. All modules are combined in advance. The entire program is tested as a whole. And chaos usually results! A set of errors is encountered. Correction is difficult because isolation of causes is complicated by the vast expanse of the entire program. Once these errors are corrected, new ones appear and the process continues in a seemingly endless loop.
- Incremental integration is the antithesis of the big bang approach. The program is constructed and tested in small segments, where errors are easier to isolate and correct; interfaces are more likely to be tested completely; and a systematic test approach may be applied. We discuss some of incremental methods here:
Top-down integration is an incremental approach to construction of program structure. Modules are integrated by moving downward through the control hierarchy, beginning with the main control module.
The integration process is performed in a series of five steps:
- 1. The main control module is used as a test driver, and stubs are substituted for all modules directly subordinate to the main control module.
- Depending on the integration approach selected (i.e., depth-or breadth first), subordinate stubs are replaced one at a time with actual modules.
- Tests are conducted as each modules are integrated
- On completion of each set of tests, another stub is replaced with real module
- Regression testing may be conducted to ensure that new errors have not been introduced
- The process continues from step2 until the entire program structure is built.
- Top-down strategy sounds relatively uncomplicated, but in practice, logistical problems arise. The most common of these problems occurs when processing at low levels in the hierarchy is required to adequately test upper levels. Stubs replace low-level modules at the beginning of top-down testing; therefore, no significant data can flow upward in the program structure.
The tester is left with three choices
- Delay many tests until stubs are replaced with actual modules.
- Develop stubs that perform limited functions that simulate the actual module
- Integrate the software from the bottom of the hierarchy upward
The first approach causes us to lose some control over correspondence between specific tests and incorporation of specific modules. this can lead to difficulty in determining the cause of errors tends to violate the highly constrained nature of the top down approach. The second approach is workable but can lead to significant overhead, as stubs become increasingly complex. The third approach is discussed in next section.
INTEGRATION TESTING PART ONE
INTEGRATION TESTING PART TWO
INTEGRATION TESTING PART THREE
INTEGRATION TESTING PART FOUR
INTEGRATION TESTING PART FIVE
INTEGRATION TEST STANDARDS
INTEGRATION TEST STANDARDS PART TWO
QUALITY ASSURANCE PART TWO
QUALITY ASSURANCE SQA
QUALITY OF DESIGN OF TEST CASE
QUALITY MANAGEMENT IN SOFTWARE TESTING
TOOLS FOR QUALITY MANAGEMENT
STATICAL QUALITY ASSURANCE
ISO APPROACH TO QUALITY TESTING