in reply to Testing in real life
1. When should I write tests?
Before, during, and after writing production code.
2. What should I test?
Everything.