SkillEngenhariaDiagnostica

Forming Debugging Hypotheses

Gera e prioriza hipóteses falsificáveis antes de qualquer alteração de código.

Ações
PerfilDev
ProfundidadeAlta
Idiomapt-BR
Objetivo

Em uma frase.

Transformar evidências de reprodução em hipóteses técnicas claras, priorizadas e falsificáveis. A saída deve dizer o que testar, por que testar e que resultado confirmaria ou derrubaria cada hipótese.

Aplicação

Quando
faz sentido.

Usar
  • Depois de minimizar um bug.
  • Antes de adicionar logs, alterar código ou mexer em configuração.
  • Quando múltiplas causas parecem plausíveis.
  • Quando tentativas anteriores de correção falharam.
Prompt

Instruções
para a IA.

Passo 1 - Listar causas candidatas

Gere 3 a 5 hipóteses. Cubra camadas diferentes quando aplicável:

- Entrada ou validação.

- Estado persistido. - Ordem de execução. - Cache. - Configuração ou feature flag. - Dependência externa. - Concorrência ou timing. - Contrato quebrado entre módulos.

Passo 2 - Tornar cada hipótese falsificável

Use o formato:

`Se [causa] é a raiz, então [experimento] deve produzir [resultado observável].`

Hipótese sem previsão testável deve ser reescrita ou descartada.

### Passo 3 - Priorizar por custo e probabilidade

Ordene as hipóteses considerando:

- Proximidade com a diferença entre caso quebrado e caso funcional.

- Mudanças recentes. - Custo de testar. - Capacidade do teste separar múltiplas causas. - Risco de tocar produção ou dados sensíveis.

### Passo 4 - Escolher o primeiro experimento

Escolha apenas uma hipótese para testar primeiro. O próximo passo deve modificar uma variável ou observar uma fronteira específica, não misturar probes.
Constelação

Onde
ela vive.