Como Construir Cenários de Teste: O Guia que Faltava
Você sabe usar ferramentas, mas não sabe O QUE testar? Aprenda a construir cenários de teste do zero, mesmo sem documentação. Técnicas práticas que ninguém ensina.
## Introdução
"Você sabe usar Selenium, mas não sabe o que testar." Essa frase resume o maior problema da formação de QAs hoje. Cursos ensinam ferramentas, sintaxe, comandos... mas ninguém ensina a PENSAR como um testador.
Construir cenários de teste é uma habilidade que separa quem apenas executa de quem realmente garante qualidade. E é exatamente isso que você vai aprender neste artigo.
---
O Problema: Saber a Ferramenta, Não Saber Testar
Imagine: você terminou um curso de automação. Sabe criar scripts, usar seletores, fazer assertions. Aí chega no trabalho e o líder diz: "Preciso que você teste essa funcionalidade de cadastro de clientes."
Você abre a tela e... travou. Por onde começar? Quais cenários criar? O que é importante testar?
Este é o gap que cursos não preenchem: eles te ensinam o "como fazer", mas não o "o que fazer".---
1. Entendendo o Contexto Antes de Tudo
Antes de escrever um único cenário, você precisa entender:
1.1 Qual é o Objetivo da Funcionalidade?
- O que o usuário quer fazer?
- Qual problema isso resolve?
- Qual o fluxo esperado?
- Campos obrigatórios vs opcionais
- Validações específicas
- Restrições (ex: CPF único, idade mínima)
- Dependências entre campos
- Onde o sistema pode falhar?
- Quais dados são mais sensíveis?
- Onde bugs já aconteceram antes? Exemplo prático:
- Objetivo: Permitir registro de novos clientes
- Regras: CPF único, idade mínima 18 anos, email válido
- Crítico: Não permitir CPF duplicado, validar maioridade
- 18-100 anos (aceito) Classes Inválidas:
- Menor que 18 (rejeitado)
- Maior que 100 (rejeitado)
- Negativo (rejeitado)
- Não numérico (rejeitado) Cenários resultantes:
- 0 caracteres (limite inferior - 1)
- 1 caractere (limite inferior)
- 50 caracteres (meio do intervalo)
- 100 caracteres (limite superior)
- 101 caracteres (limite superior + 1) Por que funciona: Bugs costumam aparecer nos limites!
- Transições válidas (Pendente → Pago)
- Transições inválidas (Pendente → Enviado)
- Ações no estado errado (cancelar pedido já entregue)
- Sistema acessível
- Nenhum cliente com CPF 123.456.789-00 cadastrado
- Acessar tela de cadastro
- Preencher Nome: "João Silva"
- Preencher CPF: "123.456.789-00"
- Preencher Email: "joao@email.com"
- Preencher Data Nascimento: "01/01/1990"
- Clicar em "Salvar"
- Mensagem "Cliente cadastrado com sucesso"
- Cliente aparece na lista
- Dados salvos corretamente no banco
- Cliente com CPF 123.456.789-00 existe no sistema
- Tudo funciona perfeitamente
- Dados válidos
- Fluxo normal Exemplo:
- Fluxos diferentes mas válidos
- Opções diferentes Exemplo:
- Dados inválidos
- Validações Exemplo:
- Situações raras mas possíveis
- Limites do sistema Exemplo:
- Use o sistema como usuário
- Observe comportamentos
- Anote o que acontece
- Deduza as regras
- CRUD completo
- Validação de campos
- Limites
- Caracteres especiais
- Caminho feliz (fluxo principal)
- Validações críticas (segurança, dinheiro, dados sensíveis)
- Bugs conhecidos (regressão)
- Caminhos alternativos
- Validações secundárias
- Edge cases comuns
- Edge cases raros
- Combinações improváveis
- Testes exploratórios
- Objetivo: Cadastrar clientes no sistema
- Campos: Nome, CPF, Email, Data Nascimento, Telefone (opcional)
- Regras: CPF único, idade ≥ 18, email válido Cenários Construídos:
- Particionamento de Equivalência
- Análise de Valor Limite
- Tabela de Decisão
- Teste de Estado
- Pré-condições claras
- Passos detalhados
- Resultados esperados específicos
1.2 Quais São as Regras de Negócio?
1.3 Quais São os Pontos Críticos?
Funcionalidade: Cadastro de Cliente
---
2. Técnicas de Construção de Cenários
2.1 Particionamento de Equivalência
O que é: Dividir dados de entrada em classes válidas e inválidas. Exemplo - Campo Idade: Classes Válidas:` CT01: Cadastrar com idade = 25 (válido) CT02: Cadastrar com idade = 17 (inválido - menor de idade) CT03: Cadastrar com idade = 101 (inválido - acima do limite) CT04: Cadastrar com idade = -5 (inválido - negativo) CT05: Cadastrar com idade = "abc" (inválido - não numérico) `
---
2.2 Análise de Valor Limite
O que é: Testar nos limites das partições. Exemplo - Campo que aceita 1-100 caracteres:Teste com:
---
2.3 Tabela de Decisão
Quando usar: Múltiplas condições que afetam o resultado. Exemplo - Desconto em Compra:| Cliente VIP | Valor > R\$ 1000 | Primeira Compra | Desconto | |-------------|------------------|-----------------|----------| | Sim | Sim | Sim | 25% | | Sim | Sim | Não | 20% | | Sim | Não | Sim | 15% | | Não | Sim | Sim | 10% | | Não | Não | Não | 0% |
Cada linha = 1 cenário de teste!
---
2.4 Teste de Estado
Quando usar: Sistema muda de estado baseado em ações. Exemplo - Status de Pedido:` Pendente → (pagar) → Pago → (enviar) → Enviado → (entregar) → Entregue `
Cenários:---
3. Estrutura de um Cenário Completo
Template Básico:
` ID: CT001 Título: Cadastrar cliente com dados válidos
Pré-condições:
Passos:
Resultado Esperado:
Pós-condições:
`
---
4. Tipos de Cenários
4.1 Caminho Feliz (Happy Path)
` Cadastrar cliente com todos os dados válidos `
4.2 Caminhos Alternativos
` Cadastrar cliente apenas com campos obrigatórios Cadastrar cliente com todos os campos preenchidos `
4.3 Cenários de Erro
` Tentar cadastrar com CPF inválido Tentar cadastrar com email sem @ Tentar cadastrar menor de idade `
4.4 Edge Cases (Casos Extremos)
` Cadastrar com nome de 1 caractere Cadastrar com nome de 255 caracteres Cadastrar no último segundo do dia `
---
5. Construindo Sem Documentação
Realidade: 80% dos projetos não têm documentação adequada. Como sobreviver:5.1 Engenharia Reversa
5.2 Faça Perguntas Certas
❌ Pergunta ruim:"Como funciona o cadastro?"
✅ Pergunta boa:"O que acontece se eu tentar cadastrar um CPF que já existe?" "Qual a idade mínima permitida?" "Posso deixar o campo telefone vazio?"
5.3 Use o Checklist da Caixinha
Mesmo sem saber as regras, você pode aplicar testes universais:
---
6. Priorização de Cenários
Você não tem tempo infinito. Priorize assim:
Alta Prioridade:
Média Prioridade:
Baixa Prioridade:
---
7. Exemplo Completo: Cadastro de Cliente
Vamos aplicar tudo que aprendemos:
Análise:` [CAMINHO FELIZ] CT001: Cadastrar com todos os campos válidos
[PARTICIONAMENTO] CT002: Cadastrar com idade = 18 (limite mínimo) CT003: Cadastrar com idade = 17 (inválido) CT004: Cadastrar com idade = 100 (limite máximo)
[VALIDAÇÕES] CT005: Cadastrar com CPF duplicado (deve rejeitar) CT006: Cadastrar com email sem @ (deve rejeitar) CT007: Cadastrar com CPF inválido (deve rejeitar)
[CAMPOS OPCIONAIS] CT008: Cadastrar sem telefone (deve aceitar) CT009: Cadastrar com telefone (deve aceitar)
[VALOR LIMITE] CT010: Cadastrar com nome de 1 caractere CT011: Cadastrar com nome de 255 caracteres CT012: Cadastrar com nome de 256 caracteres (deve rejeitar)
[EDGE CASES] CT013: Cadastrar com data de nascimento = hoje - 18 anos CT014: Cadastrar com caracteres especiais no nome `
---
Checklist de Construção
` ☐ Entendi o objetivo da funcionalidade? ☐ Mapeei todas as regras de negócio? ☐ Identifiquei campos obrigatórios vs opcionais? ☐ Apliquei particionamento de equivalência? ☐ Testei valores limite? ☐ Criei cenários de erro? ☐ Pensei em edge cases? ☐ Priorizei os cenários? ☐ Documentei pré e pós-condições? ☐ Defini resultados esperados claros? `
---
Conclusão
Construir cenários de teste não é dom. É técnica. É método. É prática.
Use as técnicas deste artigo:
Siga a estrutura:
---
Quer aprender mais sobre testes práticos?Inscreva-se no canal LiraQuality no YouTube
Tem dúvidas sobre construção de cenários?Discuta no fórum da comunidade
🧪 Exercícios Práticos
Agora é hora de colocar em prática o que você aprendeu!