Please enable JavaScript.
Coggle requires JavaScript to display documents.
O que é TDD? - Coggle Diagram
O que é TDD?
Benefícios do TDD:
- Rápido feedback sobre a funcionalidade recém implementada;
- Código mais limpo e simples;
- Segurança no refactoring e na correção de bugs, sabendo que se alguma funcionalidade não prevista for afetada, seu teste vai quebrar;
- Maior produtividade não perdendo tempo com debug;
- Menos tempo perdido em discussões com a equipe de Qualidade;
- Possibilidade de Integração Contínua, com realização de builds e deploys automáticos.
Ferramentas:
Para facilitar ainda mais, existem diversas ferramentas que nos fazem ganhar ainda mais tempo. Alguns exemplos para diferentes linguagens são:
-
-
-
-
-
Processo de desenvolvimento de software baseado na repetição de um ciclo de desenvolvimento muito curto
-
-
Red: escrever um Teste Unitário que, ao ser executado, irá falhar.
Refactor: refatorar o código, melhorando a leitura, eliminando redundância e adotando boas práticas.
Etapas:
3. Escreva o código:
O próximo passo é escrever um código que faça com que o teste seja aprovado. O novo código não precisa ser perfeito e pode passar no teste de maneira deselegante, pois será aprimorado na etapa 5. Neste momento, o único objetivo do código é passar no teste. O código deve ser simples, seguindo os princípios KISS.
4. Rode os testes:
Quando todos os testes passarem, o desenvolvedor terá certeza de que o novo código atende aos requisitos e não quebra nenhuma funcionalidade existente.
5. Refatore:
O novo código pode ser movido de onde era conveniente estar para passar em um teste para o local onde ele logicamente pertence. Duplicações devem ser removidas. Os nomes de objetos, classes, módulos, variáveis e métodos devem representar claramente seu objetivo e uso atuais. As hierarquias de herança podem ser reorganizadas. As classes devem ter uma única responsabilidade, seguindo o Single Responsibility Principle.
1. Adicione um teste: A implementação do teste irá forçar o desenvolvedor a conhecer as especificações e entender os requisitos, que podem ser obtidos através da leitura dos casos de uso.
2. Execute todos os testes e veja se o novo teste falha: Esse passo valida que os testes já escritos estão funcionando e mostra que o novo teste não está passando pelo motivo esperado: a funcionalidade ainda não foi implementada. Agora, temos um objetivo: fazer o teste passar!
Repita:
Começando um novo teste, o ciclo é repetido. O tamanho das etapas deve sempre ser pequeno, com apenas de 1 a 10 edições entre cada execução de teste. Se o novo código não atender rapidamente a um novo teste ou outros testes falharem, desfaça a alteração ou reverta o código ao invés de debugar excessivamente o código.
-
-
-