[From a suggestion by Ian Cooper]

There are many different approaches to unit testing software, from manual testing to Test Driven Development. In many organisations the developer of the code will unit test their own code, however in some organisations a unit test will always be created and performed by a second developer or a full time tester.

What approach do you commonly follow?