Introdução ao TDD. Assunto abordado na reunião do dia (29/07/2022)
- Técnica firmada por Kent Beck e é um dos pilares do XP (Extreme Programming).
- TDD significa Desenvolvimento Orientado por Testes (Test Driven Development)
- Essa técnica consiste em um ciclo apelidado de Red, Green, Refactor.
- Escreve-se o teste para a funcionalidade ao qual queremos implementar (O teste deve falhar, pois ainda não existe o código de produção RED);
- Após falhar criamos a funcionalidade com os requisitos mínimos para que ele possa passar no teste (GREEN);
- Com os testes funcionando chegamos ao passo de refatorar o código. Devemos procurar pontos de melhoria e aplicar boas práticas de programação (REFACTOR)
- Feedback rápido sobre a nova funcionalidade e sobre as outras funcionalidades existentes no sistema
- Maior cobertura de testes unitários;
- Testes são executados com maior frequência;
- O código se torna mais limpo;
- Maior confiabilidade nas entregas;
- Código coeso e menos acoplado;
- Código mais flexível;
- Maior produtividade;
- Menos depuração.
- Necessário que se tenham às especificações muito bem detalhadas;
- Início mais lento (primeiro escreve-se os testes);
- Curva de aprendizado;
https://www.devmedia.com.br/test-driven-development-tdd-simples-e-pratico/18533
https://dev.to/womakerscode/o-que-e-tdd-4b5f
https://medium.com/@jefsterfarlei/tdd-62a36e96b8d0
https://imasters.com.br/agile/7-motivos-por-que-tdd-falhou-em-ser-mais-utilizado
Foi criada uma calculadora para, de forma simples, exemplificar alguns dos conceitos do TDD.
npm install
npm test