ISTQB - Integration Testing

In previous article we have understood about the component testing which needs to be done before integration testing. Integration testing can be define as the testing of the different components and interfaces of application.  Integration testing will be done with the different modules of the application which are dependent upon each other. It can be performed between operating system and file system or hardware and any interface of systems. Once 2 module will be developed and integrates together at that time integration testing will be performed for that application or product.

We can take an example of Order Management system web application. In this Order Management system different modules are define like Login page, Customer Details page, Order Details page and Final Transaction page. Here each page is integrated with each other. Customer should not be able to login without the sign up. And each sign up should be saved in customer details module. Customer should be able to place order only after the successful registration or login. And Order will be placed only after transaction will be done successful. Thus, we can say that each pages are integrated with each other. If Order have been placed by any customer and that customer would be deleted by any tester then application should give a validation message. This can call actual integration testing that any dependent data should be deleted and removed from the application. The same any system integration and files integration can be verified.
ISTQB - Integration Testing

Integration testing mostly done by a tester or a testing team. As define in image, we can identify that Module 1 and Module 2 are integrated with each other. Some part of Module 1 will be integrated with Module 2 and some part of module 2 is integrated with Module 1. Integration testing will be done with the two main approaches. 1. Top Down approach & 2. Bottom up approach. We will understand both in details. One more approach is there which can be named as big bang approach. Each approaches have their own advantages and disadvantages.

Let’s start with the big bang approach, in this approach all modules are integrated simultaneously so integrated testing will be done as a whole product. For example there are six module available as Module A to Module F. These all modules were integrated with system like one heart system is available for a product and this all modules are simultaneously connected with the System. Thus, any change will be made in the system then all module will be affected. This will call big bang approach. The advantage of this approach is, the integration testing can be finished earlier as all modules are connected with single system and we need to verify the connected modules only. Disadvantage of this approach is, this consumes more time as only change have been made in system then 6 more module needs to be verify every time and it may possible that failure of the system can’t be caught easily.

Next approach is Top down approach, Here Module A will be integrated with Module B & Module C plus Module B will be integrated with Module D & Module E and Module C will be integrated with Module F. Thus, 6 modules are available here and all are integrated with each other as per requirements. In top down approach all modules are integrate with each other with define controlling flow. Integration testing will be started here from Top module to bottom module like from Module A to Module F. Testing will be started from main menu of application. Most of the application will be verified by applying this approach. As integration testing will be done in the environment which is same as requirements. Here we can consider all module as stub which takes less time to verify. Disadvantage of this approach is main functionality of the application can be verified in last stage of testing procedure which may affect to the release time.

Last approach is bottom up approach, here testing procedure will be started from bottom module to upgrade module. Thus module can be considered as driver here and we need to test the application by replica of the integrated module. Here Module F will be integrated by Module C, Module D & Module E will be integrated by Module B and Module C & Module B will be integrated by Module A. The main advantage of this approach is here testing and development can be done together so product’s quality will be increased with respect to customer’s requirements. Disadvantage of this approach is, we need to create the test drivers for all modules for doing integration testing. This is all about integration testing. Further we will understand Incremental testing procedure.

No comments:

Post a Comment