Integration testing allows verifying how bigger app components are interconnected inbetween and detect any bugs resulting from units integration.
This type of testing is needed to test whether all integrated units work flawlessly. As a rule, integration testing is carried out after unit testing.
We check out how system components interact after unit testing by using the following approaches:
- “bottom up” (at first, all lower level units are put together and tested, and then higher level units are gradually added)
- “top down” (testing is started from higher level units, with lower level units added afterwards)
- “big bang” (all level units are put together and tested)
For integration testing our dedicated QA staff apply both manual and automation tests.
To automate testing we use continuous integration systems (CIS), Team City and Jenkins in particular. They allow monitor version control system, carry out unit and other tests as well as generate reports on conducted tests. We also use HAR Storage for automated client-side performance testing.
During integration we discover interaction errors between tested units in accordance with a test plan. That’s why any errors with units integration can come from peculiarities of units interaction.
Integration testing includes the following stages: drafting a test plan, creation of test and use cases, tests implementation after units integration, detection of errors and repeated testing after the errors are fixed. We repeat the testing cycle until all bugs are fixed.
After all units are tested for proper integration, we proceed to system testing.