Pergunta

Eu continuo lendo sobre pessoas que estão "infectadas por testes", o que significa que elas não apenas "pegam" TDD, mas também não conseguem viver sem ele.Eles "passaram pela reforma", por assim dizer.A questão é: como faço para ficar assim?

Foi útil?

Solução

Parte do objetivo de ser "infectado por teste" é que você usou TDD o suficiente e viu sucesso o suficiente para você não quer codificar sem ele.Depois de passar por um ciclo de escrita de testes primeiro, depois codificar e refatorar e ver a contagem de bugs diminuir e seu código melhorar como resultado, isso não apenas se torna uma segunda natureza, como Zxaos disse, mas você terá dificuldade em ir de volta ao Código Primeiro.Isto está sendo testado infectado.

Outras dicas

Você já leu sobre TDD;ler mais não vai te entusiasmar.

Em vez disso, você precisa de uma história de sucesso pessoal genuína.

Veja como.Pegue algum código de um módulo principal, código que não depende de sistemas externos ou de muitas outras sub-rotinas.Não importa quão complexa ou simples seja a rotina.

Em seguida, comece a escrever testes de unidade nele.(Presumo que você tenha um xUnit ou similar para o seu idioma.) Seja realmente desagradável com os testes - teste todos os casos limites, teste max-int e min-int, teste nulos, teste strings e listas com milhões de elementos, teste strings com coreano e caracteres de controle e árabe da direita para a esquerda e aspas e barras invertidas e pontos e outras coisas que tendem a quebrar as coisas se não forem escapadas.

O que você encontrará é....insetos!A princípio você pode pensar que esses bugs não são importantes - você ainda não se deparou com esses problemas, seu código provavelmente nunca faria isso, etc.etc..Mas minha experiência é que se você continuar avançando, ficará surpreso com a quantidade de pequenos problemas.Eventualmente fica difícil acreditar que nenhum desses bugs irão sempre causar um problema.

Além disso, você tem uma grande sensação de realização quando algo é feito muito, muito bem.Sabemos que o código nunca é perfeito e raramente está livre de bugs, por isso é bom quando esgotamos tantos testes e nos sentimos realmente confiantes.A confiança é uma sensação agradável.

Finalmente, acho que o último evento que irá desencadear o amor acontecerá semanas ou meses depois.Talvez você esteja corrigindo um bug, adicionando um recurso ou refatorando algum código, e algo que você fizer irá quebrar um teste de unidade."Huh?" Você dirá, sem entender por que a nova mudança foi relevante para o teste quebrado.Então você encontrará isso e encontrará a iluminação.Porque você realmente não sabia que você estava quebrando o código e os testes o salvaram.

Aleluia!

Aprenda sobre o TDD para começar e depois comece a integrá-lo ao seu fluxo de trabalho.Se você usar as metodologias o suficiente, descobrirá que elas se tornarão uma segunda natureza e começará a enquadrar todas as suas tarefas de desenvolvimento dentro dessa estrutura.

Além disso, comece a usar a estrutura J-Unit (ou X-Unit) para o idioma de sua escolha.

Uma palavra, pratique!Há alguma sobrecarga ao fazer TDD e a maneira de superá-la é praticar e certificar-se de usar ferramentas para ajudar no processo.Você precisa aprender as ferramentas como a palma da sua mão.Depois de aprender as ferramentas para acompanhar o processo que está aprendendo, ele clicará e você se tornará fluente ao escrever testes primeiro para liberar o código.Então você será "testado infectado".

EU respondidas uma pergunta semelhante a esta há algum tempo.Você pode querer dar uma olhada também.Menciono algumas ferramentas e explico o aprendizado do TDD.Dessas ferramentas, o Resharper e a escolha de uma boa estrutura de simulação são essenciais para fazer TDD.Não posso me estressar em aprender essas ferramentas para acompanhar a estrutura de testes que você está usando o suficiente.

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