Unit Testing
Unit testing is a testing descrete behaviours of your program as individual units. The tests need to verify the standard, boundary and incorrect cases of input and also check any assumptions made by the code. With Test Driven Development (TDD), you create these unit tests before the code is written where all the tests are failing then code is written and refactored until the test passes. It is important that each test case is also tested independantly to verify a lack of dependancies within the code.
Once all unit tests in a program are passing, teams can then evaluate larger components of the program by means of Integration Testing.