What should you test? Before you begin, write a list of all the tests you know you will have to write. The first part of our approach to dealing with programming stress is never to take a step forward unless we know where our foot is going to land. When we sit down to a programming session, whit is it we intend to accomplish?
Test-Driven Development - Kent Beck, page 126 paragraph 2