Dogfood (agente-dispositivo)
Explore sistematicamente um aplicativo móvel, encontre problemas e produza um relatório com evidências completas de reprodução para cada descoberta.
Configuração
Apenas o Aplicativo alvo é obrigatório. Todo o restante possui valores padrão sensíveis.
| Parâmetro | Padrão | Exemplo de substituição |
|---|---|---|
| Aplicativo alvo | (obrigatório) | Ajustes, com.exemplo.app, URL de deep link |
| Plataforma | Inferir do contexto do usuário; caso contrário, perguntar (ios ou android) | --platform ios |
| Nome da sessão | App/plataforma em formato slug (por exemplo ajustes-ios) | --session minha-sessao |
| Diretório de saída | ./dogfood-output/ | Diretório de saída: /tmp/qa-movel |
| Escopo | Aplicativo completo | Foco em onboarding e perfil |
| Autenticação | Nenhuma | Fazer login em [email protected] |
Se o usuário fornecer contexto suficiente para começar, inicie imediatamente com os padrões. Faça perguntas complementares apenas quando um detalhe obrigatório estiver faltando (por exemplo, plataforma ou credenciais).
Prefira o binário agent-device direto quando disponível.
Fluxo de trabalho
1. Inicializar Configurar sessão, diretórios de saída, arquivo de relatório
2. Iniciar/Auth Abrir aplicativo e fazer login se necessário
3. Orientar Capturar snapshot inicial e mapear navegação
4. Explorar Testar fluxos e estados sistematicamente
5. Documentar Registrar evidências reproduzíveis por problema
6. Finalizar Conciliar resumo, fechar sessão
1. Inicializar
mkdir -p {DIRETORIO_SAIDA}/screenshots {DIRETORIO_SAIDA}/videos
cp {DIRETORIO_SKILL}/templates/dogfood-report-template.md {DIRETORIO_SAIDA}/report.md
2. Iniciar/Auth
Inicie uma sessão nomeada e abra o aplicativo alvo:
agent-device --session {SESSION} open {APLICATIVO_ALVO} --platform {PLATAFORMA}
agent-device --session {SESSION} snapshot -i
Se o login for necessário:
agent-device --session {SESSION} snapshot -i
agent-device --session {SESSION} fill @e1 "{EMAIL}"
agent-device --session {SESSION} fill @e2 "{SENHA}"
agent-device --session {SESSION} press @e3
agent-device --session {SESSION} wait 1000
agent-device --session {SESSION} snapshot -i
Para códigos OTP/e-mail: pergunte ao usuário, aguarde a entrada, depois continue.
3. Orientar
Capture evidências iniciais e âncoras de navegação:
agent-device --session {SESSION} screenshot {DIRETORIO_SAIDA}/screenshots/inicial.png
agent-device --session {SESSION} snapshot -i
Mapeie navegação de nível superior, abas e fluxos de trabalho principais antes de testar em profundidade.
4. Explorar
Leia references/issue-taxonomy.md para calibração de gravidade/categoria.
Estratégia:
- Percorra cada área principal do aplicativo (abas, gavetas, páginas de configuração).
- Teste jornadas principais de ponta a ponta (criar, editar, excluir, enviar, recuperar).
- Valide estados de borda (vazio/erro/carregamento/sem conexão/permissão negada).
- Use
diff snapshot -iapós transições de UI para evitar referências desatualizadas. - Periodicamente capture
logs pathe inspecione o log do aplicativo quando o comportamento parecer suspeito.
Comandos úteis por tela:
agent-device --session {SESSION} snapshot -i
agent-device --session {SESSION} screenshot {DIRETORIO_SAIDA}/screenshots/{nome-da-tela}.png
agent-device --session {SESSION} appstate
agent-device --session {SESSION} logs path
5. Documentar Problemas (Reprodução Primeiro)
Explore e documente em uma única passagem. Ao encontrar um problema, pare e capture totalmente as evidências antes de continuar.
Problemas interativos/comportamentais
Use vídeo + capturas de tela de etapas:
- Iniciar gravação:
agent-device --session {SESSION} record start {DIRETORIO_SAIDA}/videos/problema-{NNN}-repro.mp4
- Reproduza com ritmo visível. Capture cada etapa:
agent-device --session {SESSION} screenshot {DIRETORIO_SAIDA}/screenshots/problema-{NNN}-etapa-1.png
sleep 1
# realizar ação
sleep 1
agent-device --session {SESSION} screenshot {DIRETORIO_SAIDA}/screenshots/problema-{NNN}-etapa-2.png
- Capture o estado final quebrado:
sleep 2
agent-device --session {SESSION} screenshot {DIRETORIO_SAIDA}/screenshots/problema-{NNN}-resultado.png
- Parar gravação:
agent-device --session {SESSION} record stop
- Adicione o problema imediatamente ao relatório com etapas numeradas e referências às capturas de tela.
Problemas estáticos/ao carregar
Uma única captura de tela é suficiente; nenhum vídeo necessário:
agent-device --session {SESSION} screenshot {DIRETORIO_SAIDA}/screenshots/problema-{NNN}.png
Defina Vídeo de reprodução como N/D no relatório.
6. Finalizar
Mire em 5 a 10 problemas bem documentados e então finalize:
- Reconcilie as contagens de gravidade do resumo em
report.md. - Feche a sessão:
agent-device --session {SESSION} close
- Relate o total de problemas, detalhamento de gravidade e descobertas de maior risco.
Orientações
- A qualidade da reprodução importa mais do que a quantidade de problemas.
- Use referências (
@eN) para exploração rápida, seletores para asserções de replay determinísticas quando necessário. - Refaça o snapshot após qualquer mutação (navegação, modal, atualização de lista, envio de formulário).
- Use
fillpara semântica de limpar e digitar; usetypepara verificações de comportamento de digitação incremental. - Mantenha logs opcionais e direcionados: ative/leia logs do aplicativo apenas quando útil para diagnóstico.
- Nunca leia o código-fonte do aplicativo em teste; as descobertas devem vir do comportamento observado em tempo de execução.
- Escreva cada problema imediatamente para evitar perda de evidências.
- Nunca exclua capturas de tela, vídeos ou artefatos de relatório durante uma sessão.
Referências
| Referência | Quando Ler |
|---|---|
| references/issue-taxonomy.md | Início da sessão; gravidade/categorias/lista de verificação |
Modelos
| Modelo | Propósito |
|---|---|
| templates/dogfood-report-template.md | Copiar para o diretório de saída como arquivo de relatório |