Teste de software: O que é TDD?
O Desenvolvimento Orientado a Testes é um processo de desenvolvimento de software que segue os seguintes passos:
- Escreva um teste com falha para um requisito.
- Implemente apenas código suficiente para fazer o teste passar.
- Refatore com confiança (se necessário).
TDD é como o método científico, mas para software. O método científico é como aprendemos coisas sobre o mundo.
O fator chave tanto no método científico quanto no TDD é a previsão. Usando a previsão, eliminamos a possibilidade de viés de retrospectiva. Depois que o resultado já é conhecido, as pessoas muitas vezes acreditam que poderiam ter previsto o resultado: que eles sabiam o tempo todo. No código, o viés de retrospectiva pode ter um efeito mais insidioso: seu código pode produzir a saída errada, mas você pode acreditar que é a saída correta.
O TDD nos obriga a fazer um cálculo preditivo da saída esperada porque o código que produzirá a saída real ainda não existe. Não há oportunidade para o viés de retrospectiva obscurecer nosso julgamento.
Custos de TDD:
Os usuários sem experiência em TDD podem descobrir que se movem 15% a 30% mais devagar, mas com 1 a 2 anos de prática, o processo de feedback em tempo real do TDD pode aumentar a produtividade.
E você já conhecia o TDD? O que acha desse método de desenvolvimento de software?