Testes Automatizados
testes regressivos ou teste de regressão são os testes que são re-executados com o intuito de identificar defeitos introduzidos por novas funcionalidades ou correções de defeitos.
A cada ciclo de testes, o time de testes executa os testes das novas funcionalidades e também os testes regressivos das demais funcionalidades, possibilitando o encontro de possiveis efeitos colaterais, porém isso torna o trabalho um tanto repetitivo, em um estágio avançado do desenvolvimento, gasta-se mais tempo testando funcionalidades regressivas do que as novas recém introduzidas.
A automação de testes quando utilizada corretamente permite a execução ininterrupta de testes regressivos a qualquer hora, além disso, testes automaticos são geralmente mais rápidos e menos sucetíveis a erro do que testes manuais.
Existem diferentes paradigmas de testes automatizados, mas em geral são agrupados em dois (não limitado a esses). vejamos:
BASEADOS EM INTERFACE GRÁFICA:
Esse tipo de teste ocorre utilizando a inteface gráfica do software a ser testado, simulando a ação do usuário, onde o usuário executa a rotina de testes uma vez, o o software de automação de testes "captura" as ações, podendo efetuar um playback (reproduzir o teste) posteriormente, o programa de automação de testes "captura" as ações e gera um script de testes com as ações capturadas, esse script pode ser incluído em um suíte de testes.
Vantagens: Não há necessidade de alteração no software, tendo em vista que a ferramenta de testes usa a interface disponibilizada, e a geração dos scripts de testes é rápidam tendo em vista que os mesmos são gerados pela ferramenta.
Desvantagens: Há uma forte dependência na estabilidade da interface gráfica. Além de um mal desempenho em testes que devem ser exaustivamente repetidos, além disso, essa facilidade em gerar scripts de teste possibilitam a criação de vários scripts, com código confiso e de difícil reutilização.
Algumas ferramentas, como a