Concept of Integration Testing
What is concept of integration testing?
Also known as integration and testing (I&T) is a type of software testing in which the different units, modules or components of a software application are tested as a combined entity. However, these modules may be coded by different programmers. The aim of integration testing is to test the interfaces between the modules and expose any defects that may arise when these components are integrated and need to interact with each other.
Why integration testing is essential?
Integration testing is vital in today's IT and software development landscapes, especially when requirements are dynamic and deadlines are tight. Even when each module of the application is unit-tested, some errors may still exist. To identify these errors and ensure that the modules work well together after integration, integration testing is crucial.
Reasons to conduct integration testing.
Types of Integration Testing
Integration Testing
Since modern-day software is composed of separate components or modules, they need second-level testing to test the synchronicity and compatibility of components with each other. This testing is called integration testing of application modules. You can do it primarily by checking the connectivity and communication issues amongst different software modules.
Incremental Integration Testing:-In Incremental integration testing, the developers integrate the modules one by one using stubs or drivers to uncover the defects. This approach is known as incremental integration testing. To the contrary, big bang is one other integration testing technique, where all the modules are integrated in one shot.
Big-bang testing: The big-bang approach involves integrating all modules at once and testing them all as one unit.
Big-bang testing's advantages include the following:
However, big-bang testing has disadvantages, for example:
Top-down testing: The top-down approach is an incremental approach that involves testing from the topmost or highest-level module and gradually proceeding to the lower modules. Each module is tested one by one, and then integrated to check the final software's functionality.
Advantages of top-down testing are as follows:
However, disadvantages to top-down testing are as follows:
Bottom-up testing: Bottom-up (also known as bottom-to-top) integration testing is the opposite of the top-down approach. It involves testing lower-level modules first, and then gradually progressing incrementally to higher-level modules. This approach is suitable when all units are available for testing.
Advantages of bottom-up testing are as follows:
Meanwhile, disadvantages of this type of testing include the following:
Recommended by LinkedIn
Sandwich/hybrid testing: Sandwich or hybrid integration testing combines the top-down and bottom-up approaches. It uses both stubs and drivers.
The advantage of sandwich or hybrid testing is that it is:
However, this strategy has the following disadvantages:
A higher level of precision and skill are required for this approach.
the key steps in integration testing?
Objectives of Integration Testing
To analyze working of integrated software modules
To ensure smooth integration between modules and third-party tools
To fix exception handling defect
Advantages
Unit Testing and Integration Testing
Lets take a Example:-
we have a mail application with modules:
Challenges of Integration Testing
We’ve told a lot about how integration testing works and what advantages it brings. As usual, benefits come with some challenges. There are several factors that can make integration testing more complicated than you expect. Here are some examples of such situations:
Integration Testing Tips