A Importância dos Testes Automatizados

Controlar a qualidade de sistemas de software é um grande desafio devido à altacomplexidade dos produtos e às inúmeras dificuldades relacionadas ao processo dedesenvolvimento, que envolve questões humanas, técnicas, burocráticas, de negócio e políticas.Idealmente, os sistemas de software devem não só fazer corretamente o que o cliente precisa, mastambém fazê-lo de forma segura, eficiente e escalável e serem flexíveis, de fácil manutenção eevolução. Salvo honrosas exceções, na indústria de software brasileira, estas características são muitasvezes asseguradas através de testes manuais do sistema após o término de módulos específicos ouaté mesmo do sistema inteiro. Como veremos mais adiante neste artigo, esta abordagem manual ead hoc leva à ocorrência de muitos problemas e deve ser evitada. Este artigo se inspira na filosofiados Métodos Ágeis de Desenvolvimento de Software e em práticas recomendadas pelaProgramação eXtrema (XP), em especial nos Testes Automatizados, que é uma técnica voltadaprincipalmente para a melhoria da qualidade dos sistemas de software. Este artigo apresentatambém alguns exemplos de testes automatizados baseados em excelentes ferramentas gratuitasdisponíveis como software livre.