Login Registre-se

Você pode ganhar um iPad 2 na promoção do Javafree

O Portal javafree.org inicia mais uma promoção para os usuários do fórum. Quem publicar mais posts válidos (perguntas ou respostas) entre 16/4 a 13/7 levará para casa um iPad 2 de 16GB!

Clique aqui e saiba mais.
Home > Wiki > Testes Unitários


Testes Unitários

Testes unitários são códigos fonte que ao serem executados atestam a corretude (existe essa palavra?) de alguma rotina ou parte dela, de maneira que se os testes da rotina forem bem sucedidos, o seu programa funcionará também. O lema é: Teste pequenas rotinas e um conjunto de rotinas. Na primeira vc vai testar se determinada rotina está correta e na segunta vai detectar se as rotinas estão se comunicando corretamente.

Testes unitários são indispensáveis para o desenvolvimento de um bom software.

Imagine o seguinte caso, uma equipe de desenvolvimento com 10 pessoas construindo em conjunto um único sistema. São 10 pessoas alterando fontes e mexendo nas implementações de seus colegas. Digamos que vc entra na equipe e faz determinada rotina do software e após um dos outros desenvolvedores percebe que essa mesma rotina poderia ser generalizada para outros casos. Seu colega altera o seu código colocando o código necessário para generalizá-la. Se não existir um teste unitário para a sua rotina, ele não tem um re-testar todos os casos que vc testou. E aí ele tem duas saídas: Ou ele testa com os dados dele, afirma que está correto e devolve os fontes para o repositório; ou te procura pedindo casos interessantes de testes da rotina.

Com a primeira saída ele adiciona risco a aplicação. Há um grande risco de vc ter um caso de teste que falhe na alteração dele. Com a segunda saída, se você lembrar dos casos de teste que aplicou na rotina, ambos (vc e ele) perdem muito tempo retestando. E mesmo assim ainda há risco de vcs esquecerem de testar algo. (Isso sempre ocorre).

Outra justificativa é que quando o software não é muito alterado, frequentemente os programadores esquecem o que fizeram. Quando uma nova alteração é requerida nesse tipo de software, os desenvolvedores não sabem nem como testar o software e muito menos se a alteração deles não estragou algo que já existia.

Os testes unitários resolvem este tipo de coisa.

Palavras Relacionadas