What is Integration Testing ? Integration testing tests interfaces between components to different parts of a system such as an operating system, file system and hardware.
It is starts at module level when when various modules are integrated with each other to form a system.
This Integration testing tests interfaces between the modules.
It is becomes easier if unit testing is complete and interfaces between modules are well defined.
It is done between two similar units of two different modules of same system.
This testing done after Unit Testing before System Testing
Approach :

Big Bang is an approach to this testing where all or most of the units are combined together and tested at one go. Big Bang approach is taken when the testing team receives the entire software in a bundle.

Top Down is an approach to this testing where top level units are tested first and lower level units are tested step by step after that. Top Down approach is taken when top down development approach is followed. Test Stubs are needed to simulate lower level units which may not be available during the initial phases.
Bottom Up is an approach to this testing where bottom level units are tested first and upper level units step by step after that. Bottom Up approach is taken when bottom up development approach is followed. Test Drivers are needed to simulate higher level units which may not be available during the initial phases.
Test Basis :
Software and system design
Architecture
Workflows
use cases
Test Objective :
Sub System
Database implementation
Infrastructure
Interfaces
System configuration and configuration data