* Any change to the program logic should be driven by a failed test.
If it’s not tested, it’s broken.
Testing is supposed to help for the long term. The long term starts tomorrow, or maybe after lunch.
It’s not done until it works.
Tests are code; refactor them, too.
Start a bug fix by writing a test.
Tests monitor the quality of your codebase. If it becomes difficult to write tests, it often means your codebase is too interdependent.