Unit testing is done by the developers team before the aplication is verified/tested by testing team i.e, execution of the test cases. Unit testing is performed by developer on the specific unit of source code assigned.The test data used by the developers is different than the test data used by the quality assurance team.
The logic behind unit testing is to validate every part of the application and assure that individual parts are working as expected in terms of requirements and functionality.
Limitations of Unit Testing:-
1.Unit testing is not sufficient to catch each and every bug in an application.
2.Developers are allowed to use limited number of scenarios and test data to verify the source code.