Teste unitário, ou teste de desenvolvedor, independente de como é chamado, um fato sobre ele é a necessidade de uma boa ferramenta para realizá-lo. Nesse sentido, quando se pensa em ferramentas para teste, há uma gama incrível de ferramentas proprietárias que dizem realizar um bom trabalho.
Apesar da existência dessas ferramentas proprietárias, onde trabalho, e até mesmo em parte por política própria, priorizo a busca por ferramentas free ou open. Com base nessas observações, ao procurar informações, duas ferramentas sobressaem quando se fala em teste de unidade, e são elas:
JUnit: http://www.junit.org/
Jabuti: http://www.labes.icmc.usp.br/site/content/jabuti
Ao se decidir por uma ferramenta, várias condições devem ser levadas em consideração:
- Sua equipe está familiarizada com ela? se sim, ótimo! se não, haverá gasto de tempo e $$ com treinamentos ( sem contar a possível resistência de aprendizado de alguma ferramenta nova).
- A ferramenta é mantida por uma comunidade ativa? possui alguma empresa que auxilia a manter essa atividade? possui bom suporte? uma comunidade pouco ativa implica em ferramenta desatualizada, defasada. Sem uma grande empresa para movimentar essa comunidade, talvez a comunidade por si só não consiga se manter. Quanto a suporte, a ausência de boa documentação, bons fóruns, dificulta não só o aprendizado, mas também a resolução de problemas novos.
- Qual o grau de integração dessa ferramenta com outras ferramentas? por exemplo, essa ferramenta é um plugin? ou ela existe por si só?
Essas são apenas algumas, das várias questões a serem levantadas quando se escolhe uma ferramenta para determinado fim. Sendo assim, preciso de mais pesquisa para decidir qual delas utilizar.