4 Estratégias Organizacionais de Implantação e Liberação para Automação de Teste
4.1 Planejamento de Soluções de Automação de Teste
4.1.1 Identificar maneiras pelas quais a automação de teste ajuda a reduzir o tempo de lançamento no mercado
-
Automatização acelera o lançamento no mercado.
-
Reduz o tempo de ciclo de teste.
-
Marco da Qualidade:
- É obrigatória a incorporação no processo.
- Precisa cumprir o marco antes de passar para a próxima fase.
- Permite a implantação acelerada.
- Promove uma cultura de consciência da qualidade.
4.1.2 Identificar as formas em que a automatização dos testes ajuda a verificar os defeitos comunicados de acordo com os requisitos
-
Testes de Confirmação:
- Teste realizado após uma correção para validar se o defeito foi mitigado.
- O tester segue as etapas necessárias para replicar o defeito e depois valida o resultado.
-
Automatizar Testes de Confirmação:
- Impede que o mesmo bug se reintroduza no sistema em versões posteriores.
4.1.3 Definir abordagens que permitam o desenvolvimento de cenários operacionalmente relevantes para a automação de teste
-
Testes de Aceite:
- Garante a prontidão do software.
- Realizado logo antes da liberação.
- Validação final.
- Garante que o SUT funcione em ambiente de produção.
-
Abordagens que podem ser usadas:
- Análise de Código Estático:
- Ferramentas que analisam código filtrando falhas de segurança.
- Testes E2E:
- Scripts de teste que conduzem cenários de teste.
- Teste de Failover:
- Scripts que simulam falhas de hardware, falha de disco, redes ou serviços de nuvem.
- Teste de Backup e Restauração:
- Scripts que testam o sucesso de backup da versão atual e, em seguida, reverter para ponto anterior.
- Teste de Eficiência e Performance:
- Scripts com testes de carga que simulam muitos usuários ou alto fluxo de dados.
- Revisão da Documentação Operacional:
- Scripts usados para comparar versões da documentação e sinalizar para a equipe se é necessária uma atualização.
- Teste de Segurança:
- Scripts e ferramentas que testam vulnerabilidades de forma estática e dinâmica.
- Monitoramento do SDLC:
- Monitoram os processos de desenvolvimento, emitindo alertas se um teste falhar.
- Análise de Código Estático:
4.2 Estratégias de Implantação
4.2.1 Definir uma estratégia de implantação de automação de teste
Uma boa estratégia de implantação deve abranger:
- Ambiente de Teste:
- Testes serem executados em vários ambientes sem muitas alterações.
- Deve ser possível executar os testes em ambiente de teste, pré-produção e produção.
- Ferramentas:
- Quais ferramentas usar:
- Se comercial, como é licenciada?
- Se open-source, como é a manutenção?
- Quais ferramentas usar:
- Acesso ao Software:
- Quais credenciais serão usadas no ambiente de teste e, posteriormente, em ambiente de produção.
- É necessário flexibilidade de parâmetros para a execução independente do ambiente.
- Armazenamento de Scripts de Teste:
- O armazenamento pode ser incorporado ao gerenciamento de configuração.
- TAS e TAF podem ser gerenciados em repositórios:
- Juntos ou separados do SUT.
- Fornecimento de Dados:
- Evitar dados estáticos.
- Criar scripts de configuração (estratégias para popular banco de dados).
- Carregar dados ou criar dados:
- Carregar dados:
- Ganho de tempo.
- Deixa o tester refém de outros recursos.
- Dados incompletos.
- Criar dados:
- Requer tempo.
- Scripts precisam de manutenção.
- Abrangência de casos.
- Carregar dados:
4.2.2 Identificar os riscos da automação de teste na implantação
Problemas técnicos -> Riscos de Produto e de Projeto.
Problemas Típicos:
- Excesso de abstrações: dificulta a compreensão do código de automação.
- Tabelas de dados complexas: difícil migração ou com resultados inconsistentes.
- Dependência da TAS: requer bibliotecas que dificultam a execução em ambientes diferentes.
Riscos Típicos:
- Problemas de pessoal: dificuldade de conseguir as pessoas certas para a automação.
- Manutenção da TAS não planejada: as atualizações do SUT fazem com que o TAS fique incorreto.
- Atrasos na introdução da automação.
- Atrasos na atualização da TAS em relação ao SUT.
- TAS não captura objetos da UX despadronizados.
- Casos desatualizados continuam nas suítes de teste.
Pontos em que ocorrem falhas do TAS:
- Migração para ambiente de teste diferente.
- Implementação em ambiente de produção.
- Esquecer que a TAS também é um software (também deve ser testado).
Monitorar esses pontos ao longo do processo e medidas proativas garantirão o sucesso.
4.2.3 Definir abordagens para mitigar os riscos da implantação
O TAS REQUER UM SDLC PRÓPRIO. Precisa estar sob gerenciamento e documentação.
Há dois tipos de implantação de TAS:
- Primeira Implantação.
- Implementação de Manutenção.
Os riscos relacionados à Primeira Implantação incluem:
- Tempo total de execução maior que o tempo planejado:
- Solução: planejar tempo suficiente para a execução em totalidade.
- Existem problemas de instalação com o ambiente de teste:
- Solução: garantir que o TAS possua as condições prévias para executar os casos.
Os riscos relacionados à Implementação de Manutenção incluem:
- Problemas de execução em produção após atualização:
- Solução:
- Validar o TAS em ambiente de teste.
- Validar se a suíte de teste nova foi executada adequadamente.
- Solução:
4.3 Dependências no Ambiente de Teste
4.3.1 Definir os componentes de automação de teste no ambiente de teste
- SUT:
- SUT também faz parte do ambiente, sendo o que será testado.
- Pode ser dividido em API, Web, banco, etc.
- Plataforma:
- Onde os componentes da automação estão.
- Podem ser infraestrutura de nuvem, máquinas virtuais, containers.
- Casos de Teste:
- Descrição dos casos individuais de teste que são compostos de etapas.
- Eles direcionam as ações manuais e automatizadas.
- Ferramentas:
- Diferentes ferramentas usadas na automatização.
- Podem ser gerador de dados, monitoramento, gerenciador de requisitos.
- NÃO CONFUNDIR COM O TAF.
- TAF:
- Componentes que compõem o desenho do TAF.
- Incluem drivers, bibliotecas, modelos de casos, documentação, etc.
Complicar o AMBIENTE de teste = complicar a MANUTENÇÃO.
Encontrar a combinação correta de ferramentas, configuração e portabilidade de plataforma.
4.3.2 Identificar os componentes da infraestrutura e as dependências da automação de teste
Abrangem todos os pré-requisitos para executar o TAF.
- Máquinas Hospedeiras (Host Machines):
- Hardware que tem o software de automação instalado.
- Os scripts são criados e executados nelas.
- Ex: Máquinas virtuais, servidores ou dispositivos.
- Rede:
- Conexão entre o TAS e o SUT.
- Ex: Rede local ou entre servidores.
- Plataforma:
- Plataforma em que a automação é executada.
- Dependências de Software:
- Todas as dependências que o TAS requer para funcionar.
- Devem estar claras, antes e depois da escolha de uma ferramenta.
- SUT:
- Acesso ao SUT para a execução dos testes.
- Ex: Acesso à aplicação web com navegador.
4.3.3 Definir dados de automação de teste e requisitos de interface
Antes de desenvolver os scripts de automação, devem ser planejados:
-
Interface entre SUT e o TAS.
-
Dependências de dados dos casos de teste.
-
Ex: API:
- Interface:
- Pode ser testada a nível de endpoint com requisições.
- Dependências:
- Quais as ordens das requisições.
- Qual o processo para criar uma regra de negócio no sistema.
- Interface:
-
Interface de Banco de Dados:
- Interface:
- Testada com acesso direto ao banco de dados.
- Dependências:
- Quais verificações de integridade de dados são necessárias.
- Quais procedures (processos do banco) não utilizadas nos testes.
- Interface:
-
Compatibilidade da Interface:
- Interface:
- Testando a compatibilidade entre dois serviços.
- Dependências:
- Quais conexões são usadas.
- Quais dados devem ser passados entre as interfaces.
- Quais fatores de confiabilidade estão sendo testados.
- Interface: