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