Comunidade prática Brave.ag - TECH ⚙️

TEMA: TDD (Test Driven Development) ✅

Introdução ao TDD. Assunto abordado na reunião do dia (29/07/2022)

O que é TDD:

  • 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)

Vantagens 🚀

  • 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.

Desvantagens ⛔️

  • Necessário que se tenham às especificações muito bem detalhadas;
  • Início mais lento (primeiro escreve-se os testes);
  • Curva de aprendizado;

REFERÊNCIAS:

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

PRÁTICA

Foi criada uma calculadora para, de forma simples, exemplificar alguns dos conceitos do TDD.

Instale as dependências e execute os testes do projeto 🦾

  • npm install
  • npm test