Integration test

from Wikipedia, the free encyclopedia

In software development, the term integration test describes a coordinated series of individual tests that are used to test various interdependent components of a complex system in interaction with one another. The components to be tested for the first time in a common context have ideally passed the respective module tests successfully and are independently functional without errors.

Integration strategies

The integration test is divided into two different strategies: The test goal-oriented strategy only requires the system components necessary for testing. There the test cases are created and executed according to defined test objectives. The procedure- oriented strategy depends on the integration sequence from the system architecture.

Another difference is the way in which the components are integrated: Incremental integration combines the modules step by step. To do this, missing modules must be simulated. The non-incremental integration brings all components together at the same time and integrates them into the system [to be tested]. To do this, all modules must already be available before the integration test. This variant has not proven to be suitable in practice.

In summary, the integration test ensures that the different modules that have been arranged together also act like a functioning system. So he examines the cooperation of independent program components.

"The integration test requires a test strategy (eg top-down, bottom-up) for the composition of the individual components, a test organization (selection and composition of individual test cases) and technical support, eg through test drivers."

Systematics

For each dependency between two components of a system, a test scenario is defined, which is able to prove that after the merging both components for themselves as well as the data exchange via the common interface (s) function according to the specification . As methods both are functional testing and interface tests applied. Since the function tests have mostly already been carried out as part of the component tests, they are used at this point to determine whether the correct component is being used. The interface tests are used to check the data exchanged between the components.

scope

The scope of integration tests is not restricted to an overall system. Since the time required for integration tests increases disproportionately with a growing number of components, it is common to carry out integration tests for individual, delimited subsystems and then to consider these as one component in the further course ( bottom-up method ). With this method, the integration tests only end with the successful test runs in a test environment identical to the later productive system.

In smaller software projects, integration tests often take place during programming by the programmer (s). Immediately after the programming of a module, the module itself and the interaction with the previously created program code is tested. In the case of large, extensive software developments, which are usually carried out as part of a project , the effort for tests generally increases so much that they are carried out automatically to increase efficiency.

literature

Individual evidence

  1. a b Dirk Zander, Tool-based verification of distributed technical control systems based on activity diagrams, Ruhr University Bochum; Dissertation, Bochum 2009 pp. 72-74
  2. Peter Liggesmeyer; Software Quality Testing, Analyzing & Verifying Software; Spectrum academic publishing house, Heidelberg 2009; 2nd Edition; Pp. 370/371
  3. Dirk. W. Hoffmann; Software quality; ISBN 978-3-642-35699-5 ; Springer Vieweg; 2nd Edition; 2013; Pp. 163-166
  4. a b qz-online.de [1]