Por que eu deveria prática Test Driven Development e como devo começar?

StackOverflow https://stackoverflow.com/questions/4303

  •  08-06-2019
  •  | 
  •  

Pergunta

Muitas pessoas falam sobre como escrever testes para o seu código antes de começar a escrever seu código.Essa prática é geralmente conhecido como Test Driven Development ou TDD para breve.Quais os benefícios que posso obter do software de escrita desta forma?Como faço para iniciar com essa prática?

Foi útil?

Solução

Há uma série de benefícios:

  • Você obtém feedback imediato sobre se o código está funcionando, então você pode encontrar erros mais rápido
  • Ao ver o teste vão do vermelho para o verde, você sabe que você tem um trabalho de teste de regressão, e o código de trabalho
  • Você ganha confiança para refatorar o código existente, o que significa que você pode limpar o código, sem se preocupar com o que poderia quebrar
  • No final você tem um conjunto de testes de regressão que pode ser executado durante automatizado constrói para dar a você maior confiança de que a sua base de código é sólido

A melhor maneira de começar é apenas o começo.Há uma grande livro do Kent Beck tudo sobre Desenvolvimento Orientado a testes.Comece com o novo código, não se preocupe com código antigo...sempre que você sentir que precisa refatorar um código, escrever um teste para a funcionalidade existente e, em seguida, refatorá-lo e certifique-se de que os testes de ficar verde.Leia também este excelente artigo.

Outras dicas

Os benefícios que parte tem recentemente foi coberto, como por onde começar....em uma pequena enterprisey sistema onde não há muitas incógnitas, de modo que os riscos são baixos.Se você ainda não conhece um framework de testes (como o NUnit), comece por aprender isso.Caso contrário, comece por escrever o seu primeiro teste :)

Benefícios

  1. Você a descobrir como compartimentar o seu código
  2. Você descobrir exatamente o que você deseja que o seu código para fazer
  3. Você sabe como ele deveria agir e, na estrada, se refatoração quebras de nada
  4. Você fica o hábito de se certificar de que o seu código sempre sabe o que é suposto fazer

Introdução

Basta fazê-lo.Escrever um caso de teste para o que você quer fazer, e, em seguida, escreva o código que deve passar o teste.Se você passar o seu teste, ótimo, você pode passar para a escrita de casos em que o seu código irá sempre falhar (2+2 não devem ser iguais a 5, por exemplo).

Depois de todos os testes passarem, escreva o seu real de lógica de negócio para fazer o que você quiser fazer.

Se você está começando do zero, certifique-se de que você encontrar um bom teste suite que é fácil de usar.Eu gosto de PHP para PHPUnit ou SimpleTest funcionar bem.Quase todas as linguagens populares têm alguns xUnit suite de testes disponíveis para ajudar a criar e automatizar os testes.

Na minha opinião, a maior coisa é que claramente permite a você ver se o seu código faz o que é suposto.Isso pode parecer óbvio, mas é super fácil de executar desviados de seus objetivos originais, como eu descobri no passado :p

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top