Trilha de aprendizado · Nível 15 · Tutorial 10

Testes seguros de falhas e recuperação

Construir e aplicar uma matriz de testes de falhas e recuperação, usando injeções controladas de dados e análises para evitar condições elétricas destrutivas.

  • Nível: Avançado
  • Duração: 22 min
  • 10 passos
Testes seguros de falhas e recuperação

O que você vai percorrer

  1. Relacionar falhas, efeitos e respostas Relacione modos de falha do monitor didático a seus efeitos, detecções previstas e respostas esperadas, reconhecendo os limites da priorização. 2 min
  2. Escolher um método seguro de teste Selecione entre injeção por software, ensaio físico não destrutivo e análise, mantendo a evidência proporcional ao caminho realmente verificado. 2 min
  3. Reconhecer falhas que podem passar despercebidas Leituras plausíveis podem ocultar falhas quando a arquitetura não produz evidência para distingui-las de uma condição normal. 2 min
  4. Injetar dados inválidos, antigos e ausentes Injeções controladas no firmware exercitam diagnóstico e resposta sem alterar tensões ou conexões do circuito. 3 min
  5. Verificar a resposta e seus prazos Use uma linha do tempo e evidências separadas para verificar se a falha foi reconhecida, se a resposta foi comandada no prazo e se o firmware continuou executando. 3 min
  6. Exigir evidências para recuperar Defina evidências de recuperação e mantenha a resposta à falha até que elas sejam confirmadas. 2 min
  7. Conferir desligamento e reinicialização Verifique a partida por reinicialização ou desligamento normal, mantendo o ensaio dentro dos limites de observação e segurança. 2 min
  8. Analisar o que não deve ser provocado Análise prudente de condições elétricas destrutivas por representações, cálculos e limites documentados, sem execução física. 2 min
  9. Registrar a cobertura real dos testes Consolide testes de falha e recuperação em uma matriz que separa evidência, execução, resultados, limites de detecção e cobertura efetivamente examinada. 2 min
  10. Aplicação final: matriz de falhas e recuperação Aplique a matriz final ao monitor didático, interprete uma sequência temporal de uma configuração identificada e formule uma conclusão limitada às evidências disponíveis. 2 min

O que você vai aprender

  • Relacionar modos de falha a efeitos, mecanismos de detecção e respostas esperadas.
  • Escolher entre injeção por software, ensaio físico não destrutivo e análise.
  • Verificar os caminhos de falha e recuperação sem provocar riscos elétricos.
  • Identificar falhas que a arquitetura não consegue detectar.
  • Registrar a cobertura efetiva dos testes sem extrapolar suas conclusões.

Antes de começar

  • Ensaios de desempenho e critérios de conformidade
  • Diagnóstico de aquisição e falhas de comunicação
  • Máquinas de estados no firmware

Passo 1 de 10

Relacionar falhas, efeitos e respostas

Relacione modos de falha do monitor didático a seus efeitos, detecções previstas e respostas esperadas, reconhecendo os limites da priorização.

Mapeie a cadeia, não apenas o defeito

Da causa à resposta

Uma análise de falhas começa perguntando o que pode deixar de funcionar e o que isso muda no monitor de temperatura. Neste caso didático, o LED é apenas uma indicação: ele não protege pessoas, equipamentos nem processos.

Para cada caso, descreva uma cadeia:

causa possível → modo de falha → efeito local → efeito no sistema → detecção prevista → resposta esperada.

Exemplo: uma leitura que deixa de chegar ao firmware pode resultar em ausência de atualização; o monitor pode manter uma indicação baseada em informação antiga. Se houver diagnóstico de prazo, ele pode reconhecer a falta de atualização e levar o LED ao estado definido para falha.

A cadeia evita duas conclusões apressadas: assumir que toda falha será percebida e assumir que toda leitura estranha prova uma falha específica.

Cadeia de análise de uma falha

Diagrama do sensor ao LED, mostrando falhas em pontos diferentes e o diagnóstico antes da resposta da indicação.

A falha, seu efeito e seu reconhecimento são etapas diferentes da cadeia.

Separe as perguntas da análise

Perguntas que estruturam o caso

Use perguntas diferentes para cada elo da análise. Elas impedem que “falha detectada” vire uma suposição sem evidência.

Exemplos de encadeamento

Exemplos de relações para o monitor didático. São hipóteses de análise; a presença de uma detecção prevista ainda precisará ser verificada depois.

Uma mesma causa pode ter efeitos e evidências diferentes conforme a arquitetura.
ElementoPergunta orientadoraExemplo no monitor
Causa possívelO que pode originar o problema?A aquisição deixa de entregar atualização.
Modo de falhaO que o bloco faz de anormal?O firmware reapresenta um dado anterior.
Efeito localO que muda naquele bloco?A idade da informação cresce.
Efeito no sistemaO que o usuário observa?O LED pode refletir uma temperatura desatualizada.
Detecção previstaQue evidência distingue o problema?Diagnóstico compara a idade com um prazo.
Resposta esperadaO que deve ocorrer após reconhecer?Indicação assume o estado definido para falha.

Priorize sem prometer cobertura total

Ocorrência não é detecção

A falha pode ocorrer sem gerar efeito observável; pode gerar um efeito observável sem que o diagnóstico o reconheça; ou pode ser reconhecida pelo diagnóstico. Essas três afirmações não são equivalentes.

Priorize qualitativamente os casos que combinam impacto relevante com difícil reconhecimento. Por exemplo, uma leitura constante e plausível pode manter uma indicação aparentemente normal e ser difícil de distinguir de uma temperatura realmente estável.

Não é necessário atribuir uma pontuação. Registre por que o caso merece atenção: efeito potencial, evidência disponível e limitação conhecida.

Dica

Limite da priorização

Uma lista priorizada organiza o que será examinado primeiro. Ela não prova que outras falhas não existam nem que o monitor esteja livre de falhas. Mantenha explícitos os casos ainda desconhecidos, não observáveis ou sem diagnóstico previsto.

Associe falha, efeito e evidência

Prática: efeito e detecção

Associe cada modo de falha à relação que melhor completa sua análise.

Cada associação liga um modo de falha ao efeito principal e à evidência de detecção prevista.

Use esta tabela como referência para montar a associação.
Modo de falhaRelação esperada
Amostra não chegaSem atualização; diagnóstico pode verificar o prazo desde a última amostra.
Valor fora da faixa da aplicaçãoResultado incompatível com os limites definidos; validação de faixa pode sinalizar.
Valor constante, mas plausívelPode parecer temperatura estável; somente a faixa não distingue falha de condição normal.

Faça as correspondências.

Toque em um item e depois no par correspondente.

Passo 2 de 10

Escolher um método seguro de teste

Selecione entre injeção por software, ensaio físico não destrutivo e análise, mantendo a evidência proporcional ao caminho realmente verificado.

Selecione pelo caminho que será examinado

Método acompanha a evidência

Três caminhos, três tipos de evidência

Escolha o método pelo caminho que precisa ser verificado e pelo risco criado pelo próprio teste:

  • Injeção por software: substitui ou simula dados em um ponto definido do firmware. É apropriada para exercitar diagnóstico, decisão, indicação e registro sem tocar no circuito.
  • Ensaio físico não destrutivo: observa uma condição real do monitor de baixa energia que possa ser criada sem exceder limites nem alterar conexões energizadas.
  • Análise sem execução física: usa esquema, limites documentados, caminhos de corrente e cálculos para condições que não devem ser provocadas.

Nenhum método é “melhor” em geral: cada um sustenta uma conclusão diferente.

Três formas de verificar

Diagrama com três caminhos: injeção no firmware depois do ADC, observação física segura de um monitor de 5 V e análise de esquema com cálculos.

O ponto e a natureza da falha determinam qual evidência é possível obter.

O que a injeção cobre — e o que ela pula

Alcance e limite de cada método

A tabela separa o que cada alternativa pode demonstrar no monitor didático. A injeção aplicada depois da aquisição preserva a lógica posterior, mas pula o sensor, o condicionamento e o ADC.

A evidência deve corresponder ao trecho efetivamente exercitado.
MétodoUse quando deseja verificarNão demonstra sozinho
Injeção por softwareDiagnóstico, decisão, LED e registro após o ponto de injeçãoTensão do sensor, condicionamento ou conversão ADC
Ensaio físico não destrutivoComportamento real de uma condição permitida no monitorCenários que excedam os limites ou dependam de dano
Análise sem execução físicaRiscos elétricos e térmicos que não devem ser criadosQue a proteção atuou fisicamente nas condições analisadas

Dica

Não amplie a conclusão

Exemplo: simular um valor inválido logo após a aquisição pode mostrar que o firmware acende o LED e registra a falha. Isso não prova que um sensor desconectado ou um condicionamento defeituoso produzirão esse valor, nem que serão reconhecidos.

Limites da prática física

Disciplina para o ensaio permitido

Para qualquer ensaio físico permitido, mantenha o escopo restrito ao monitor de baixa energia em 5 V, sem cargas externas. Use uma única origem de alimentação e considere que o USB também pode alimentar a placa: não una fontes independentes.

Antes de começar, registre uma condição inicial conhecida. Introduza uma falha por vez, defina o sinal que manda interromper o ensaio e, ao terminar, restaure a configuração normal. Toda alteração de conexão exige desenergizar o circuito primeiro.

Atenção

Limites que não se testam na bancada

Não provoque curto-circuito, inversão de alimentação, sobrecarga, sobretemperatura ou subtensão instável. Essas condições ficam restritas à análise; limitar a corrente da fonte não transforma uma condição destrutiva em prática autorizada.

Se a condição proposta puder criar um caminho de corrente não previsto, aquecimento ou alimentação por um caminho alternativo, não a execute fisicamente.

Prática de decisão

Escolha o método

Um teste pretende verificar se o firmware entra na resposta de falha quando recebe uma amostra inválida já disponível na lógica, sem modificar o circuito. Qual método fornece evidência mais direta e segura?

Exemplo

Selecione a melhor alternativa.

Justifique sua escolha

Qual método é o mais adequado?

Escreva pelo menos 40 caracteres (0/40).

Em uma frase

Agora escolha a alternativa que resume corretamente esse caso.

Escreva pelo menos 25 caracteres (0/25).

Passo 3 de 10

Reconhecer falhas que podem passar despercebidas

Leituras plausíveis podem ocultar falhas quando a arquitetura não produz evidência para distingui-las de uma condição normal.

Leitura plausível não identifica a causa

Ambiguidade observacional

Mesma leitura, causas diferentes

Uma sequência analógica estável e dentro da faixa pode ser compatível com pelo menos duas hipóteses:

  • H1 — condição normal: a temperatura realmente permaneceu estável.
  • H2 — falha: algum defeito mantém a saída do sensor, ou o sinal que chega ao ADC, em um valor plausível.

A leitura, por si só, não informa qual hipótese ocorreu. Portanto, “o valor parece razoável” não é evidência suficiente de que o sensor está íntegro.

Dois cenários, uma única evidência

Comparação entre uma temperatura realmente estável e uma falha de sinal travado; os dois casos produzem a mesma sequência de leituras plausíveis.

Se as observações são iguais nos dois cenários, elas não conseguem distingui-los.

O que a verificação de faixa realmente prova

Exemplo

Exemplo: aprovação que não resolve a dúvida

Considere um monitor que registra 25,0 °C repetidamente. A regra de faixa aceita valores entre 0 °C e 50 °C.

| Cenário físico | Leituras registradas | Regra de faixa |
|---|---|---|
| Temperatura estável | 25,0; 25,0; 25,0 °C | Aprova |
| Saída travada em valor plausível | 25,0; 25,0; 25,0 °C | Aprova |

A verificação de faixa é útil para reconhecer valores que saem dos limites definidos. Ela não demonstra que o sensor continua respondendo à grandeza física nem que o caminho analógico está íntegro.

Atenção

Cuidado com a desconexão

Uma desconexão também não tem um resultado universal. Conforme o circuito — impedâncias, pull-up/pull-down, entrada do amplificador ou ruído captado — a entrada pode ir para fora da faixa, oscilar ou permanecer em uma tensão plausível.

Não conclua que “sensor desconectado sempre gera valor inválido” sem evidência específica da arquitetura e das condições examinadas.

Teste sua interpretação

Avalie a conclusão

Um monitor registra 25,0 °C em todas as leituras durante uma hora, dentro da faixa prevista. É correto concluir que o sensor está comprovadamente íntegro?

Dica

Critério de interpretação

Regra prática: uma falha só é detectável quando a evidência observada permite separá-la de uma condição aceitável. Quando normalidade e falha produzem o mesmo registro, a lacuna é da capacidade de observação da arquitetura — não algo que um roteiro de teste consiga eliminar por repetição.

Passo 4 de 10

Injetar dados inválidos, antigos e ausentes

Injeções controladas no firmware exercitam diagnóstico e resposta sem alterar tensões ou conexões do circuito.

Delimite o que o teste exercita

Onde inserir a falha

Injeção sem alterar o circuito

Neste ensaio, a falha é criada no firmware, depois da aquisição e antes da validação. Assim, os caminhos de diagnóstico, decisão, LED integrado e registro serial são exercitados sem mudar tensão, fios ou conexões.

Use um modo de teste explícito e reversível: sua ativação precisa aparecer no registro e o retorno ao modo normal deve ser conhecido. O firmware de referência deste step é autocontido para o Arduino Uno R3 e usa somente A0, o LED integrado e a porta serial.

A injeção não demonstra o comportamento elétrico do sensor, do condicionamento nem do ADC. Ela demonstra somente os caminhos posteriores ao ponto em que o dado é entregue à validação.

Ponto de injeção no fluxo

Diagrama mostra a injeção entre a aquisição e a validação, seguida pelo diagnóstico, LED integrado e registro serial.

A injeção preserva os caminhos posteriores à aquisição; ela não simula uma alteração elétrica no sensor.

Use uma referência autocontida

Procedimento local

Execute localmente, um caso por vez

  1. Mantenha a montagem e as conexões inalteradas; conecte o Uno ao computador por USB.
  2. Cole o código desta tela no Arduino IDE, selecione a placa e a porta corretas e envie-o.
  3. Abra o Monitor Serial em 9600 baud e aguarde AMOSTRA_VALIDA.
  4. Envie um único caractere: I para inválido, S para antigo ou A para ausente.
  5. Registre a transição de falha. Antes de testar outro caso, pressione o botão RESET da placa e aguarde novamente a amostra inicial válida.

Cada caso começa, portanto, com o modo NORMAL, sem falha retida. O LED integrado acende quando a falha é reconhecida e permanece assim até o próximo reinício. A recuperação não é avaliada neste ensaio.

Firmware de injeção controlada

Firmware completo para o Uno R3. A injeção altera apenas a amostra entregue após a aquisição. Reinicie a placa antes de cada caso para obter um estado inicial conhecido.

cpp
enum Mode { NORMAL, INVALID, STALE, ABSENT };
Mode mode = NORMAL;

struct Sample {
  int raw;
  unsigned long stamp;
};

Sample last = {0, 0};
bool haveSample = false;
bool faultWas = false;
const unsigned long TIMEOUT = 1500UL;

void logTime(unsigned long now) {
  Serial.print(now);
  Serial.print(" ms | ");
}

void readMode(unsigned long now) {
  if (!Serial.available()) return;

  char c = Serial.read();
  if (c == 'I') mode = INVALID;
  if (c == 'S') mode = STALE;
  if (c == 'A') mode = ABSENT;

  if (c == 'I' || c == 'S' || c == 'A') {
    logTime(now);
    Serial.print("MODO=");
    Serial.println(c);
  }
}

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, LOW);
  Serial.begin(9600);
  Serial.println("0 ms | PARTIDA");
}

void loop() {
  unsigned long now = millis();
  readMode(now);

  Sample candidate = {analogRead(A0), now};
  bool deliver = true;

  // Ponto de injeção: depois da aquisição.
  if (mode == INVALID) candidate.raw = 1100;
  if (mode == STALE) candidate.stamp = now - 2000UL;
  if (mode == ABSENT) deliver = false;

  if (deliver) {
    last = candidate;
    if (!haveSample) {
      haveSample = true;
      logTime(now);
      Serial.println("AMOSTRA_VALIDA");
    }
  }

  bool invalid = haveSample && (last.raw < 0 || last.raw > 1023);
  unsigned long age = haveSample ? now - last.stamp : 0;
  bool absent = haveSample && (age > TIMEOUT);
  bool faultNow = invalid || absent;

  digitalWrite(LED_BUILTIN, faultNow ? HIGH : LOW);

  if (faultNow && !faultWas) {
    logTime(now);
    Serial.print("FALHA=");
    Serial.print(invalid ? "INVALIDO" : "AUSENTE");
    Serial.print(" idade=");
    Serial.print(age);
    Serial.println(" ms LED=HIGH");
  }
  faultWas = faultNow;
}
Saída esperada
0 ms | PARTIDA
1 ms | AMOSTRA_VALIDA
500 ms | MODO=I
500 ms | FALHA=INVALIDO idade=0 ms LED=HIGH

0 ms | PARTIDA
1 ms | AMOSTRA_VALIDA
500 ms | MODO=S
500 ms | FALHA=AUSENTE idade=2000 ms LED=HIGH

0 ms | PARTIDA
1 ms | AMOSTRA_VALIDA
500 ms | MODO=A
2001 ms | FALHA=AUSENTE idade=1501 ms LED=HIGH

Os instantes variam conforme o envio do caractere e a execução do laço. Cada bloco começa após um RESET separado. No caso A, a falha só aparece depois de transcorrido o prazo desde a última amostra entregue.

Interprete cada sequência

Não confunda os três casos

Três sequências, três evidências

  • Inválido (I): entrega uma amostra cujo código viola a faixa aceita pela aplicação: 1100. A validação acusa o valor imediatamente.
  • Antigo (S): entrega uma amostra, mas com marca temporal de 2 s no passado. O valor pode continuar plausível; o diagnóstico acusa que a idade excede o prazo.
  • Ausente (A): deixa de entregar novas amostras. O loop() continua rodando; por isso, o relógio avança e o diagnóstico consegue reconhecer o vencimento do prazo.

Não use delay() para representar ausência. Uma espera bloqueante pararia justamente o processamento que precisa verificar a passagem do tempo.

Atenção

Limite de segurança e de conclusão

Não faça curto, inversão de alimentação, desconexão com o circuito energizado nem qualquer alteração de fios para este ensaio. A leitura de A0 no modo normal não prova que o sensor está íntegro: um valor plausível e uma marca temporal renovada pelo software ainda podem ocultar uma falha física.

Também não confunda valor constante com amostra antiga. Uma temperatura pode permanecer estável e gerar leituras repetidas que são novas. Neste teste, antiguidade é determinada pela marca temporal fora do prazo; ausência é a falta de entrega de uma nova amostra.

Pratique a distinção

Diferencie os pontos de injeção

Complete as ramificações que distinguem amostra antiga, evento ausente e dado fora da faixa.

cpp
if (mode == ) {
  candidate.stamp = now - 2000UL;
} else if (mode == ) {
  deliver = false;
} else if (mode == INVALID) {
  candidate.raw = ;
}

Dica

Conclusão restrita

Este firmware é uma referência de ensaio, não uma prova do seu projeto. Para concluir algo sobre sua montagem, aplique a mesma ideia à versão identificada do seu firmware e registre qual caminho foi realmente exercitado.

O RESET usado entre casos apenas restabelece a condição inicial deste teste. Retirar um modo de injeção ou reiniciar a execução não demonstra, por si só, que houve recuperação válida; essa verificação exige critérios próprios.

Passo 5 de 10

Verificar a resposta e seus prazos

Use uma linha do tempo e evidências separadas para verificar se a falha foi reconhecida, se a resposta foi comandada no prazo e se o firmware continuou executando.

1. Marcar a falha no tempo

Defina o marco temporal correto

Para cada injeção, defina um roteiro observável antes de iniciá-la. Registre a condição inicial, o instante da injeção, a indicação de falha esperada, o estado previsto da saída e o prazo máximo.

No monitor didático, suponha que uma amostra deixa de ser aceita em t = 1300 ms. A última amostra válida foi aceita em t = 1200 ms, e o requisito é reconhecer ausência de amostra em até 1000 ms desde essa última aceitação. Portanto, o vencimento esperado é t = 2200 ms.

O relógio relevante depende do requisito. Aqui, medir 1000 ms desde o clique que ativa a injeção seria incorreto: entre o clique e a última amostra válida ainda pode haver uma amostra já adquirida e aceita.

Linha do tempo de um teste de ausência

Diagrama temporal mostrando última amostra válida, início da injeção, vencimento do prazo e reconhecimento da falha.

O prazo de ausência começa na última amostra válida aceita. A injeção é um evento distinto e pode ocorrer depois dela.

Dica

Observe a região do limite

Planeje também pontos próximos ao limite: uma observação imediatamente antes do vencimento, outra no limite e outra após ele. Compare cada instante com a resolução do seu registro e com o período real de execução do laço: não faz sentido exigir uma transição em precisão maior do que a que o firmware e o instrumento conseguem observar.

2. Distinguir comando de efeito observado

Registro serial do caso

Este é um exemplo de registro de referência para um caso de ausência de novas amostras. Ele informa o que o firmware declarou e comandou; não é, por si só, uma medição elétrica do LED.

Sequência registrada

Registro de referência para interpretação

log
1200 ms | amostra válida aceita
1300 ms | injeção: novas amostras suprimidas
2190 ms | diagnóstico: sem falha; idade = 990 ms
2200 ms | limite de ausência atingido
2210 ms | falha AUSENTE reconhecida
2210 ms | comando de saída: LED_INTEGRADO = LOW
2400 ms | diagnóstico periódico ainda ativo

O que o registro demonstra — e o que não demonstra

A última amostra válida em 1200 ms fixa o limite em 2200 ms. Em 2190 ms, a idade ainda é 990 ms; não há falha. O reconhecimento em 2210 ms ocorre depois do vencimento, com atraso de 10 ms compatível com um laço que não avalia continuamente.

O registro sustenta que o firmware reconheceu a falha e enviou o comando LOW. Para sustentar o estado elétrico da saída, seria necessária uma observação local apropriada — por exemplo, estado visível do LED integrado ou medição no pino, conforme o critério definido. Não transforme um comando serial em evidência de tensão sem essa observação.

Atenção

Separe as evidências

Use colunas separadas para a evidência de software e a evidência local. Se a saída não foi observada, registre essa parte como “não observada” ou “inconclusiva”, e não como aprovada.

Roteiro mínimo para este caso

Itens a preencher para uma injeção de ausência de amostras.
CampoExemplo do casoEvidência adequada
Condição inicialAmostras válidas; LED no estado normalRegistro e observação inicial
Marco temporalÚltima amostra válida: 1200 msRegistro do firmware
Prazo máximo1000 ms após a última amostraCálculo a partir do marco
Falha esperadaAusência reconhecida após 2200 msRegistro temporal
Saída esperadaLED integrado em LOWObservação local do LED ou pino

3. Interpretar o resultado sem extrapolar

Verifique o marco usado

Com a última amostra válida em 1200 ms e prazo de 1000 ms, qual interpretação é correta para um reconhecimento registrado em 2210 ms?

Qual instante define o vencimento do prazo neste caso?

Declare evidência e lacuna

Analise o registro apresentado. Escreva: (1) uma conclusão que ele permite fazer sobre detecção e prazo; (2) uma conclusão que ele não permite fazer sobre a saída; e (3) um sinal no próprio registro de que o processamento não ficou paralisado em espera.

Escreva pelo menos 120 caracteres (0/120).

Passo 6 de 10

Exigir evidências para recuperar

Defina evidências de recuperação e mantenha a resposta à falha até que elas sejam confirmadas.

O que significa recuperar

Recuperação exige confirmação

Recuperar não é apenas apagar uma indicação de erro. É autorizar o retorno ao funcionamento porque chegaram evidências novas que satisfazem um critério definido.

No monitor didático, enquanto houver falha confirmada, o LED permanece no estado previsto para falha. Retirar a injeção de teste só inicia a observação da recuperação: ainda é preciso receber dados novos, válidos e estáveis.

Assim, uma única amostra boa não deve liberar a saída automaticamente se o requisito pede confirmação.

Da falha à retomada autorizada

Linha do tempo mostrando que uma amostra válida isolada não recupera o sistema; três amostras novas e válidas consecutivas permitem a transição para operação normal.

A evidência acumulada, e não a simples retirada da injeção, autoriza a recuperação.

Definir e aplicar o critério

Critério do caso didático

Um critério explícito evita uma recuperação prematura. Para este caso didático, defina:

  • Validade: a amostra passa pelas verificações da aplicação.
  • Atualização: ela é uma entrega nova; reapresentar uma amostra antiga não conta.
  • Estabilidade: são necessárias três amostras novas e válidas consecutivas.

Se surgir uma amostra inválida, antiga ou ausente antes da terceira confirmação, o contador volta a zero e o estado de falha continua. O número três é uma decisão do caso didático; outro sistema pode exigir uma sequência maior, um intervalo estável ou autorização explícita do operador.

Contagem de evidências novas

Trecho ilustrativo da decisão de recuperação no firmware.

cpp
const byte CONFIRMACOES_NECESSARIAS = 3;
byte confirmacoes = 0;
bool emFalha = true;

void avaliarAmostra(bool valida, bool nova) {
  if (!emFalha) return;

  if (valida && nova) {
    confirmacoes++;
    if (confirmacoes >= CONFIRMACOES_NECESSARIAS) {
      emFalha = false;       // autoriza a retomada
      digitalWrite(LED_BUILTIN, LOW);
    }
  } else {
    confirmacoes = 0;        // inválida, antiga ou ausente
    digitalWrite(LED_BUILTIN, HIGH);
  }
}

Prática: bloquear dados reapresentados

Proteja a liberação

Complete a condição que só contabiliza evidência de recuperação quando a amostra é válida e recém-entregue ao sistema.

Amostra nova é obrigatória

Preencha a condição de atualização.

cpp
if (valida && ) {
  confirmacoes++;
} else {
  confirmacoes = 0;
}

Prática: ordenar as transições

Sequência de recuperação

Organize a sequência para uma recuperação automática com três amostras novas e válidas consecutivas.

  1. Chega a primeira amostra nova e válida; contador = 1.
  2. O critério é satisfeito; a operação normal é autorizada.
  3. A injeção é retirada e começa a observação da recuperação.
  4. Chegam mais duas amostras novas e válidas consecutivas; contador = 3.
  5. Falha confirmada; saída permanece no estado previsto para falha.

Passo 7 de 10

Conferir desligamento e reinicialização

Verifique a partida por reinicialização ou desligamento normal, mantendo o ensaio dentro dos limites de observação e segurança.

Distinguir os procedimentos

Reiniciar não é desligar

Dois procedimentos, duas perguntas

Reinicializar pelo recurso previsto da placa reinicia o firmware enquanto a alimentação permanece presente. Isso exercita a partida lógica: estados iniciais, mensagens de partida e a exigência de novas amostras.

Desligar normalmente a alimentação interrompe a energia e depois permite uma nova partida. Isso exercita também o comportamento associado à perda e ao retorno normais da alimentação.

Não trate os dois como equivalentes. Um reinício bem-sucedido não demonstra o comportamento após desligamento; um ciclo normal de alimentação não prova todos os detalhes temporais do reinício do firmware.

Dois caminhos de teste

Comparação entre reinicialização com alimentação mantida e desligamento normal por uma chave de alimentação.

Cada procedimento verifica condições diferentes; mantenha as conexões físicas fixas.

Preparar sem criar outra falha

Condições para executar

Antes de uma prática física, confirme que há um meio apropriado de desligamento e identifique todas as fontes que podem manter a placa energizada — inclusive o USB.

Mantenha cabos e conexões fixos. Faça apenas desligamento e religamento normais, com tempo suficiente para observar a partida. Se não for possível garantir uma interrupção adequada de todas as fontes, não improvise: use a análise de registros apresentada mais adiante.

Atenção

Limites do ensaio

Não altere conexões com o circuito energizado. Não crie rampas de tensão, ciclos rápidos nem subtensão instável para este teste. Curto-circuito, inversão e perturbações de alimentação não fazem parte deste procedimento.

Praticar o roteiro

Sequência de verificação

Coloque as ações na ordem de um procedimento seguro de desligamento e reinicialização. Considere que a configuração normal já está montada e que existe um meio apropriado para desligar todas as fontes.

Organize o procedimento.

Ordene as etapas do procedimento.

  1. Confirmar configuração conhecida, conexões fixas e todas as fontes de energia.
  2. Concluir separadamente sobre o que foi observado e o que não foi medido.
  3. Observar a partida, a saída e a chegada de novas amostras válidas.
  4. Acionar apenas o reinício previsto ou o desligamento normal escolhido.
  5. Registrar a condição inicial e o estado esperado da saída.

Interpretar sem extrapolar

O que a partida precisa demonstrar

Na partida, registre pelo menos: procedimento usado, estado inicial esperado da saída, indicação de falha, instante da primeira nova amostra válida e condição para retomar o funcionamento.

Uma leitura que existia antes do reinício não deve autorizar retomada depois dele. Reiniciar remove a execução anterior; não demonstra que a causa de uma falha desapareceu. A recuperação depende de evidências novas e válidas que satisfaçam o critério definido.

Dica

Limite da observação

O monitor serial confirma que uma mensagem foi emitida, e a observação visual mostra o LED apagado. Isso é evidência útil, mas não exclui um pulso breve no LED entre observações nem comprova sozinho o estado elétrico do pino. Para afirmar ausência de pulsos, seria necessária instrumentação temporal adequada.

Quando não houver prática física viável, analise uma sequência de registros fornecida ou produzida localmente e identifique as transições descritas. Classifique essa conclusão como análise de registros, não como medição própria da saída.

Conclusão proporcional à evidência

Você reiniciou a placa e viu o LED permanecer apagado durante a observação; o monitor serial exibiu “PARTIDA” e, depois, “AMOSTRA_VALIDA”. Escreva uma conclusão curta, distinguindo o que esses indícios sustentam do que eles não permitem afirmar.

Escreva pelo menos 80 caracteres (0/80).

Passo 8 de 10

Analisar o que não deve ser provocado

Análise prudente de condições elétricas destrutivas por representações, cálculos e limites documentados, sem execução física.

Delimitar a análise

Representar sem provocar

Condições que ficam na análise

Curto-circuito, inversão de alimentação, sobrecarga e sobretemperatura não são casos para provocar na montagem didática. Eles podem ser estudados por um esquema equivalente, cálculos e registros numéricos.

A pergunta útil não é “o que acontece se eu fizer o defeito?”, mas: por qual caminho a corrente poderia circular, quais impedâncias a limitariam e quais componentes ficariam expostos?

Uma fonte com limite de corrente também faz parte do modelo, mas seu limite não torna seguro criar um curto, inverter a polaridade ou aquecer componentes deliberadamente.

Quatro condições representadas

Esquema comparativo com caminhos de corrente para curto, inversão, sobrecarga e aquecimento, sem execução física.

O diagrama serve para localizar caminhos e componentes expostos; ele não autoriza reproduzir as condições na montagem.

Dica

Modelo explícito

A análise deve declarar o que é conhecido e o que falta saber. Não suponha corrente infinita em um curto, mas também não suponha proteção ideal.

Considere resistência de cabos, trilhas, chaves, fonte e elementos de proteção. Compare corrente, tensão, potência e temperatura estimadas com os limites documentados dos componentes, sob as condições assumidas.

Se a atuação real de uma proteção, a impedância da fonte ou a temperatura ambiente não são conhecidas, isso limita a conclusão.

Comparar com os limites

Exemplo

Exemplo: curto representado

Considere apenas esta representação numérica, sem montar nem alterar o circuito:

  • alimentação nominal: 5 V;
  • limite declarado da fonte: 0,20 A;
  • resistência estimada do caminho de falha: 1,0 Ω;
  • componente em série no caminho: limite contínuo de 0,10 A;
  • comportamento transitório da fonte: não informado.

Pela lei de Ohm, se a fonte mantivesse 5 V no caminho, a corrente seria 5 A. Porém, a fonte declara limite de 0,20 A; esse valor é menor, mas ainda excede o limite contínuo de 0,10 A do componente. Além disso, não há dado sobre o intervalo antes da limitação atuar.

Como registrar a inferência

A comparação abaixo separa cálculo, informação disponível e conclusão permitida.

Uma conclusão só vale dentro das hipóteses declaradas.
ElementoDado ou estimativaComparaçãoConclusão permitida
Caminho de falha1,0 Ω estimado5 A se 5 V fossem mantidosCálculo sem limite da fonte
Fontelimite declarado: 0,20 AMenor que 5 A calculadosPode limitar a corrente; dinâmica desconhecida
Componente em sériemáximo contínuo: 0,10 A0,20 A > 0,10 AExposição possível mesmo com limitação
Proteção do esquemapresente no desenhoAtuação não demonstradaNão tratar como proteção comprovada

Atenção

Não extrapole a conclusão

Uma proteção desenhada ou calculada como adequada é uma previsão de projeto. Para afirmar que ela atuou nas condições relevantes, seria necessária evidência apropriada — e isso não exige nem justifica provocar uma condição destrutiva neste tutorial.

Assim, a conclusão correta para o exemplo é: há indício de que o componente pode ficar acima de seu limite contínuo; faltam dados sobre transitórios e atuação da fonte. O caso deve permanecer como análise, não como ensaio físico aprovado.

Interpretar sem extrapolar

Escolha uma conclusão prudente

Com base no exemplo numérico, qual é a conclusão mais compatível com as evidências?

Passo 9 de 10

Registrar a cobertura real dos testes

Consolide testes de falha e recuperação em uma matriz que separa evidência, execução, resultados, limites de detecção e cobertura efetivamente examinada.

Delimite cada caso

Uma matriz descreve o alcance do teste

Uma matriz de falhas e recuperação registra o que foi examinado, em qual configuração e com qual evidência. Ela não é uma lista de garantias.

Para cada caso, registre a configuração de hardware e firmware, o modo de falha, o método, o ponto de injeção, a resposta esperada e o prazo. Depois, registre separadamente a evidência obtida, o resultado da resposta à falha, o resultado da recuperação e qualquer limitação de detecção.

O ponto de injeção delimita a conclusão. Uma injeção entre aquisição e validação exercita o diagnóstico, a decisão, a indicação e a recuperação posteriores a esse ponto; ela não demonstra o comportamento elétrico do sensor ou do condicionamento.

O ponto de injeção limita a conclusão

Diagrama de uma matriz de teste conectando uma injeção de dados aos caminhos de diagnóstico, resposta e recuperação, com uma fronteira antes da aquisição.

A evidência vale para os caminhos efetivamente atravessados pelo caso.

Dica

Resultado não substitui evidência

Use uma taxonomia fixa para os resultados de resposta e de recuperação: passou, falhou, inconclusivo ou não executado.

“Inconclusivo” não é aprovação parcial: significa que a evidência disponível não decide o critério. Por exemplo, um registro serial que informa um comando para o LED não comprova sozinho o estado elétrico dessa saída. “Análise” também não é resultado: é o método usado para obter uma previsão.

Registre evidência sem inflar o resultado

Planejamento da matriz

Esta parte define o que cada caso pretende exercitar. A configuração identifica a versão e as condições examinadas; os valores são específicos do monitor didático de referência.

O método e o ponto de injeção determinam quais caminhos podem ser concluídos.
ConfiguraçãoModo de falhaMétodoPonto de injeçãoResposta esperadaPrazo
Uno R3, firmware de referência, 5 V USBDado fora da faixaInjeção por softwareApós aquisiçãoIndicar falhaNo laço
Uno R3, firmware de referência, 5 V USBAmostra antigaInjeção por softwareMarca temporalIndicar falhaApós 1500 ms
Uno R3, firmware de referência, 5 V USBSem nova amostraInjeção por softwareEntrega de amostraIndicar falhaApós 1500 ms
Arquitetura do monitorLeitura constante plausívelAnáliseCaminho sensor–ADCDistinguir cenáriosSem prazo definido
Alimentação de 5 V representadaCurto na alimentaçãoAnáliseModelo elétricoNenhum ensaio físicoNão aplicável

Evidência e resultados separados

A segunda parte não mistura método, execução e resultado. “Executado” informa que o caso foi aplicado; “passou” ou “inconclusivo” qualificam separadamente a resposta e a recuperação.

Exemplo de preenchimento coerente para o firmware de referência e para os limites já identificados no monitor didático.
Modo de falhaMétodo e evidênciaExecuçãoRespostaRecuperaçãoLimitação de detecção
Dado fora da faixaSoftware; log e LED observadoExecutadoPassouNão executadoNão verifica sensor nem condicionamento
Amostra antigaSoftware; tempos e LED observadosExecutadoPassouNão executadoFirmware de referência não avalia recuperação
Sem nova amostraSoftware; log, sem observar LEDExecutadoInconclusivoNão executadoComando registrado não prova a saída
Leitura constante plausívelAnálise de cenários com mesma leituraNão executadoNão executadoNão executadoFalha e normalidade não são distinguíveis
Curto na alimentaçãoAnálise com hipóteses declaradasNão executadoNão executadoNão executadoEstimativa não demonstra comportamento físico

Exemplo

Não combine falha e recuperação

Resposta à falha e recuperação são verificações independentes. Um caso pode indicar falha dentro do prazo e ainda retornar cedo demais, sem satisfazer o critério de novas amostras válidas. Também pode manter a saída no estado previsto diante da falha e não retomar quando o critério é satisfeito.

No firmware de referência do step de injeção, cada caso é encerrado por RESET; portanto, ele exercita a resposta à falha, mas não avalia recuperação. Não preencha “passou” nessa coluna sem executar uma configuração que implemente e observe o critério de recuperação.

Classifique e declare as lacunas

Classifique a evidência

Associe cada registro à classificação mais honesta. Considere que o critério exige comprovar o estado da saída, não apenas registrar um comando no firmware.

Tipo de evidência e conclusão

Faça as correspondências.

Toque em um item e depois no par correspondente.

Atenção

Conclusão de cobertura

Cobertura não é uma porcentagem de segurança. Descreva os modos de falha, os caminhos e as condições efetivamente examinados; declare também o que foi apenas analisado, não executado ou permaneceu inconclusivo.

Uma leitura constante plausível deve aparecer como limitação de detecção, não como aprovação. Se um requisito exigir detectar essa falha, mas a arquitetura não produzir evidência capaz de distingui-la do funcionamento normal, o requisito de detecção não está demonstrado e exige revisão do requisito ou da arquitetura. Isso é diferente de dizer que um ensaio de resposta “passou” ou “falhou”: nesse caso, o ensaio específico nem foi executado.

Registre a lacuna explicitamente; não a esconda sob uma conclusão geral de segurança.

Passo 10 de 10

Aplicação final: matriz de falhas e recuperação

Aplique a matriz final ao monitor didático, interprete uma sequência temporal de uma configuração identificada e formule uma conclusão limitada às evidências disponíveis.

Integre casos, método e alcance

Uma matriz compacta e honesta

Fechamento aplicado

A matriz final liga cada modo de falha ao método, à evidência, ao critério e a uma conclusão proporcional. No firmware de referência do step de injeção, a falha é injetada depois da aquisição: isso exercita validação, diagnóstico, decisão e registro, mas não comprova a integridade elétrica do sensor, do condicionamento ou do ADC.

“Executado” significa que um procedimento foi aplicado. Não significa que todas as falhas possíveis foram cobertas.

Da falha à conclusão limitada

Diagrama mostrando a passagem de modo de falha para método, evidência e conclusão, com três confirmações válidas para recuperação.

A conclusão só alcança o caminho realmente exercitado e a evidência disponível.

Casos, métodos e alcance

Matriz final do monitor didático. A linha de recuperação usa uma configuração de avaliação distinta, identificada como CFG-R3, pois o firmware de referência do step 4 retém a falha até o RESET e não implementa recuperação automática.

Cada linha vale somente para a configuração, o método, o critério e a evidência indicados.
Modo de falhaMétodo e pontoCritério ou evidênciaConclusão permitida
Dado fora da faixaSoftware, após aquisiçãoRegistro de falha e comando de saídaCaminho de detecção exercitado
Amostra antigaSoftware, marca temporalFalha após vencer prazo definidoPrazo de detecção exercitado
Amostras ausentesSoftware, sem nova entregaDiagnóstico segue ativo no laçoResposta de ausência exercitada
Retorno de dadosSoftware, CFG-R3 após falhaTrês amostras novas e válidasRecuperação de CFG-R3 exercitada
Leitura constante plausívelAnálise de observaçõesMesmo registro admite duas causasLimitação de detecção
Reinicialização normalProcedimento previstoPartida definida e novas evidênciasEstado inicial observado
Curto ou inversãoAnálise, sem provocarCálculos, limites e hipótesesNão é ensaio físico

Decida a partir da evidência disponível

Leia a sequência da configuração avaliada

Considere o registro numérico abaixo, fornecido para a configuração de avaliação CFG-R3. Ela não é o firmware de referência do step 4. Para este caso, CFG-R3 foi definida com estas regras: considera falha quando a idade da última amostra válida é maior ou igual a 1000 ms; mantém a saída no estado de falha; e só autoriza a retomada após três amostras novas e válidas consecutivas.

As reapresentações antigas não renovam a marca temporal. O registro é evidência da execução de CFG-R3 e de suas transições declaradas; sozinho, ele não mede eletricamente o estado do LED.

Registro de avaliação CFG-R3

Sequência temporal usada para aplicar os critérios de detecção e recuperação de CFG-R3.

A última amostra válida em 0 ms é a referência para o prazo de ausência ou antiguidade.
TempoEventoEstado registrado
0 msAmostra válida aceitaNormal
400 msAmostra antiga reapresentadaNormal
950 msAmostra antiga reapresentadaNormal
1000 msPrazo vence; falha reconhecidaFalha
1200 msNova válida; confirmação 1Falha
1400 msNova válida; confirmação 2Falha
1600 msNova válida; confirmação 3Normal

Aplique o critério de três confirmações

Na configuração CFG-R3, a recuperação é autorizada em {{blank}} ms, quando chega a terceira amostra nova e válida consecutiva.

Declare a cobertura sem exageros

Conclusão de cobertura

Redija uma conclusão de 3 a 5 frases para esta matriz. Inclua: uma detecção demonstrada, uma recuperação verificada em CFG-R3 com três confirmações e uma limitação não resolvida. Diferencie a execução por software da análise e não declare segurança geral do circuito. Não atribua a recuperação ao firmware de referência do step 4.

Escreva pelo menos 180 caracteres (0/180).

Atenção

Encerramento seguro

Antes de encerrar uma prática local:

  1. Desative o modo de injeção no firmware.
  2. Restaure a configuração normal identificada.
  3. Confirme que nenhuma conexão foi alterada com o circuito energizado.
  4. Registre como “não executado” todo caso que ficou apenas previsto ou analisado.

A competência final é escolher um método seguro, verificar resposta e recuperação com evidência apropriada e declarar lacunas sem extrapolar a conclusão.

Resumo

Síntese final

  • Uma matriz relaciona modo de falha, método, evidência, critério e conclusão limitada.
  • Dados inválidos, antigos e ausentes podem exercitar caminhos de firmware sem alterar tensões ou conexões.
  • Resposta à falha e recuperação são verificações distintas; em CFG-R3, recuperar exige três amostras novas e válidas consecutivas.
  • O firmware de referência do step 4 não demonstra recuperação automática: ele retém a falha até o RESET.
  • Uma leitura analógica plausível e constante pode permanecer não detectável pela arquitetura.
  • Uma condição destrutiva analisada não é uma condição fisicamente ensaiada.
  • O próximo tutorial organiza requisitos e evidências em um dossiê técnico.

Tutorial concluído

Parabéns! Você concluiu: Testes seguros de falhas e recuperação

Muito bem! Você integrou uma matriz de falhas, resposta e recuperação, mantendo conclusões compatíveis com as evidências, a configuração avaliada e os limites de segurança.

Baixe o Aplicativo agora para ter acesso a + de 5000 cursos gratuitos, exercícios, certificado e muito conteúdo sem pagar nada!

  • Cursos online 100% gratuitos do início ao fim

    Milhares de cursos online em vídeo, ebooks e áudiobooks.

  • Mais de 60 mil exercícios gratuitos

    Para testar seus conhecimentos no decorrer dos cursos online

  • Certificado Digital gratuito válido em todo o Brasil

    Gerado diretamente na galeria de fotos do seu celular e enviado ao seu e-mail

Aplicativo Cursa na tela de ebook, na tela de curso em vídeo e na tela de exercícios do curso, mais o certificado de conclusão de curso