Páginas

quinta-feira, 23 de setembro de 2010

Conceito de Teste Unitário

Há algum tempo, eu possuía um conceito errado sobre teste unitário. Pensava que se resumia em realizar um teste manual daquilo que você havia desenvolvido.

Exemplo:
Em uma atividade como "Desenvolver uma tela que insere uma informação X", o meu antigo pensamento seria: "Vou adicionar uma sub-atividade chamada de Teste Unitário, para testar manualmente a inserção desta informação!".

Este teste unitário era, simplesmente, acessar a tela, preencher o campo e clicar em um botão para que a informação fosse inserida. Mas, a cada leitura/experiência, pude verificar que o meu entendimento sobre teste unitário estava incorreto. O que eu fazia antes é considerado como um teste integrado e NÃO teste unitário.

Antes pensava que fosse preciso apenas testar manualmente uma tela, mas após alguns estudos, notei que teste unitário é um código que testa código!

Pensando na prática, seriam vários TestMethods que testam cada método tanto nos fluxos básicos como nos fluxos alternativos.

Teoricamente, um teste unitário é aquele em que se consegue garantir que a unidade de código desenvolvido funcionará de acordo com o esperado.

Ele também pode ser considerado como uma forma de documentar a utilização do código, um exemplo de como utilizar.

Se você não tivesse um teste unitário, como agiria se ocorresse uma manutenção em um sistema em que precisasse garantir que o que já estava desenvolvido não terá problemas???

Iria realizar manualmente todos aqueles casos de testes que estavam descritos em uma planilha Excel??? Quanto tempo você gastaria para fazer isto??

Com a utilização do teste unitário, é possível garantir que o que já foi desenvolvido está funcionando e o que virá a existir funcionará.

Garantir que o código que foi desenvolvido funcionará é uma obrigação de todo desenvolvedor!

Uma frase que achei bastante interessante do Uncle Bob é: "Desenvolvedor que não testa é como um médico que não lava as mãos antes de fazer uma cirurgia."

Escrevi este post pois imagino que muitos de vocês possam ter essa definição errada que eu tinha antigamente.

1 comentários:

  1. Verdade, sou inexperiente ainda nessa área, porém tenho ainda esse pensamento.

    ResponderExcluir