TDD, você sabe o que é?

TDD (Test Driven Development) é uma técnica muito utilizada para Desenvolvimento de Software, e a ideia é basicamente escrever seus testes antes mesmo de começar o código de produção

Postado dia 01/04/2016 às 07:30 por Stefani

programação

Foto: Reprodução/Internet

De acordo com Marrero* (2005), o objetivo principal do TDD é especificação e não validação. Em outras palavras, é uma forma de refletir sobre a modelagem antes de escrever o código funcional. Quando o Desenvolvedor escreve os testes antes, ele permite que uma grande parte do seu sistema funcione corretamente, minimizando ao máximo o risco de erros e bugs.

Como funciona?

É bem simples entender como funciona, existem algumas etapas que é praticamente um “mantra” que deve ser repetido sempre que for necessário, e o ciclo utilizado se chama Ciclo Vermelho-Verde-Refatora.

Que em resumo é:

  • Crie o teste;
  • Execute todos os possíveis testes e ver aplicação falhar (barra vermelha no junit, por exemplo);
  • Escreva aplicação a ser testada;
  • Execute os testes, e veja se todos passam;
  • Refatore, se necessário;
  • Execute os testes novamente e garanta que eles continuem passando.

Algumas outras técnicas podem ser um complemento do TDD, como o Pair Programming (Programando em pares, ou seja, com outra pessoa), e Baby Steps (fazer seu código em passos pequenos, por etapas bem pequenas).

Ok Stefani, já entendi o que é, mas que livros e links você me indica para me aprofundar?

Livro: Test Driven Development: By Example – Autor: Kent Beck

Test-Driven Development: Teste e Design no Mundo Real no PHP – Autor: André Cardoso e Mauricio Aniche

Links:

http://www.aniche.com.br/tdd/

http://tdd.caelum.com.br/

http://agiletesters.com.br/

http://blog.camilolopes.com.br/tddiniciantes/

Qualquer dúvida escreva nos comentários.

Até a próxima!

Fontes: * W.Marrero, A. Settle, Testing First: Emphasizing Testing in Early Programming Courses. Disponível em: http://dl.acm.org/citation.cfm?id=1067451&dl=ACM&coll=DL&CFID=764359778&CFTOKEN=64785082

 

Compartilhar:

Sobre o Autor

avatar

Stefani

Gestão da Qualidade na Universidade de Mogi das Cruzes, tech lover e devoradora de conteúdo digital.

Obs: As postagens do autor são de plena responsabilidade do mesmo, o portal se isenta de qualquer conteúdo que possa ser ofensivo.

Veja mais posts deste autor

Leia também

Assine a nossa newsletter