Attitude

Developers should test their own code themselves, and don’t rely on dedicated QA teams. They can be valuable in testing our application in unexpected ways, but they should not waste their time on tests that can be automated by the development team.

Back in the days seniority could be measured by your ability and experience in debugging code. Those days are gone. Although it is important to have debugging skills, we should be unpleasantly surprised whenever we need to resort to that, and when it occurs, we need to immediately address it, writing tests and refactoring our code so we never need to do that again.

Unit tests are part of the coding task, and not a separate task. And should be treated as such.

Untested code is unfinished code.

Not writing tests, when being part of the team, is egocentric and selfish.

Isolation

Tests should be isolated from each other. One failed test should not affect other test. The order of the tests should not matter