In this article I've collected the best practices of TDD (Test Driven development) that help me in my work. I brought them together for the future reference, updates, sharing and discussion. Obvious TDD advantages Interface is created "automatically" Only really needable features are implemented System is developed by small steps It forces to write modular code Design errors are recognized on the