Communitygithub.com

Embedded QA (Qualidade Embutida)

Projete, implemente e execute verificação de firmware embarcado em host/mocks, análise estática, simulação Renode/QEMU, hardware-in-the-loop, J-Link/ST-Link/OpenOCD, UART/RTT e medições físicas. Use para estratégia de teste, regressão, injeção de falhas, portões de aceitação, evidências de temporização/pilha/recursos e automação de testes CI em alvos bare-metal, RTOS e Linux embarcado. Selecione o backend de teste mais barato e confiável e separe claramente as evidências de modelo virtual da qualificação de hardware real.

O que é Embedded QA (Qualidade Embutida)?

Este skill descreve uma abordagem sistemática e baseada em evidências para garantia da qualidade de firmware embarcado, suportando múltiplos backends de teste, desde mocks no host até simulação (Renode, QEMU) e hardware real (HIL). Ele é útil para desenvolvedores e engenheiros de teste que precisam criar estratégias de teste reprodutíveis, escolher o backend mais barato e fiel para cada recurso, e separar evidências de modelos virtuais de qualificações em hardware real. O skill é independente de plataforma, mas fornece referências detalhadas para workflows específicos como host-testing, simulação Renode, cobertura de simulação e HIL. Sua metodologia de seis etapas (Inspecionar, Definir Oráculo, Escolher Backend, Construir/Executar, Relatar por Nível de Evidência, Acompanhar) garante que os testes sejam significativos, econômicos e reproduzíveis, evitando alegações falsas de capacidade dos ambientes de teste.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/brunofbloq/embedded-agent-skills/tree/HEAD/skills/embedded-qa

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

QA Embutido (Embedded QA)

Entregue testes reproduzíveis e baseados em evidências sem alegar capacidades que o ambiente de teste não pode demonstrar. Escolha um ou mais backends apropriados para o recurso e seus modos de falha, não uma pirâmide de teste prescrita para cada mudança.

Fluxo de Trabalho de Teste

  1. Inspecionar: Identifique o alvo real de firmware, revisão da placa/silício, cadeia de ferramentas, infraestrutura de teste atual, requisitos, restrições de segurança/alimentação/temporização, artefatos de construção e hardware de host/emulador/sonda disponível. Reutilize testes e ferramentas existentes antes de introduzir uma estrutura.
  2. Definir o oráculo de teste independentemente: Traduza requisitos em asserções observáveis positivas, negativas, de limite, de falha e de recuperação. Verifique valores esperados contra especificações e vetores de teste, em vez de reproduzir cegamente as saídas da implementação.
  3. Escolher o backend mais barato e fiel: Teste máquinas de estado portáteis do host e protocolos. Use Renode apenas se sua CPU, interrupções, memória e periféricos necessários para cada alegação forem adequadamente modelados; caso contrário, marque como BLOCKED_BY_MODEL e use mocks, trabalho de modelo ou HIL. Use medições reais de placa/sonda para comportamento elétrico, de alimentação, DMA/cache, temporização e reset.
  4. Construir e executar: Capture imagem/revisão exata do firmware, versão do modelo, scripts, estímulos, status de saída e timeouts limitados. Execute verificações direcionadas antes de regressões mais amplas. Isole recursos de teste, números de porta e desmontagem; nunca grave/apague hardware real sem autorização.
  5. Relatar por nível de evidência: Host, estático, simulado, HIL e medição física recebem cada um seu próprio resultado PASS/FAIL/NOT_RUN/INCOMPLETE. Marque a cobertura de modelo ausente e a cobertura de teste separadamente. Preserve logs úteis legíveis por máquina, não transcrições detalhadas no contexto do LLM.
  6. Acompanhar: Forneça a reprodução de falha mais curta acionável, evidência de causa raiz ou limitações de escopo. Adicione testes estáveis junto com correções, se apropriado.

Referências Condicionais

Use scripts/summarize_robot.py para resumir o output.xml do Robot (quando produzido). Não invente integrações MCP do Renode: verifique um adaptador real instalado antes de confiar nele. Proteja sondas de depuração compartilhadas, sockets UART e equipamentos de alimentação contra testes concorrentes.

Entregue: ambiente de teste e restrições; comandos executados; asserções/resultados com localização da evidência; cobertura simulada versus física; riscos restantes.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Habilidades Relacionadas