Unit Testing
Unit Tests - Test a unit of an application (class) without external dependencies
Integration Tests - Tests the application with external dependencies (should not be integration across classes, it should go further)
End to End Tests - Drives the application through the UI