Capítulo 47 — Ensaio de falha e recuperação
Mapa da aula
Aula 47 publicada. Mapa, exemplo, EX139.
flowchart TD
N0["47.1 Planejar o ensaio"]
N1["47.2 Conduzir o ensaio"]
N2["Laboratório — Tempos de recuperação em relação às me"]
N3["47.3 Aprender com a falha"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX139"]
Desenho lógico
flowchart LR
N0["47.1 Planejar o ensaio"]
N1["47.2 Conduzir o ensaio"]
N2["Laboratório — Tempos de recuperação em relação às me"]
N3["47.3 Aprender com a falha"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX139"]
[47.1 Planejar o ensaio]
|
v
[47.2 Conduzir o ensaio]
|
v
[Laboratório — Tempos de recuperação em relação às me]
|
v
[47.3 Aprender com a falha]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX139]
Objetivos de aprendizagem
Você vai (1) planejar um ensaio de falha do sistema de reportes e verificação; (2) conduzi-lo com segurança; (3) aprender com o que falhou.
47.1 Planejar o ensaio
Aiko planeja um ensaio para testar como o programa se comporta quando partes dele falham. Os cenários incluem a ferramenta de triagem ficar fora do ar durante uma campanha, o segundo analista financeiro estar ausente no fim do mês e a equipe de segurança estar inacessível à noite. O ensaio é anunciado a todos os participantes, marcado para um horário tranquilo e aprovado pelos gestores de operações e de segurança operacional. Nenhum funcionário é enganado; o ensaio testa sistemas e procedimentos, e não indivíduos. Cada cenário tem início, observador e condição de parada definidos para garantir a segurança.
47.2 Conduzir o ensaio
No primeiro cenário, a ferramenta de triagem é tirada do ar por uma hora. Os reportes se acumulam na caixa postal como previsto, mas os funcionários não recebem mensagens de agradecimento e alguns reportam duas vezes. No segundo, o bloqueio financeiro é escalado corretamente para um analista substituto. No terceiro, a sala de controle alcança o contato de segurança fora do expediente em dez minutos usando a escala de plantão. O laboratório resume o tempo de recuperação de cada cenário em relação à sua meta, mostrando que apenas a queda da triagem excedeu a meta. Os observadores cronometram cada etapa.
Laboratório — Tempos de recuperação em relação às metas em três cenários de falha
# Recovery times against targets (minutes, synthetic).
s = [("triage outage", 60, 30), ("finance backup", 15, 60), ("out-of-hours contact", 10, 15)]
for name, t, target in s: print(f"{name}: {t} min vs target {target} -> {'MISSED' if t > target else 'met'}")
Execute com python3 lab_recovery.py. Saída verificada:
triage outage: 60 min vs target 30 -> MISSED
finance backup: 15 min vs target 60 -> met
out-of-hours contact: 10 min vs target 15 -> met
47.3 Aprender com a falha
Aiko conduz uma revisão sem culpados (blameless). A queda da triagem revelou que o mecanismo de contingência não tinha confirmação automática, de modo que os funcionários ficaram em dúvida se os reportes haviam chegado. A equipe acrescenta uma resposta automática simples da própria caixa postal, independente da ferramenta de triagem. Aiko observa que falhas encontradas em ensaios planejados são muito mais baratas do que as encontradas durante ataques reais. Ela atualiza a tabela de verificação com um novo requisito de confirmação durante quedas, fechando o ciclo entre o ensaio e o projeto. A resposta é testada mensalmente.
Exemplo resolvido
Aiko conduz um ensaio de falha anunciado com cenários de triagem, setor financeiro e fora do expediente, encontra a falta de confirmação durante quedas e acrescenta um requisito.
Caso sintético. O ensaio é sintético.
Erros e limites
Ensaios planejados são menos estressantes do que falhas reais. Ensaios em horários tranquilos não capturam os efeitos de pico.
Exercícios
- EX139 — Ética do ensaio. O que o ensaio testa? Rubrica: 3 = sistemas e procedimentos, e não indivíduos;; 2 = sistemas;; 1 = a vigilância dos funcionários;; 0 = nenhuma.
- EX140 — Recuperação no laboratório. Que cenário excedeu sua meta no laboratório? Rubrica: 3 = a queda da triagem, 60 minutos contra 30;; 2 = triagem;; 1 = vago;; 0 = nenhuma.
- EX141 — Correção acrescentada. Que correção se seguiu à queda da triagem? Rubrica: 3 = uma resposta automática da própria caixa postal;; 2 = confirmação;; 1 = vago;; 0 = nenhuma.
Síntese
Testes de falha anunciados encontram fraquezas a baixo custo e devolvem novos requisitos ao desenho.
Continue estudando — aula 47 (capítulo 47 de 50)
← Capítulo 46 · Índice das aulas · Capítulo 48 →
Continue para a próxima aula já escrita.