Test Driven Development

Postado dia 23/03/2016 às 22:43 por Stefani

TDD, você sabe o que é?

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

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 código funcional.

Quando o Desenvolvedor escreve os testes antes, ele permite que uma grande parte do seu sistema funcione corretamente e 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.

— FOTO —

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, deixe 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