1.1 Propósito da automação do teste
1.1.1 – (K2) Explicar os objetivos vantagens desvantagens e limitações da automação dos testes de software.
Conceitos-chave:
Testes de API, Testes de CLI, Teste de GUI, Sistema sob Teste – SUT, Arquitetura de Automação de Teste – TAA, Estrutura de Automação de Teste – Framework, Estratégia de Automação de Teste, Automação de Teste, Script de Teste e Testware.
A automação de teste, incluindo a execução automatizada, contempla as seguintes tarefas:
- Utilizar ferramentas de software para controlar e configurar pré-condições de teste;
- Executar testes;
- Comparar os resultados reais com os resultados previstos.
A separação entre o TAS e o SUT é uma boa prática para minimizar a interferências.
A automação de teste ajuda na execução dos casos de teste de forma consistente e repetidamente em diferentes versões do SUT.
Além da execução automatizada envolve um processo de criação do testware, incluindo:
- Software;
- Documentação;
- Casos de teste;
- Ambientes de teste;
- Dados de teste.
Esses testware estão associados às seguintes atividades de teste automatizado:
- Implementação de casos de teste;
- Monitoramento e controle da execução de testes;
- Interpretação, relato e registro dos resultados dos testes.
Podemos usar abordagens diferentes de automação para interagir com o SUT, executando o teste através :
- das interfaces públicas para classes, módulos ou bibliotecas do SUT (Teste de API);
- da interface de usuário do SUT (Por exemplo: Teste de GUI ou CLI);
- de um serviço ou protocolo.
OBJETIVOS

VANTAGENS
Testes executados mais rapidamente, permitindo executar mais testes por build, e menos sujeitos a erros do testador.
Testes podem ser mais complexos, fazendo uso mais efetivo dos recursos de teste, permitindo criar testes que não podem ser feitos manualmente (performance).
Feedback mais rápido sobre a qualidade do software. Melhoria da confiabilidade e consistência do software.
DESVANTAGENS

LIMITAÇÕES
Nem todos os testes manuais podem ser automatizados.
A automação só consegue interpretar resultados reconhecidos por computador e previsto por um oráculo de teste.
Não substitui um teste exploratório.
