Um problema bem incoveniente ao codar muitas linhas de um programa é a grande chance de surgirem erros e bugs. Imagine então um projeto grande com vários métodos que desempenham pequenas funções, onde uma só falha impacta no produto final. Funcionar no primeiro teste é impossível!
Existem técnicas de desenvolvimento que buscam resolver isso. Uma delas é o
desenvolvimento guiado por testes: dado os testes que o programa deve passar, a ideia é escrever um código que cumpra os requisitos e checar as falhas, corrigindo a cada etapa.
Para facilitar, tudo é dividido em módulos que cumprem funções determinadas. Sabendo o que cada coisa deve fazer, fica mais fácil elaborar uma bateria de testes e saber o que não funciona. (Se você quiser ter uma noção melhor,
este blog aqui explica legal)
Este é um tópico muito extenso na engenharia de softwares, mas a ideia aqui é apresentar uma
framework de testes em Java:
JUnit.
Q: Ok, mas por que testar enquanto desenvolve? Não dá para escrever e debuggar depois?
A: NÃO! Desenvolver testes unitários que abordam erros específicos demora menos tempo do que tentar achar o erro em um código pronto que não funciona.