Integration Testing

Integration Testing

Why Integration Testing?

Fast growth of the software market and increasing user demands require the development of more complex and multi-level software systems. Besides, the system capacity to integrate flawlessly with third-party software is also required. The trend takes integration testing to a higher level.

Consisting of several integrated modules, every software requires checking each of its units one by one as well as their combinations. In order to mitigate any malfunctions of integrated units, QATestLab provides the services of integration testing by evaluating the behavior of the system modules in unity.

Being developed by various programmers, each unit possesses different programming logic that may affect work of the other modules after their integration. After properly conducted unit checking, we create and execute integration tests to check whether system modules do not interfere with each other’s work in particular combinations and satisfy the requirements and standards.

How we test

In order to provide thorough integrated testing, we follow several approaches. For verification of small systems, we apply Big Bang approach by testing all integrated units at once. If not all modules are ready for testing and the duration of the test phase is limited, we use incremental approach by combining several modules which are logically related.

For incremental method we conduct top down or bottom up integration. Following bottom up strategy, we verify the work of integrated modules starting from lower levels. Top down integration begins with testing modules from a higher level keeping the control flow of the system.

Integration Testing

When to start

Integration testing pic 

A traditional integration testing model suits well in case the waterfall model is implemented in a project. Adapting to the rules of the current software market, we perform manual testing or write automated scripts for projects with continuous integration.

Integration testing is completed only if all designed tests are passed end-to-end. This can be too expensive if the system is large and complex. Despite requiring much time and expenses, integration testing detects the issues at early stages when their fixing will not be so expensive. Bugs removal in high-level architecture causes a release delay and extra spendings.