Quality is delighting customers
We have four modules in our software named A, B, C and D respectively. A complete unit testing has been done. No bug was found during unit testing of A, B, C and D. But after integration of all modules (A-->B-->C-->D), a bug was found in B during integration testing.
(i) What can be the reasons for occurrence of that bug while we've done unit testing properly and no bug was found during unit testing?
(ii) How will you test that bug?
(iii) How will you report that bug in detail?
(iv) What will be the regression test approach after fixing that bug?
(i) The intention of integration testing is to test functionality of product after merging modules. We may get some issues in integration testing phase which are not observed in Unit testing phase due to lack of co-exists or lack of compatibility btw modules.
(ii)We need to test analyze by which module leads to the bug and what other areas effecting or what other modules effecting with this bug
(iii)Need to find out exact scenario/scope of the issue and report the bug by trim down the modules scope
(iv)Need to check surrounding areas of the bug for finding side effects and also should cover over all functionality of the product
(i) It's very common, we get bugs after the Integration. The reason why we didn't get these bug in Unit testing is if module A has dependency on module B and Module B has dependency on module D. During Unit testing, we use Stubs to eliminate the dependency of one module with other and test the functionality of that module alone. When we integrate the modules, the dependent module should get properly integrated with dependency module. If any error done during Integration, it would lead to a bug, which will be found during Integration Testing. This is one of the reason, it's not the only reason.
(ii) In Integration testing, you need to mainly focus on the module which dependent module. We need to test like all the module interact with other modules without any failure.
(iii) Reporting Bug depends on the organization/testing team policy. If you are using a separate tool for bug tracking, then explain the bug with steps to how to reproduce the bug, Screenshot would be more helpful for the developers to reproduce the bug and debug it.
(iv) In Regression Testing, you need to first test that bug with the same scenario how you got that bug previously. Then try the same functionality with different method (if available). Lastly test the flow to confirm whether no new bug has been introduced because of this fix.
Thanks for reply.
I'm satisfied with your answers very much.
What may be other reasons for (i) ?