DEV Community

Cover image for Programação orientada a testes?!
DevShy for Devs Jequié

Posted on

Programação orientada a testes?!

Para começar

Ao construir um projeto, um sistema ou até mesmo um simples código, nos bate aquela dúvida: será que o que eu construi está funcionando corretamente? É ai que surge a necessidade de implementar testes em seu código, como o próprio nome diz, testar se o que você escreveu está retornando o esperado.

Testes unitários e TDD

Agora que já vimos um pouco sobre a importância de termos teste em código, vamos ver a diferença entre Testes unitários e TDD. Testes unitários são trechos de código que vão "exercitar" a entrada, saída e comportamento do seu código, já o Desenvolvimento Orientado a Testes (TDD) é uma forma de pensamento, que consiste em escrever testes primeiro do que o código.

É isso mesmo que vocês leram. Testar antes mesmo de escrever o código.

O grande motivo desse pensamento é que quando criamos os testes para código que até mesmo nem existem ainda, o processo de criação desse código se torna muito mais fácil, pois você já sabe "onde quer chegar" com ele.

O ciclo do TDD

Mesmo sendo mais fácil construir o código tendo seu teste criado, não significa que acertaremos de primeira. Aqui falarei talvez da coisa mais importante da metodologia do TDD, o ciclo de funcionamento dele. O ciclo é formado por três etapas:

  • Escrever um teste e fazer ele falhar (se estamos escrevendo o teste primeiro é claro que ele irá falhar)
  • Escrever o código que será testado pelo seu teste
  • Refatorar o código para algo mais otimizado

Essa imagem representa bem o que quero dizer:

Image description

Para finalizar

E estamos chegando ao fim desse artigo pessoal, ele foi bem curtinho com o intuito de dar apenas novas visões sobre a importância de se fazer teste em nosso código, independentemente da linguagem utilizada. Utilizando o TDD seu código fica mais confiável e legível, pode ser difícil aplicar essa metodologia no começo mas com o tempo fica mais fácil!

Materiais de referência

Top comments (0)