In last article we have understood all about the incremental testing now we are moving towards the types of integration testing in details. We have seen the Top down integration testing, bottom up integration testing & big bang integration testing. But in this article we will understood remaining integration types along with big bang integration testing. The remaining types of integration testing is, Incremental integration, Functional integration and sandwich integration testing.
Types of Integration Testing
We can say that there are so many ways to use the approaches of incremental testing which can be dependent upon the complexity of the project, cost of the project, deadline of the project, Criticality of project etc. Thus, in this situation most common used integration testing is, Top down integration, bottom up integration, big bang integration & incremental integration and functional integration, sandwich integration, backbone integration & distributed service integration would not be used that much.
Big Bang Integration Testing
Now let’s move to the detail understanding of big bang testing, as we have got the idea that in big bang testing all the modules are integrated with the head module simultaneously and afterwards they all will be tested and verified as whole project or application. Here all modules will not be integrated till all modules will be developed. And we can take an example of compute whose heart would be CPU and all other components are connected with it and made one product. The main advantage of this approach is integration testing would be done if head module will be worked as expected but disadvantage is it may take much time to validate the application or product & if any failure will be happen then hard to find the root cause. Most of time critical issue can be found in this approach.
Incremental Integration Testing
Next is incremental testing, in incremental testing all modules are integrated one by one and testing procedure will be done after each integration. Here we can take an example that if we would like to build an order management system then first we will develop the login page then we will develop the customer information page or sign up page and this two page should be integrated with each other perfectly like if user does not enter the valid detail for sign in then after clicking on login button, application should display a validation message that unknown user will not be logged in to the application. Once this 2 module of the application will be built then further module can be developed. This is call the incremental testing. This approach have the advantage that bug can be found in early stage of testing life cycle and we can resolved. This is all about incremental integration testing. Now we can move towards the sandwich testing.
Sandwich Integration Testing
In sandwich testing, we need to include top down and bottom up approach together to validate the application or product. We can identify this approach as hybrid approach or mixed approach of testing procedures. If we want to apply sandwich testing to the application or system then it must be divided in the 3 layers. Mostly middle layer would be the heart of the application so we will do more testing to that layer then upper layer and lower layer can be integrated with the middle layer and we need to validate it again. Thus, whole application will be tasted perfectly. The main advantage of this approach is, upper layer and lower layer can be tested parallel. If any sub system have been integrated with the application then it may possible that integration testing of sub system and all layer would not be performed. This will be a disadvantage of the sandwich integration testing.
Functional Integration Testing
Now next is functional integration testing, Function integration testing mostly depend on the functionality of the application and requirement specifications. After developing the code of application, it should work as expected that would be validated by the functional testing. Each functionality of the application should work properly as per described in requirement specification that is the main goal of functionality integration testing. For example, an ATM system is there. We need to enter swipe the card and then need to enter the pin number. If pin number will be wrong then ATM machine will display an error message and would not allow to take cash. This is one functionality, an error message should be displayed if pin number would be wrong OR if pin number will be perfect then user should be able to take the cash. Here we will not verify how the ATM will do all procedure of giving cash to user but we will test that proper error message should be displayed.
No comments:
Post a Comment