White box testing or unit testing: To do white box testing, knowledge of internal logic code is required. It is mostly done by developers.
Black box testing: The functionality of an application is tested; logic code is not required. This testing is done by testers.
Block box or system testing: Testing the application without knowledge of underline code of the application. it is done by the testers.