O que é teste exploratório?

⚡ Resumo Inteligente

O teste exploratório é uma abordagem de teste em que os testadores projetam e executam casos de teste simultaneamente, sem roteirizá-los antecipadamente, enfatizando a investigação, o aprendizado e a intuição do testador para descobrir defeitos que os testes roteirizados geralmente não detectam, sendo amplamente utilizado no desenvolvimento ágil.

  • 🔍 Definição de Teste Exploratório: Os testadores criam e executam testes em tempo real, em vez de programá-los antecipadamente.
  • 🆚 vs. Testes com script: Os testes com script confirmam os requisitos; os testes exploratórios investigam e adaptam-se durante a execução dos testes.
  • 🧠 Atividade de reflexão: Enfatiza a aprendizagem, a criatividade e a intuição do testador para encontrar erros ocultos.
  • 🗂️ Processo SBTM: Taxonomia de bugs, plano de testes, limite de tempo, revisão de resultados e relatório final.
  • Melhor para: Faltam requisitos, são necessárias versões iniciais, as aplicações são críticas e os testadores são experientes.
  • ⚖️ Troca: Encontra mais erros e estimula a criatividade, mas depende muito da habilidade do testador.

O que é Teste Exploratório

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 testes com script geralmente é uma atividade não mental, na qual os testadores executam as etapas do teste e comparam os resultados reais com os resultados esperados. Essa atividade de execução de testes pode ser automatizada, pois não exige 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

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
  • Tracking de perguntas e questões levantadas durante os 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

Vantagens

  • 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

Perguntas Frequentes

O teste exploratório é estruturado, intencional e utiliza roteiros e limites de tempo para encontrar erros, enquanto o teste ad hoc é informal e não planejado. O teste exploratório é documentado e repetível; o teste ad hoc geralmente não o é.

O teste exploratório é principalmente uma atividade manual, orientada pelo raciocínio, pois depende da intuição do testador e de decisões em tempo real. No entanto, ferramentas podem gravar sessões, capturar registros e auxiliar na documentação durante o teste.

SBTM é uma forma estruturada de realizar testes exploratórios em sessões com tempo definido e objetivos específicos. Os testadores documentam suas descobertas e, em seguida, realizam um debriefing para revisar a cobertura, os defeitos e se são necessários mais testes.

A IA auxilia os testes exploratórios sugerindo ideias de teste, gerando roteiros, analisando registros em busca de anomalias e identificando áreas não testadas. Ela complementa a intuição do testador, em vez de substituir o processo de pensamento exploratório.

Não. Os testes exploratórios dependem da criatividade, curiosidade e conhecimento do domínio humanos, que a IA não consegue replicar completamente. A IA auxilia ao lidar com análises repetitivas, mas testadores qualificados continuam sendo essenciais para a descoberta.

Resuma esta postagem com: