Testing based on the internal logic of an application
Unit testing
Glass box testing
Black box testing
Functional Testing