"Escreva casos de teste para um formulário de login" produz uma lista genérica cobrindo campo de email, senha e botão de submit. "Formulário de login de um SaaS com auth email+senha, OAuth pelo Google e MFA, onde contas bloqueiam após 5 tentativas falhas" produz algo que você pode usar.

Para que o ChatGPT serve em casos de teste

Antes dos prompts, seja honesto sobre o que você está recebendo:

Onde a IA genuinamente ajuda:
  • Gerar uma lista inicial de cenários rapidamente para você refinar depois
  • Encontrar partições de equivalência e fronteiras que você poderia ter esquecido
  • Converter user stories em uma tabela estruturada de casos de teste
  • Gerar casos de teste negativos (são fáceis de esquecer)
  • Criar ideias de dados de teste (formatos de email válidos/inválidos, números de borda)
Onde a IA fica aquém:
  • Ela não conhece o comportamento real da sua aplicação
  • Ela não testa, só sugere o que testar
  • Ela perde casos de borda específicos do negócio para os quais não tem contexto
  • Ela gera assertions que parecem corretas mas às vezes não são
  • Prompts genéricos produzem output genérico

A solução para o último ponto: dê contexto. Muito contexto.

A estrutura básica de prompt

Prompt genérico (ruim):

"Escreva casos de teste para um formulário de login."

Você vai receber: teste do campo de username, teste do campo de senha, botão de submit... Nada específico do seu sistema.

Estrutura melhor:

Feature: [descreva o que a feature faz e seu propósito]
Regras: [liste as regras de negócio e restrições reais]
Tipos de usuário: [quem usa essa feature]
Contexto técnico: [opcional — qual framework, que tipo de app]
Formato de saída: [como você quer os resultados]
Pedido: Gere casos de teste cobrindo happy path, casos negativos e casos de borda.

Exemplos de prompts que você pode usar

1. User story para casos de teste

Converta esta user story em casos de teste cobrindo happy path,
casos negativos e casos de borda.

User story:
Como usuário cadastrado, quero redefinir minha senha via email,
para recuperar o acesso se eu esquecer.

Regras:
- O link de redefinição é válido por 1 hora
- Após usar o link, ele expira imediatamente
- Após 3 tentativas de login consecutivas falhas, a conta é bloqueada
- O link vai para o email cadastrado
- A nova senha deve ter: 8 a 64 caracteres, pelo menos 1 número, pelo menos 1 letra maiúscula

Formato: tabela com colunas: ID do teste | Descrição | Passos | Resultado esperado

O ChatGPT vai gerar:
  • Happy path: email válido → recebe link → usa link → define senha válida ✓
  • Link expirado: usa link após 1 hora → erro ✓
  • Link reutilizado: usa o link duas vezes → erro na segunda tentativa ✓
  • Nova senha inválida: muito curta, sem número, sem maiúscula ✓
  • Email não cadastrado: nenhum email enviado, nenhum erro revelando se o email existe ✓

Revise o output: corresponde ao comportamento real do seu sistema? Ajuste o que não corresponder.

2. Casos de teste para endpoint de API

Estou testando um endpoint REST. Gere casos de teste para ele.

Endpoint: POST /api/users
Propósito: Criar uma nova conta de usuário
Regras:
- email: obrigatório, formato válido, único no sistema
- password: obrigatório, 8 a 64 caracteres, mínimo 1 maiúscula, mínimo 1 número
- role: opcional, valores: 'admin' | 'member' | 'viewer', padrão 'member'
- name: opcional, máximo 100 caracteres

Sucesso: Retorna 201 com objeto de usuário (id, email, role, created_at). Sem senha na resposta.
Erro de validação: Retorna 400 com detalhes de erro por campo.
Email duplicado: Retorna 409.

Gere casos de teste como tabela: Teste | Método | Body | Status esperado | Resposta esperada

Isso fornece casos de teste estruturados que podem ser traduzidos diretamente para testes de API no Playwright.

3. Encontrando casos de borda para um campo específico

Tenho um campo "quantidade" em um carrinho de e-commerce:
- Deve ser um número inteiro
- Mínimo: 1
- Máximo: 99
- A quantidade atual é atualizada em tempo real

Usando análise de valor limite e particionamento de equivalência,
liste os valores que devo testar e o resultado esperado para cada.
Formato: Valor | Partição | Comportamento esperado

O ChatGPT conhece análise de valor limite. Esse prompt gera uma lista estruturada e defensável.

4. Expandindo critérios de aceitação vagos

Nossos critérios de aceitação para esta feature são vagos.
Me ajude a identificar cenários faltando.

Feature: Busca de produtos
Critérios de aceitação:
- Usuários podem buscar por nome de produto
- Resultados aparecem em até 2 segundos
- Resultados relevantes aparecem primeiro

Quais cenários estão faltando nestes critérios de aceitação?
O que o time de QA deve adicionar antes de começar os testes?

Este é um prompt de "o que estamos deixando passar". Útil no planejamento da sprint.

5. Gerando dados de teste

Preciso de dados de teste para testar um campo de email.
Gere 15 valores de teste cobrindo:
- Formatos de email válidos (inclua internacionais, subdomínios, plus-addressing)
- Formatos inválidos (várias formas de email falhar)
- Casos de borda (muito longo, vazio, só espaços, tentativa de SQL injection, emoji)

Formato: Valor | Válido? | Por quê

A IA é muito boa em gerar conjuntos de dados de teste diversificados. Economiza tempo considerável.

Melhorando a qualidade do output

Diga o que você já tem

Já tenho happy path e casos negativos básicos.
Aqui estão meus casos de teste atuais: [cole aqui]

O que estou deixando passar? Foque em casos de borda e cenários de segurança.

Isso evita duplicação e faz a IA focar nas lacunas.

Dê a stack tecnológica

É um app Next.js usando PostgreSQL.
Quais casos de borda no nível do banco de dados devo testar no
formulário de cadastro que podem não ser óbvios pela UI?

Contexto de stack produz output mais específico.

Peça para priorizar

Desta lista de 30 casos de teste, quais 8 devo priorizar
se só tenho 2 horas para testar antes de um release?
Considere: impacto no usuário, probabilidade de bugs, risco da feature.

Peça o código Playwright

Converta esses casos de teste para código Playwright TypeScript.
A URL da página é https://lab.becomeqa.com/login.
Seletores: data-testid="email-input", data-testid="password-input",
data-testid="login-button", data-testid="error-message".

Casos de teste:
1. Login válido com admin@test.com / ValidPass1
2. Senha inválida mostra mensagem de erro
3. Email vazio mostra erro de campo obrigatório

O output vai precisar de revisão e ajustes, mas é um ponto de partida rápido.

O que sempre revisar nos casos de teste gerados por IA

Verifique preenchimento genérico. "Verificar que o botão é clicável" não é um caso de teste. Delete. Verifique se os resultados esperados são específicos. "Mensagem de erro exibida" é fraco. "Mensagem de erro exibe 'Email é obrigatório'" é testável. Verifique a lógica de negócio. A IA não conhece as regras do seu domínio. Se seu app tem preços especiais para certos tipos de usuário, ela não vai gerar testes para isso. Verifique os cenários de integração. A IA gera testes isolados. "O email de redefinição funciona se o usuário mudar o email durante o fluxo de redefinição?" — a IA provavelmente perdeu esse. Verifique os valores de borda. A IA frequentemente erra levemente. Se o máximo é 64 caracteres, confira se ela colocou 63/64/65, não 63/64.

Um fluxo de trabalho prático

1. Escreva seus próprios cenários primeiro (5 a 10 minutos). Quais são os fluxos principais do usuário?

2. Dê ao ChatGPT a feature + regras + seus cenários, peça: "O que estou deixando passar? Expanda estes em casos de teste detalhados."

3. Revise o output — risque os genéricos, ajuste os resultados esperados para corresponder ao seu sistema real.

4. Adicione casos específicos do domínio que a IA não saberia (regras de negócio especiais da sua empresa, bugs conhecidos do passado, cenários de integração).

5. Use o resultado como sua lista de casos de teste ou converta em código de testes Playwright.

Desta forma, a IA é seu gerador de primeiro rascunho e você é o filtro de qualidade. Essa é exatamente a divisão de trabalho certa.

O que não fazer

Não copie e cole casos de teste da IA sem revisão. Vão parecer completos mas vão perder as coisas específicas do seu sistema. Não use como substituto para entender a feature. Se você não entende o que está testando, a IA não vai te salvar. Não pule o contexto. Quanto mais específico o prompt, mais específico o output. "Formulário de login" produz lixo. "Formulário de login de um SaaS com auth email+senha, OAuth pelo Google e suporte a MFA, onde contas bloqueiam após 5 tentativas falhas" produz algo útil.

Os engenheiros que extraem mais valor da IA são os que a tratam como um colaborador júnior que precisa de direcionamento claro e revisão próxima. Não como um oráculo que produz output correto automaticamente. Com os prompts certos e um olhar crítico sobre o resultado, o ChatGPT pode acelerar significativamente seu planejamento de testes sem sacrificar a qualidade da cobertura.

→ Veja também: Engenharia de Prompts para Engenheiros QA: Melhores Resultados com Ferramentas de IA | IA no QA 2026: O que é Realmente Útil e o que é Hype | Ferramentas de Geração de Testes por IA Comparadas: O que Funciona em 2026