I've read lots of articles on the internet but still having confusion, what really happens in both of them and what is the difference between them ?
Could someone please elaborate with a real time example by taking a Web/mobile application ?
In a nutshell,
In Bigbang Approach, the entire project or system is completed, and the testing is done on the entire system.
In Top Down approach, the developers develop higher level components first. To test these components in higher hierarchy, we need stubs or programs which simulate action of lower order hierarchy components.
The stubs are used so that the testers do not have to wait for the lower components to be developed in order to be test the higher components thoroughly.
In a software testing company both the approach/strategies are executed to perform integration testing for an application:
Just consider a simple dummy application that has set of 5 modules say Module1--->Home page of RI application Module2-->Login page Module3-->Existing user page after successful login Module4->Log out Module5->page for invalid login attempt
In Top Down approach: Integration testing starts with the higher level module and goes to its next level.If at any stage it is found that some mandatory module is missing, then in such an event that particular module is replaced with a temporary program known as "Stub".
For the above mentioned case,The testing starts with M1. To test M1 in isolation, communications to modules M2, M3 and M4 needs to be simulated by the tester by some means, since these modules may not be ready yet.
In Big Bang Approach: In this approach, integration testing starts once all the modules are ready after testing individually.