O que é teste exploratório?

Aplicativo exploratório de raio X (XEA)

O que é teste exploratório?

Teste Exploratório é um tipo de teste de software em que os casos de teste não são criados com antecedência, mas os testadores verificam o sistema em tempo real. Eles podem anotar ideias sobre o que testar antes da execução do teste. O foco dos testes exploratórios está mais no teste como uma atividade de “pensamento”.

O teste exploratório é amplamente utilizado em modelos ágeis e trata de descoberta, investigação e aprendizado. Enfatiza a liberdade pessoal e a responsabilidade do testador individual.

Por que testes exploratórios?

No teste com script, você projeta primeiro os casos de teste e depois prossegue com a execução do teste. Pelo contrário, o teste exploratório é um processo simultâneo de design e execução de teste, tudo feito ao mesmo tempo.

A execução de teste com script geralmente é uma atividade sem reflexão, em que os testadores executam as etapas do teste e comparam os resultados reais com os resultados esperados. Essa atividade de execução de teste pode ser automatizada e não requer muitas habilidades cognitivas.

Teste Exploratório

Embora a tendência atual em testes de software seja pressionar por automação, os testes exploratórios são uma nova maneira de pensar. A automação tem seus limites

Teste Exploratório

Aplicativo exploratório de raio X (XEA)
Aplicativo exploratório de raio X (XEA)

Diferenças entre testes com script e exploratórios

Teste com script Teste Exploratório
Direcionado a partir de requisitos Direcionado a partir dos requisitos e explorando durante os testes
Determinação de casos de teste com bastante antecedência Determinação de casos de teste durante o teste
Confirmação de testes com os requisitos Investigação do sistema ou aplicativo
Enfatiza previsão e tomada de decisão Enfatiza adaptabilidade e aprendizagem
Envolve testes confirmados Envolve Investigação
Se trata de Controle de testes Se trata de Melhoria do design de teste
Como fazer um discurso – você lê um rascunho Como iniciar uma conversa – é espontâneo
O roteiro está no controle A mente do testador está no controle

Técnicas de teste exploratório

  • Não é um teste aleatório, mas é um teste ad-hoc com o propósito de encontrar bugs
  • É estruturado e rigoroso
  • É cognitivamente (pensamento) estruturado em comparação com a estrutura processual dos testes com script. Essa estrutura vem do Charter, time boxing etc.
  • É altamente ensinável e gerenciável
  • Não é uma técnica, mas é uma abordagem. Quais ações você executa a seguir são governadas pelo que você está fazendo atualmente

Como executar testes exploratórios

A seguir está um processo passo a passo sobre como realizar testes exploratórios, também chamado de gerenciamento de testes baseado em sessão (Ciclo SBTM):

Etapa 1) Crie uma taxonomia de bugs (classificação)

  • Categorizar tipos comuns de falhas encontradas em projetos anteriores
  • Analise a análise da causa raiz dos problemas ou falhas
  • Encontre os riscos e desenvolva ideias para testar a aplicação.

Etapa 2) Carta de teste

  • A Carta de Teste deve sugerir
    1. o que testar
    2. como pode ser testado
    3. O que precisa ser procurado
  • Ideias de teste são o ponto de partida dos testes de exploração
  • O regulamento de teste ajuda a determinar como o usuário final pode usar o sistema

Etapa 3) Tempo Box

  • Este método inclui um par de testadores trabalhando juntos por pelo menos 90 minutos
  • Não deve haver nenhum tempo interrompido nessas sessões de 90 minutos
  • Timebox pode ser estendido ou reduzido em 45 minutos
  • Esta sessão incentiva os testadores a reagir à resposta do sistema e a se preparar para o resultado correto

Passo 4) Revver resultados

  • Avaliação dos defeitos
  • Aprendendo com os testes
  • Análise de áreas de cobertura

Etapa 5) Análise

  • Compilação dos resultados de saída
  • Compare os resultados com a carta
  • Verifique se algum teste adicional é necessário

Melhor prática de Teste Exploratório

Durante a execução exploratória, o seguinte precisa ser feito:

  • A missão dos testes deve ser muito clara
  • Mantenha anotações sobre o que precisa ser testado, por que precisa ser testado e a avaliação da qualidade do produto
  • Acompanhamento de dúvidas e questões levantadas durante testes exploratórios
  • Melhor emparelhar os testadores para testes eficazes
  • Quanto mais testamos, maior é a probabilidade de executarmos os casos de teste corretos para os cenários necessários

É muito importante levar um documento e monitorar os seguintes

  • Cobertura de Teste – Se tomamos notas sobre a cobertura de casos de teste e melhoramos a qualidade do software
  • Riscos – Quais riscos precisam ser cobertos e quais são os mais importantes?
  • Log de Execução de Teste – Gravações na execução do teste
  • Problemas / Consultas – Faça anotações sobre a questão e os problemas no sistema

Testes exploratórios mais inteligentes encontram mais erros em menos tempo.

Prós e contras dos testes exploratórios

Diferenciais

  • Este teste é útil quando os documentos de requisitos não estão disponíveis ou estão parcialmente disponíveis
  • Envolve um processo de investigação que ajuda a encontrar mais bugs do que os testes normais.
  • Descubra bugs que normalmente são ignorados por outras técnicas de teste
  • Ajuda a expandir a imaginação dos testadores, executando cada vez mais casos de teste, o que também melhora a produtividade
  • Este teste detalha a menor parte de um aplicativo e cobre todos os requisitos
  • Este teste cobre todos os tipos de teste e abrange vários cenários e casos
  • Incentiva a criatividade e a intuição
  • Geração de novas ideias durante a execução dos testes
  • Desvantagens

    • Este teste depende puramente das habilidades do testador
    • Limitado pelo conhecimento de domínio do testador
    • Não é adequado para longos tempos de execução

    Desafios dos testes exploratórios

    Existem muitos desafios nos testes exploratórios e eles são explicados abaixo:

    • Aprender a usar o aplicativo ou sistema de software é um desafio
    • A replicação da falha é difícil
    • Determinar se as ferramentas precisam ser usadas pode ser um desafio
    • Determinar os melhores casos de teste a serem executados pode ser difícil
    • O relato dos resultados dos testes é um desafio, pois o relatório não possui scripts ou casos planejados para comparar com o resultado ou resultado real
    • A documentação de todos os eventos durante a execução é difícil de registrar
    • Os testes exploratórios não têm casos de teste definidos para executar, o que torna difícil decidir quando parar.

    Quando usar testes exploratórios?

    Testes exploratórios podem ser usados ​​extensivamente quando

    • A equipe de testes tem testadores experientes
    • A iteração antecipada é necessária
    • Existe uma aplicação crítica
    • Novos testadores entraram na equipe

    Conclusão

    Na Engenharia de Software, os testes exploratórios são realizados para superar as limitações dos testes com script. Ajuda a melhorar Caso de teste suíte. Ele tem empatia pela aprendizagem e adaptabilidade.