Close

Teste exploratório

Saiba o que são testes exploratórios e sua história. Descubra os prós e os contras dos testes exploratórios, como diferem dos testes com script e o contexto apropriado para seu uso.

Foto de rosto de Deepak Parmar
Deepak Parmar

Autor colaborador


Testes exploratórios é a abordagem para testes de software que, com frequência, é descrita como aprendizagem simultânea, design de teste e execução. O foco está na descoberta e depende da orientação do testador individual para descobrir defeitos que não são abrangidos com facilidade no escopo de outros testes.

A prática de testes exploratórios ganhou impulso nos últimos anos. Testadores e gerentes de controle de qualidade são incentivados a incluir testes exploratórios como parte de uma estratégia abrangente de cobertura de teste.

História dos testes exploratórios


Testes exploratórios existem há algum tempo, mas muitas vezes eram chamados de “testes ad-hoc”. O termo "testes exploratórios" foi introduzido de maneira formal pelo especialista em testes de software Cem Kaner em seu clássico livro, Testing Computer Software.

A introdução agora é famosa: "Não importa quantos casos de teste de quantos tipos você criou, você vai ficar sem testes com planejamento formal. Você pode continuar testando. Execute novos testes conforme você pensa neles, sem gastar muito tempo preparando ou explicando os testes. Confie em seus instintos."

Por que usar testes exploratórios


Hoje em dia, as equipes precisam adotar a integração contínua e atender à demanda do mercado de experiências digitais de qualidade para atender às crescentes expectativas dos clientes. Embora a velocidade de entrada no mercado seja importante, existem casos de bugs de milhões de dólares ou desastres simples na experiência do usuário que são muito caros. Da Boeing ao Instagram, há muitos exemplos em que a pressa em entregar no prazo e os testes de baixa qualidade levaram a danos financeiros e de reputação.

A maioria dos testes de qualidade de software usa uma abordagem estruturada. Os casos de teste são definidos com base em histórias de usuário já definidas e os dados de teste são estruturados com base nos casos de teste definidos. A cobertura do teste é medida usando métricas de engenharia de software e, na maioria dos casos, a cobertura é adequada do ponto de vista técnico.

Ver solução

Crie e opere softwares com o Open DevOps

Material relacionado

Testes automatizados para DevOps

No geral, o que faltam são casos extremos, que são descobertos por meio do Teste de Aceitação do Usuário (UAT) e são testados com base nas personas dos usuários. Por outro lado, testes exploratórios são aleatórios ou não estruturados por natureza e podem revelar bugs que não seriam descobertos durante a fase estruturada de testes.

Com testes exploratórios, os testadores podem brincar com uma história do usuário que segue uma determinada sequência. Os testadores podem anotar defeitos, adicionar afirmações e memos de voz e criar documentação em tempo real. É assim que uma história do usuário é convertida em um caso de teste. Essas informações também podem ser usadas para QA.

Na verdade, a execução do teste é implementada sem criar etapas de teste formais. A ferramenta de testes exploratórios torna-se então um precursor da automação. Ajuda a formalizar as descobertas e fazer a documentação automática. Com a ajuda de feedback visual e ferramentas de teste colaborativo, todos podem participar de testes exploratórios. Assim, as equipes podem reagir e se adaptar às mudanças com rapidez, facilitando um fluxo de trabalho ágil.

Além disso, o testador pode converter sequências de testes exploratórios em scripts de teste funcionais usando ferramentas para documentação automatizada de casos de teste. Esse fato reforça o processo de testes tradicional.

Com a integração com ferramentas como o Jira e produtos de gerenciamento de teste, as equipes podem exportar a documentação registrada direto para casos de teste.

Assim, os testes exploratórios aceleram a documentação, facilitam os testes unitários e ajudam a criar um ciclo de feedback instantâneo. Como afirma James Bach, cofundador da Escola de Teste de Software Orientada ao Contexto, “os testes exploratórios incentivam o pensamento científico em tempo real”.

Quando você deve usar testes exploratórios?


Testes exploratórios são adequados para cenários de teste específicos, como quando alguém precisa aprender sobre um produto ou aplicativo com rapidez e fornecer feedback rápido. Eles ajudam a avaliar a qualidade de um produto desde uma perspectiva do usuário.

Em muitos ciclos de software, uma iteração inicial é necessária quando as equipes não têm muito tempo para estruturar os testes. Testes exploratórios são bastante úteis neste cenário.

Ao testar aplicativos de missão crítica, o teste exploratório garante que você não perca casos extremos que levam a falhas críticas de qualidade. Além disso, use testes exploratórios para auxiliar no processo de teste de unidade, documente as etapas e use essas informações para testar com amplitude durante sprints posteriores.

É especialmente útil ao encontrar novos cenários de teste para aprimorar a cobertura do teste.

Quando dizer não aos testes exploratórios


As organizações devem ser capazes de atingir o equilíbrio certo entre o teste exploratório e o teste com script. Testes exploratórios por si só não podem oferecer cobertura adequada, e as equipes não devem tentar, a menos que tenham atingido alguns marcos iniciais.

Especialmente com qualquer tipo de teste regulamentado ou baseado em conformidade, o teste com script é o caminho a percorrer. Em testes baseados em conformidade, em que certas checklists e mandatos precisam ser seguidos por motivos legais, é aconselhável seguir os testes com script. Um exemplo disso é o teste de acessibilidade, em que várias leis governam o protocolo de teste e há padrões definidos que precisam ser aprovados.

Importância dos testes exploratórios para CI/CD


Testes exploratórios abrem os testes para todos os principais interessados e não apenas para os testadores treinados. Usando uma ferramenta de teste exploratório, pode-se capturar capturas de tela, gravar notas de voz e anotar feedback durante as sessões. Assim, a revisão vai ser mais rápida e eficiente e vai poder ser realizada por pessoas além do testador de software tradicional.

Os testes exploratórios complementam a estratégia de testes existente das equipes de QA. Inclui uma série de sessões de teste não documentadas para descobrir problemas/bugs ainda não descobertos. Quando combinados com testes automatizados e outras práticas de teste, aumentam a cobertura de teste, descobrem casos extremos, adicionam potencialmente novos recursos e melhoram o produto de software no geral. Sem rigidez estrutural, estimulam a experimentação, a criatividade e a descoberta nas equipes.

A natureza quase instantânea do feedback ajuda a fechar as lacunas entre testadores e desenvolvedores. Acima de tudo, os resultados dos testes exploratórios fornecem uma perspectiva orientada ao usuário e feedback para as equipes de desenvolvimento. O objetivo é complementar os testes tradicionais para encontrar defeitos de milhões de dólares que geralmente estão ocultos atrás do fluxo de trabalho definido.

Obtenha um aplicativo de gerenciamento de testes da coleção Gerenciamento de testes no Atlassian Marketplace.

Deepak Parmar
Deepak Parmar

I’ve lived and breathed QA for the last decade now through my experience of working with leading QA services and product companies. I’m currently the head of Marketing and Partnerships at QMetry, bringing with me 20 years of experience in the IT industry, which has instilled in me the strong belief in improving customer delight through software quality.


Compartilhe este artigo

Leitura recomendada

Marque esses recursos para aprender sobre os tipos de equipes de DevOps ou para obter atualizações contínuas sobre DevOps na Atlassian.

Ilustração DevOps

Comunidade de DevOps

Ilustração DevOps

Leia o blog

Ilustração do mapa

Comece gratuitamente

Inscreva-se para receber a newsletter de DevOps

Thank you for signing up