You might have heard about Integration Testing in V-MODEL, right arm is dynamic arm which have level of testing phase those are Unit Testing, Integration Testing, System Testing and UAT. Many of you might have these questions like what is integration testing, who performs integration testing and what is difference between integration testing and other type of the testing’s. After reading these article you will have clear idea about integration testing.
Any Software has many module in it for example an ecommerce site have these modules: login module, searching module, cart module, invoice module and payment module. another example if we take suppose for education site it has login module, Enquiry module, Registration Module, Receipt Module, Library module etc. so while building these software the organization does not build every module simultaneously they build it step by step but if organization have a bigger development team then they distribute the developer on different modules. In education site they build login module first then they build enquiry module then registration module like that.
So every built module is tested alone in unit testing but they need to integrate with other module and there is a chances that the module which is tested alone can show error when integrated with other module. You may have question here why we need to integrate it with other module? So to answer this question let’s take an example, one student came and we made his Enquiry in our education software after few days his joined our class then that created enquiry marked as converted that data should come in registration for the registration process, so here Enquiry and Registration are different modules but there is data transfer between these module if you found this example tough then other can be suppose you create a mail and sent it then that mail goes to intended recipient and also goes to oursent module also. So data transfer between mails creation module and sent module.
What we basically try to test in Integration Testing is, one module sending data to other module and logical dependency also need to be tested like some module depends on other module, some module can’t start before other module completes. Integration Testing is also be done between software under test and external devices like printer, fax machine etc.
Types of Integration Testing :
- Bottom Up Integration Testing.
- Top Down Integration Testing.
- Critical Part First.
- Big Bang Integration Testing.
Sometime the module who are bottom in the hierarchy that gets ready but the top module is still in development phase or vice versa situation can be there if you don’t understand this let a example, top module means starting module or the first module like in ecommerce site login module will be top module and cart module, payment module etc. are the bottom module, so in this cases we can’t wait still the module get ready. They need to start testing as early as possible. So in such a situation these integration testing types areuseful.
Bottom Up Integration Testing :
When bottom module is ready but top module is not ready then we use Bottom Up Integration Testing. Here we make a dummy temporary top module and we called it as a “Driver module”.And this module calls bottom modules so it is also called calling module and call means nothing but sending data. For example if we have registration module but enquiry module is in development phase then we make dummy driver module which will work as an enquiry module.
Top Down Integration Testing :
When top module is created but bottom module is in development phase, at such a situation we use Top down integration testing. So in place of bottom module we need to create a temporary called module which we called ‘Stub’. Called module means another module send the data to this module. The module who sends a data or any request is called calling module and those who called by other module is called calling module.
Critical Part First :
In this type of Integration testing, the module which are related to core functionality of the Application only tested. Because some time we don’t have much time for the testing then we need to prioritize the Test. For example, ecommerce sites core module would be search module, add to cart module. and payment module are the few core modules and updating display picture , editing the hobbies these are the less required fields for the ecommerce site.
Big Bang Integration Testing :
In this type of integration testing, all the modules integrated once and testing is done on the modules. There are some disadvantages of this type of integration testing, sometime if we find a bug then it is difficult to find the module on which the bug is present.