domingo, 13 de junho de 2010

Teste de Unidade com JUnit [PARTE I]

Bom, depois de uma longa data sem escrever nenhum post, resolvi retornar as atividades com este assunto que é bastante interessante e pouco utilizado no processo de desenvolvimento de software.

O teste de unidade é uma daquelas coisas que todos sabemos que devemos fazer, mas tendemos a deixar para trás na correria por FATURAMENTO.

Infelizmente essa pressa nos deixa vulnerável a diversas coisas.

Infelizmente alguns gerentes não vêem este custo como um investimento, preferem que os softwares assim que liberados as primeiras versões, já vão direto para os testes, e dos testes voltam para os desenvolvedores ficando neste loop, por um tempo considerável.

Mas se mesmo assim, você consegue aquele 'tempinho' para desenvolver os seus testes de unidades, você precisa saber quando executar e qual a granularidade, além do que, fazer quando os testes falharem e os defeitos forem encontrados, de modo que seu conjunto de testes permaneçam em um bom estado.

Quando Testar?

A primeira questão que você provavelmente considerará enquanto estiver estuando seu teste de unidade é a quantidade de código de teste que você deve escrever. Algumas perguntas que não querem se calar: Quanto é o suficiente? Como se define 'suficiente'? Testar tudo que puder dar errado?
Talvez um teste que tenha um valor maior, são aqueles que testam interfaces nos limites de camadas significativos. Como a camada de serviços.

Muitos clientes do seus sistemas dependem da interface da camada de serviços. Interfaces de usuário, carregadores de bancos de dados. É de extrema importancia que os métodos dessa camada funcionem perfeitamente.
A cama da serviços usa as camadas de domínio e de persistência. Partindo deste ponto, a camada de serviços cumpre suas responsabilidades delegando responsabilidades às camadas de dominio e de persistência, com isso os testes são executados indiretamente nas camadas mais "baixas".


Quem deve escrever os testes?

O idel seria o próprio desenvolvedor que escreveu o código. Pois ninguem melhor que ele para saber quais as intenções do código.

O que fazer quando os testes falham?
Conserte rápido!!! Lembre-se sempre que tem que FATURAR.... Existe duas possibilidades para que o seu teste falhou: O método a ser testados apresenta erros, ou, o caso de teste está errado.
Como estou retornando as ativades (postar) novamente, resolvi pegar um tema e quebrá-lo em duas partes:
PARTE I: Um pouco de "história" dos testes de unidade.
PARTE II: Escrevendo um teste de unidade.

Espero ter contribuído mais uma vez...