Pular para o conteúdo principal

6 Estratégias de Implementação e Melhoria para Automação de Teste

6.1 Transição das Atividades de Testes Manuais para Testes Contínuos

6.1.1 Descrever os fatores e as atividades de planejamento na transição do teste manual para a automação de teste

Como transicionar de teste manual para automação?

Mais fácil -> Adicionar testes de regressão

Mantendo o sentido de linha do tempo:

  • Testes funcionais e não funcionais -> Se tornam os regressivos
  • Testes regressivos -> Se tornam os automatizados
  • Testes automatizados -> Recebem manutenção

Custos de transição:

  • Aumento de custo irá acontecer durante a transição
  • Porque:
    • Manual e automatizado correm em paralelo
    • Mais esforços são necessários em testes exploratórios para definição de casos de teste

Sobreposição funcional:

  • Quando um mesmo teste é utilizado em vários casos de teste;
  • Faz com que a manutenção seja feita em vários lugares (onerosa)
  • COMO REMOVER A Sobreposição Funcional:
    • Componentizar o teste que é usado em múltiplos casos;
    • Um componente centraliza a manutenção e facilita o reuso.

Compartilhamento de dados:

  • Testes automatizados requerem compartilhamento de dados entre casos
  • Evitando duplicidade e introdução de erros

Interdependência de testes:

  • Testes podem depender de outros
  • Exemplo:
    • TestA: Validar se ID de pedido está na tela
    • Requer TestB: Inclusão de pedido que retorna o ID

Condições prévias para a execução do teste:

  • Certos casos requerem condições específicas
  • Exemplo: usuários cadastrados, funções de conta, tabelas de dados...
  • Antes de automatizar um caso, é necessário prever essas condições específicas

Cobertura funcional:

  • 100% testes manuais < 100% testes possíveis de automação
  • Conforme os testes são automatizados, os testers ganham tempo de execução

Testes executáveis:

O teste manual deve estar correto e seguro antes de ser automatizado.

6.1.2 Descrever os fatores e as atividades de planejamento na transição da automação de teste para testes contínuos

Contínuo = Executar conjuntos de teste logo após uma alteração de código.

  • Fornece resposta imediata e reduz o custo com defeito.
  • Introduz a detecção de defeitos mais cedo no SDLC.

Adaptando o TAS para teste contínuo:

  • Execução em TAS atualizado
  • Incluir drivers, interface e simuladores necessários para execução
  • Alterar infraestrutura para comportar a execução do TAS atualizado
  • Se problemas no TAS travarem a esteira:
    • Validar o Risco/Benefício e tomar a decisão:
      • Manter o TAS contínuo e dar manutenção urgente
      • Desligar o TAS contínuo e dar manutenção com mais prazo
      • Permitir que o TAS seja desligado sem previsão de volta
  • Criar notas de versão com os defeitos do TAS para serem corrigidos

6.2 Compreensão dos Fatores e Atividades de Planejamento na Transição da Automação de Teste para Testes Contínuos

6.2.1 Realizar uma avaliação dos ativos e práticas de automação de teste para identificar áreas de melhoria

Em partes do processo, é importante avaliar oportunidades de melhoria.

Na linha do tempo:

  • Testes funcionais e não funcionais -> Se tornam os regressivos
  • Testes regressivos -> Se tornam os automatizados
  • Testes automatizados -> Se tornam os contínuos
  • Testes contínuos -> Se tornam parte da rotina no CI/CD

Monitorar:

  • Horas gastas no desenvolvimento do TAS
  • Horas gastas na correção do TAS
  • Economia de execução automatizada em relação à manual

Etapas básicas para análise:

  • Ferramentas de cobertura de código:
    • Indicam as lacunas que podem ser cobertas
  • Ferramentas de cobertura funcional:
    • Indicam quais funcionalidades não foram cobertas
  • Métricas de infraestrutura:
    • Indicam se recursos estão sendo usados com eficiência
  • Tempo de configuração:
    • Melhorar/criar estratégias de gerenciamento de configuração
  • Diretrizes do TAS:
    • Indicam práticas recomendadas a serem seguidas
  • Implementação de pré-condições:
    • Definição de quais pré-condições são necessárias para os testes

Atualizações incrementais do TAS para novos recursos ou manutenção:

  • Avaliar se a atualização fornece mais recursos
  • Avaliar formas de otimizar recursos
  • Identificar oportunidades de modularizar os scripts
  • Garantir conhecimento de componentes reutilizáveis
  • Coletar evidências sobre possíveis melhorias e listar benefícios
  • Avaliar e corrigir sobreposição funcional
  • Avaliar testes manuais adicionais para identificar casos novos a serem automatizados
  • Destacar oportunidades de gerenciamento de dados e projeto
  • Garantir que todos os testes rodem no TAS atualizado
  • Se a automação de teste causar fila no pipeline:
    • Diminuir o escopo para os mais críticos (smoke testes)
    • Testes de regressão mais elaborados:
      • Podem ser executados com acionamento separado
      • Podem ser executados sob demanda