A principle for developing Unit Testing.
Fast
Unit tests should be fast
Independent
Unit tests should be independent from eachother. The result of test 1 is independent from test 2
Repeatable
Tests can be repeated within different environmenets
Self-validating
A unit test should fail or pass
Timely
Unit tests should be written soon after the feature is created