Testing based on functional requirements of an application
System Testing
Black box testing
Unit testing
White box testing