Loading...Loading...
45

O que é Test Driven Development (TDD) de forma simples e rápida

By Pedro Ladeira

Last update at 04/09/2021

Agora que já sabemos o que é teste de software e qual a mentalidade correta de se escrever um teste, é necessário compreender boas práticas. Para isso, iremos entender o que é a metodologia do Test Driven Development, também conhecida como TDD.
Se você caiu nesse episódio de paraquedas, saiba que estamos no meio de uma série, a "14 Weeks of Code", na qual iremos estudar o assunto de testes por 14 semanas seguidas. Esse é o terceiro episódio e você pode encontrar tudo organizado, clicando aqui

O que é Test Driven Development (TDD)?

Como mencionado anteriormente, TDD é a sigla para Test Driven Development que, traduzindo, significa Desenvolvimento Orientado por Testes.
Sendo assim, quando essa metodologia é adotada, isso quer dizer que os testes serão escritos antes mesmos de você programar aquela feature em si.
Em uma visão inicial, isso pode ser um pouco estranho, mas te adianto que é uma prática bem antiga e que se é falada até hoje, algo de bom tem aí, não é mesmo?
Apenas de curiosidade, a expressão Test Driven Development foi firmada com Kent Beck, autor do livro com mesmo nome:

Como funciona o Test Driven Development (TDD)?

Apesar de ser considerada fácil, é necessário aplicar algumas regras no desenvolvimento do TDD para que haja um padrão de código a ser seguido. Em resumo, o fluxo é baseado em três partes:
  • Escrever um teste que irá falhar
  • Fazer um código efetivo
  • Eliminar a redundância - refatorar
Bom, para que esse fluxo funcione, você deve começar pelos testes, ao invés de já ir direto para a aplicação. Além disso, esse teste precisa falhar, uma vez que não há código para ser testado.
Em seguida, é necessário que você escreve um código bem simples para que consiga responder o teste da primeira etapa. Nesse momento, é necessário que seu código seja bem burro, porém com a capacidade de passar pela banda de testes. Logo, você vai notar que nem sempre o seu método irá cumprir o desejado e, por isso, será necessário fazer correções.
O momento de refatoração é reservada apenas para "dar aquele tapa" no seu código, pois é aqui que você irá retirar códigos repetitivos ou desnecessários.

Qual o melhor tipo de teste para o TDD?

O ideal é que o TDD seja voltado mais para os testes unitários, uma vez que seria mais fácil de isolar aquelas funcionalidades e testar somente elas.
Porém, não leve isso como uma regra imutável. Com certeza, é possível levar essa mesma mentalidade para os outros tipos de teste. Além disso, cada projeto é único e diversas variáveis podem influenciar na tomada dessa decisão.

Quais as vantagens de usar o TDD?

Ao escrever testes antes de programar uma funcionalidade, podemos listar diversos benefícios que isso pode trazer:
  • facilidade de encontrar e arrumar os bugs, uma vez que você irá fazer partes por partes;
  • uma visão mais objetiva de problemas e oportunidades que devem ser atacados;
  • evita a criação de códigos complexos, já que seria complexo testar também;
  • deixar os testes para depois pode fazer com que a preguiça e a correria bata e não se teste tudo;

Conclusão

Só de entender o método em si, é nítido as vantagens de se atentar para o uso de uma metodologia de testes no seu dia a dia.
Para conseguir produzir ainda mais conteúdos de qualidade, há a opção de você se tornar um membro pago deste canal. Assim, você não só estará ajudando na produção de conteúdo, mas também irá fazer com que isso chegue em ainda mais pessoas. Portanto, se você vê sentido no que falei, considere-se tornar um membro mensal ou anual.
Além disso, também há a opção de você apoiar de formas mais pontuais com a compra de cafézinhos. Basta clicar no cafézinho, que está bem a sua esquerda, e escolher o valor que gostaria de contribuir. Saiba que qualquer ajuda é sempre muito bem-vinda :)
Por fim, não deixe de compartilhar esse texto com aquela pessoa que também vai gostar.
Ahhh e se quiser trocar qualquer ideia, pode me chamar no instagram.