- Tests are just as important as production code
- If you can’t read, write, or change tests easily, then it will be slow and painful to release features
- Do TDD if possible
- Use mock stubs to test your objects
- Only test the outer boundaries of your code, not the internals. If the internals don’t effect anything outside the class, why are they there? If they do, won’t the public API of the class be testable for what the private methods should have done?