Integration Testing

  1. Integration testing is a systematic technique for constructing the program structure while conducting tests to uncover errors associated with interfacing.
  2. The objective is to take unit tested modules and build a program structure that has been dictated by design.

Different Integration Strategies

  1. 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.

  2. 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.
  3. 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

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. 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.
  2. Depending on the integration approach selected (i.e., depth-or breadth first), subordinate stubs are replaced one at a time with actual modules.
  3. Tests are conducted as each modules are integrated
  4. On completion of each set of tests, another stub is replaced with real module
  5. Regression testing may be conducted to ensure that new errors have not been introduced
  6. The process continues from step2 until the entire program structure is built.
  7. 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

  1. Delay many tests until stubs are replaced with actual modules.
  2. Develop stubs that perform limited functions that simulate the actual module
  3. 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.

RELATED POST


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 TESTING

QUALITY ASSURANCE

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

No comments:

Post a Comment