Exercício 2 da disciplina Verificação e Validação de Software: Praticando TDD.
Inicialmente, o uso de TDD para desenvolvimento de uma solução parece contra-intuitivo dado o contexto comum em que aprendemos a programar, normalmente testando após o desenvolvimento. O uso de TDD é enfadonho no começo do desenvolvimento, já que a solução conta apenas com um caso base de teste para guiar o desenvolvimento e isso acaba gerando muitos erros, que vão sendo solucionados em pequenos passos. Ao passo que os primeiros casos de teste são totalmente resolvidos o TDD vai se tornando satisfatório, uma vez que o desenvolvimento vai se afunilando, já que os casos de testes retornam menos erros que no início.
Foi uma experiência bem diferente, já costumamos fazer o processo inverso normalmente. Eu particularmente, apesar de entender sua importância, não gostei muito da experiência que tive com o TDD, talvez por ser a primeira vez também. Foi bom pensar de uma forma diferente do usual ao pensar no desenvolvimento da aplicação começando pelos testes, o lado ruim é que perdi muito tempo nesse processo e acabei alterando o estilo da aplicação durante o processo. De modo geral, valeu a experiência e apesar de não ter gostado tanto na primeira vez, talvez exercitando mais vezes se torne mais interessante.