Mapa da aula
Aula 40 publicada. Mapa, exemplo, EX118.
flowchart TD
N0["40.1 Verificação não funcional"]
N1["40.2 Injeção de falhas"]
N2["40.3 Testes negativos dos controles"]
N3["40.4 Relatório de verificação"]
N4["40.5 Nova verificação"]
N5["Nota de prática — empacotamento das evidências"]
N6["Risco residual"]
N7["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
N7 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX118"]
Desenho lógico
flowchart LR
N0["40.1 Verificação não funcional"]
N1["40.2 Injeção de falhas"]
N2["40.3 Testes negativos dos controles"]
N3["40.4 Relatório de verificação"]
N4["40.5 Nova verificação"]
N5["Nota de prática — empacotamento das evidências"]
N6["Risco residual"]
N7["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX118"]
[40.1 Verificação não funcional]
|
v
[40.2 Injeção de falhas]
|
v
[40.3 Testes negativos dos controles]
|
v
[40.4 Relatório de verificação]
|
v
[40.5 Nova verificação]
|
v
[Nota de prática — empacotamento das evidências]
|
v
[Risco residual]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX118]
Objetivos de aprendizagem
Você vai (1) verificar requisitos não funcionais — desempenho, disponibilidade, segurança; (2) executar testes de injeção de falhas com segurança; (3) verificar os controles de TLP e de privacidade com testes negativos; (4) compilar um relatório de verificação.
40.1 Verificação não funcional
Desempenho: injetar pacotes sintéticos a 150% da taxa de pico e verificar os percentis do tempo até a aplicação. Disponibilidade: derrubar uma instância de enriquecimento e verificar se o serviço continua. Segurança: tentar exportações restritas com contas de teste sem permissão. Kofi escolheu o número de carga para cobrir um dia movimentado de campanha com margem. O teste de disponibilidade para uma instância enquanto o tráfego sintético continua e confere se os percentis do tempo até a aplicação permanecem dentro da meta. Os testes de segurança usam contas criadas para teste, de modo que suas permissões são conhecidas com exatidão, e cada tentativa é registrada.
40.2 Injeção de falhas
As falhas são injetadas em homologação: o substituto do parceiro retorna erros, introduz-se uma defasagem de relógio, o armazenamento se enche. Cada teste declara o comportamento degradado esperado e o verifica. A injeção de falhas nunca mira a produção nem sistemas de parceiros. A lista de falhas de Kofi veio da análise de falhas: cada modo de falha bem classificado tem pelo menos um teste de injeção. O teste de defasagem de relógio do exemplo resolvido encontrou um problema real que, de outra forma, só apareceria em produção. Os testes restauram o estado normal ao final e conferem se a recuperação está completa.
40.3 Testes negativos dos controles
Tente exportar um relatório RED para um destinatário não nomeado; tente enviar uma regra de OT sem aprovação; tente armazenar um perfil pessoal de rede social pelo módulo de OSINT. Toda tentativa precisa falhar e ser registrada. Kofi escreve a entrada de registro esperada para cada teste antes de executá-lo, de modo que um teste que falha, mas não deixa registro, também conta como falha. O teste de OSINT usa um perfil inventado no substituto local, então nenhuma plataforma real é contatada. Os registros são conferidos depois.
40.4 Relatório de verificação
Resumo dos procedimentos executados, aprovações, falhas, desvios, itens bloqueados, defeitos abertos com severidade e responsáveis, e riscos residuais. O relatório vai para a revisão de projeto do Capítulo 45. Kofi escreve o resumo para leitores que não vão abrir os procedimentos. Ele começa pelo resultado geral e pelos riscos residuais e depois lista as falhas com sua severidade. Os itens bloqueados são relatados à parte das aprovações, porque um procedimento que não pôde ser executado não diz nada aos revisores sobre o requisito. Os procedimentos completos e as evidências ficam ligados para quem quiser conferir uma afirmação.
40.5 Nova verificação
Depois das correções, os procedimentos que falharam são executados de novo, e a suíte de regressão roda por completo. Executar a suíte inteira, e não apenas os procedimentos que falharam, pega correções que quebram outra coisa. Depois da correção do relógio no exemplo resolvido, Kofi executou de novo o teste de defasagem e depois toda a suíte de regressão. Os dois passaram, e o relatório registra a nova execução com a data, a versão do código e os hashes das evidências. Uma correção que não foi verificada de novo continua aberta na lista de defeitos, por mais confiante que esteja o engenheiro que a fez.
Nota de prática — empacotamento das evidências
Os registros e as saídas de cada procedimento recebem hash e são armazenados com o relatório, para que os revisores possam conferir se as evidências correspondem ao que o relatório afirma.
Risco residual
O relatório termina com os riscos que a verificação não conseguiu tratar, como o comportamento diante de formatos de parceiros nunca vistos nos testes, para que os revisores os pesem explicitamente em vez de supor cobertura. Cada risco residual indica um responsável e uma forma de monitoramento.
Exemplo resolvido
A 150% da carga, o p95 do tempo até a aplicação é de 22 minutos, para um requisito de 30 minutos: aprovado. O teste de defasagem de relógio mostra carimbos de tempo dos avistamentos adiantados ou atrasados em cinco minutos: falha; acrescenta-se monitoramento de NTP. Os seis testes negativos de controle bloqueiam e registram corretamente.
Caso sintético. Os resultados são inventados.
Erros e limites
A homologação difere da produção; registre as diferenças. Passar nos testes negativos mostra que esses ataques falham, não que nenhum ataque tenha sucesso.
Exercícios
- EX118 — Teste negativo. Escreva um teste negativo para o requisito de privacidade da OSINT.
Mostrar critérios de avaliação
Rubrica: 3 = tentar armazenar um perfil pessoal → esperar rejeição + registro; 2 = teste sem resultado esperado; 1 = teste positivo; 0 = nenhuma. - EX119 — Veredicto de carga. O p95 é de 22 min para um requisito de 30 min. Veredicto e motivo?
Mostrar critérios de avaliação
Rubrica: 3 = aprovado; 22 ≤ 30 no percentil declarado; 2 = aprovado; 1 = reprovado; 0 = nenhuma. - EX120 — Alvo da injeção. Onde a injeção de falhas pode rodar, e onde nunca pode?
Mostrar critérios de avaliação
Rubrica: 3 = homologação/substitutos sintéticos; nunca produção ou sistemas de parceiros; 2 = uma das metades; 1 = produção; 0 = nenhuma.
Síntese
Verifique desempenho, disponibilidade e controles com carga, falhas e testes negativos em homologação, e empacote as evidências.
Continue estudando — capítulo 40 de 50
← Capítulo 39 (rascunho) · Índice de capítulos do curso · Capítulo 41 (rascunho) →