Teste Exploratório em Agile

O Teste Exploratório é uma atividade importante em um ambiente ágil, pois pode ajudar os testadores de software a acompanhar o ritmo de desenvolvimento rápido de projetos de software ágil.

Primeiro, uma breve introdução sobre metodologia ágil e testes exploratórios:

Na metodologia ágil, o software é lançado em pequenas iterações. Cada iteração passa por planejamento, estimativa, desenvolvimento, integração, teste e lançamento. Por causa de lançamentos frequentes, a automação de teste torna-se cada vez mais importante, pois os desenvolvedores precisam obter um feedback rápido sobre o status do aplicativo. As verificações automatizadas servem como testes de regressão para garantir que, a cada versão, o software não tenha regredido.


O Teste Exploratório é definido como aprendizagem simultânea, design de teste e execução de teste. É uma abordagem de teste que valoriza o testador como parte integrante do processo de teste e compartilha os mesmos valores do Manifesto Ágil:

  • Indivíduos e interações sobre processos e ferramentas
  • Software de trabalho sobre documentação abrangente
  • Colaboração do cliente sobre a negociação do contrato
  • Respondendo à mudança sobre seguir um plano

O Teste Exploratório também é complementar à automação de teste; ou seja, enquanto as verificações automatizadas procuram problemas de regressão, o Teste Exploratório concentra-se nos novos recursos que foram desenvolvidos. Isso é importante porque cada sprint normalmente dura apenas algumas semanas, o que não permite tempo suficiente para os casos de teste de script e sua execução posterior no aplicativo. Por outro lado, o teste exploratório em ambiente ágil permite que os testadores se familiarizem com o domínio e o aplicativo e, a cada iteração, esse entendimento é aprimorado e, portanto, os testadores se tornam mais eficientes.


De acordo com Quadrante de teste de Brian Marick , existem dois lados para o teste, aqueles que suportam programação, ou seja, suportam a escrita de código (testes de unidade) ou fornecem uma indicação de quando o programador pode ser concluído (testes de aceitação) e aqueles que criticam o produto, ou seja, 'olhe para um produto acabado produto com a intenção de descobrir inadequações. ” É aqui, na área de crítica do produto, onde o teste exploratório pode desempenhar um papel importante no projeto ágil.

Em projetos ágeis, os testes que suportam a programação são em sua maioria feitos por desenvolvedores e quase sempre automatizados e são uma indicação de que foram feitos do ponto de vista do programador, enquanto os testes exploratórios visam encontrar possíveis problemas que estão além dos testes automatizados do programador. Os testadores exploratórios se concentram em áreas onde os testes automatizados existentes podem ser insuficientes.

Testadores exploratórios eficazes trabalhando em projetos ágeis usam as táticas de teste exploratório para ajudar a informar a equipe do projeto sobre possíveis problemas com o produto. Seus testes podem ser não estruturados e de estilo livre ou gerenciados usando charters e sessões de teste. Além disso, devido aos curtos intervalos de desenvolvimento, o teste torna-se inerentemente baseado no risco, e o teste exploratório pode se concentrar em áreas de alto risco para encontrar problemas potenciais.

Metodologias ágeis e testes exploratórios são métodos complementares que, quando empregados juntos, podem criar excelente sinergia dentro da experiência de teste.