Ir para o conteúdo

Projeto independente de P&D · Colônia

Verificação

O que cada tipo de teste pode demonstrar, e o que nenhum teste estabelece.

Não normativo

Versão do Companion
1.0
Corresponde ao COADF Core
2.2
Status
Atual
Última revisão

O que cada tipo de teste pode demonstrar

Uma propriedade é verificada no nível que consegue enxergá-la. Um teste unitário não enxerga um deploy; um teste de admissão não enxerga a resposta de um modelo. A tabela indica, para cada nível, o que ele prova, o que não consegue provar e onde o Companion o usa.

Níveis de verificação, o que cada um prova, o que não consegue provar e onde o Companion o usa
NívelProvaNão consegue provarUsado para
Teste unitárioUm componente recusa o que precisa recusarQue o componente está no caminhoEsquemas de fronteira, fábricas de verificação, regras de política
Teste de arquiteturaO grafo de dependências não tem nenhuma aresta proibidaCaminhos de dados que não são importaçõesFronteira probabilística, isolamento de normas
Teste de contratoOs dois lados concordam sobre um formato, incluindo a procedência exigidaQue os dois lados estão implantados em versões compatíveisContratos de proposta e de decisão
Teste de integraçãoA propriedade vale contra a dependência realO comportamento sob outra configuraçãoPrivilégios da trilha de auditoria, propagação de contexto, versões de política
Teste de ponta a pontaUm estado proibido não consegue chegar a uma saídaCaminhos que o teste não exercitaValores não verificados, o fence de publicação
Teste de deploy ou de admissãoA plataforma recusa uma carga de trabalho que quebra uma regraQualquer coisa dentro da carga de trabalhoImagens fixadas, versões nomeadas, isolamento de rede
Evidência manualUma pessoa com nome executou um procedimento escritoQue ele será executado de novoRevisões de licença, reexecuções de decisões históricas

As duas direções: o caminho positivo e a prova de dentes

Toda propriedade no Companion tem uma verificação positiva (passar é assim) e uma negativa (este defeito, plantado, é recusado). Uma suíte só com a metade positiva pode ter todas as restrições apagadas e continuar verde. É a metade negativa que mostra que a verificação está no caminho.

Os cinco passos de uma prova de dentes estão na página Fences executáveis, e o perfil de Python e FastAPI os executa: uma importação plantada quebra um contrato, uma restrição apagada deixa um teste vermelho, um sentinela plantado faz o fence de publicação falhar, e cada restauração é comparada byte a byte.

Contar o que rodou

Um resultado não é “verde”. É: quais verificações rodaram, quantas asserções foram executadas, em qual execução identificada, com qual desfecho. O modelo de relatório de controles do COADF diz o mesmo sobre controles: uma verificação pulada, um sucesso anterior ou uma seleção que não rodou teste nenhum não é verificação atual.

  • Uma seleção de testes que não casa com nada pode ter sucesso. A contagem precisa ser afirmada.
  • Um teste pulado por falta de banco de dados não é um teste que passou. Ele deve ser relatado como não executado.
  • Um job pulado pode ser relatado como bem-sucedido. É preciso exigir a verificação que não pode ser pulada.

Quando uma pessoa é o controle

Alguns controles são sustentados por uma pessoa que executa um procedimento escrito: uma revisão de licença, uma reexecução de decisões históricas amostradas, uma decisão no merge. Eles devem ser relatados como manuais, com o nome da pessoa e o procedimento, nunca como automatizados. Um controle manual relatado com honestidade vale mais que um automatizado relatado com frouxidão.

O que a verificação não estabelece

Testes estabelecem que testes passaram. Eles não estabelecem conformidade regulatória, certificação nem avaliação da conformidade, e uma suíte completa para cada propriedade deste Companion também não estabelece nada disso. Guardiões automáticos sobre texto e código são necessários e não suficientes: eles não enxergam um mecanismo expresso por fluxo de controle, identificadores renomeados ou a geometria de um diagrama, e a revisão humana continua fazendo parte da verificação.

COADF Engineering Companion 1.0 · não normativo · corresponde ao COADF Core 2.2

Direitos de publicação reservados. Nenhuma licença pública é concedida, no momento, para o COADF Engineering Companion 1.0 nem para seus exemplos de referência.

Status de propriedade intelectual e de publicação