Como consegui começar a praticar TDD

Primeiros contatos

Estude conceitos antes de bibliotecas e frameworks

  • Escreva um teste automatizado que falhe ao ser executado;
  • Escreva o código de produção suficiente para que este teste passe;
  • Refatore o código e repita o ciclo.
Ciclo do TDD: Escreva um teste, Faça o teste passar, Refatore e reinicie o ciclo.
Clico básico do TDD

Escreva os testes antes SEMPRE

Não atire no mensageiro

Não use ferramentas de testes muito avançadas

Estude arquitetura de software e código limpo

  • Clean Code (Código Limpo) — Um clássico escrito pelo Robert Cecil Martin. Nele você vai entender os fundamentos de como escrever um código que será mais fácil de manter e refatorar.
  • Clean Archictecture (Arquitetura Limpa) — Do mesmo autor do Código Limpo. Ele vai te ajudar a entender melhor o que é e como criar uma boa arquitetura de software. Gravei um podcast onde falo sobre este livro.
  • Refactoring — Escrito por Martin Fowler, outro clássico do desenvolvimento de software. Uma das principais etapas do TDD é a parte de refatorar o código e este livro é a referencia natural para entender como fazer isso da melhor maneira possível.
  • Building Evolutionary Architectures — Cheguei a gravar um podcast sobre este livro. Esta obra vai te ajudar a entender como montar uma arquitetura evolucionária. Você pode também assistir esta palestra da Rebecca Parsons, CTO da ThoughtWorks e uma das autoras do livro.

Siga os princípios de yagni e último momento responsável

“Há coisas que não sabemos que não sabemos.” — Neal Ford

Execute os testes automaticamente ao salvar qualquer arquivo

  • Não esqueço de executar os testes com frequência;
  • Quando uma alteração causa algum efeito colateral indesejado que quebre algum teste, fico sabendo no mesmo instante.

Não basta automatizar a execução dos testes

Priorize testes de unidade

Pirâmide de testes

O teste deve guiar o desenvolvimento

Não desista no primeiro obstáculo

Chegue perto de 100% de cobertura

Definição de código legado

Não tenha medo de reverter o código quando estiver com dificuldades

O momento em que decidi seguir TDD

Não é normal ter medo

“Testes são a Pedra Filosofal do programador, transmutando medo em tédio”. — TDD Desenvolvimento Guiado por Testes, Kent Beck.

Menos debug, mais testes automatizados

Conclusão

--

--

--

Entusiasta de programação extrema e autor do projeto segunda.tech.

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Marcio Frayze

Marcio Frayze

Entusiasta de programação extrema e autor do projeto segunda.tech.

More from Medium

Defensive programming

Why do I write Unit Tests

Never-ending Story with TDD

Factory Method Design Pattern