Unit testing verifies it does what it is supposed to do ideally, and all other tests verify it can do it in non-ideal environments.