It is basically done by the developers to make sure that their code is working fine and meet the user specifications. They test their piece of code which they have written like classes, functions, interfaces and procedures.
It is also called as module testing. The basic difference between the unit testing and component testing is in unit testing the developers test their piece of code but in component testing the whole component is tested.
Integration testing is done when two modules are integrated, in order to test the behavior and functionality of both the modules after integration. Below are few types of integration testing:
Big bang integration testing
Component integration testing:
In the example above when both the modules or components are integrated then the testing done is called as Component integration testing. This testing is basically done to ensure that the code should not break after integrating the two modules.
System integration testing:
System integration testing (SIT) is a testing where testers basically test that in the same environment all the related systems should maintain data integrity and can operate in coordination with other systems.
In system testing the testers basically test the compatibility of the application with the system.
Acceptance testing: Acceptance testing are basically done to ensure that the requirements of the specification are met.
Alpha testing is done at the developers site. It is done at the end of the development process
Beta testing is done at the customers site. It is done just before the launch of the product.