Testes automatizados
Origem: Wikipédia, a enciclopédia livre.
O desenvolvimento de sistemas de software envolve muitas atividades de produção em que há grande probabilidade de falhas humanas ocorrerem. Os erros podem começar a acontecer logo no começo do processo, onde os requisitos podem estar especificados de forma errônea, além de erros que venham a ocorrer em fase de projeto e desenvolvimento posteriores. Devido à incapacidade que os seres humanos tem de executar e comunicar com perfeição, o desenvolvimento de software é acompanhado por atividades de testes que garantem a qualidade.
As atividades de testes têm uma importância fundamental para a garantia de qualidade do sistema que está sendo desenvolvido. Um dos focos do processo de desenvolvimento de software XP, por exemplo, é o uso de testes durante todo o processo de desenvolvimento de uma maneira intensiva. A idéia é desenvolver classes de testes para todas as classes do sistema.
Para a aplicação efetiva de um critério de teste faz-se necessário o uso de ferramentas automatizadas que apóiem a aplicação desse critério. A importância de possuir testes automatizados é que contribui para reduzir as falhas produzidas pela intervenção humana, aumentando a qualidade e produtividade da atividade de teste e a confiabilidade do software.
O desenvolvimento de uma ferramenta de Testes auxilia na tarefa de verificação das especificações dos requisitos funcionais e não funcionais de uma forma automatizada. Para auxiliar no uso de testes automatizados várias ferramentas de testes foram desenvolvidas, uma das mais utilizadas é o JUnit.
A vantagem de se trabalhar com ferramentas de testes automatizados é a diminuição dos erros provocados pelo programador, o que torna o software mais confiável, possibilitando observar se mudanças no código se propagam para as classes e métodos.
O programador passa a contar com uma ferramenta que permite a verificação do que realmente acontece com classes implementadas de formas errôneas. Proporcionando também ajuda ao desenvolvedor para o sucesso de seu trabalho.