por toda parte e não há documentação que os salve – Custos • Ajuda a criar melhores designs – DI, DRY, SOLID, YAGNI, KISS, etc.. – Código bem escrito é mais fácil de ser testado – Estimula a criação de boas APIs – Refatoração permite que o design evolua • Foco • Alta cobertura de testes • Reduz em 40-80% o número de bugs (http://evidencebasedse.com/? q=node/78 ) • Os testes se tornam uma espécie de documentação que não mente
prazo • Reduz demandas por suporte “Tests are as important to the health of a project as the production code is. Perhaps they are even more important, because tests preserve and enhance the flexibility, maintainability, and reusability of the production code” Robert C. Martin (Uncle Bob)
deve ser escrita antes de escrever um teste que cubra esta linha e falhe inicialmente • Testes unitários, funcionais, de aceitação… – Data Fixtures • Garantir que os testes passem antes de subir pra produção – CI, Docker, etc.. • Os testes devem ser tão bem escritos quanto código de produção