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.

I'm not the guy you kill, I'm the guy you buy. —Michael Clayton