Logs e Auditoria — Cenários de Teste (v1.0)

Documentos desta funcionalidade: 01 - Definição (v1.0) · 02 - Especificação (v1.0) · 03 - Protótipo (v1.0) · 04 - Mapeamento de Banco de Dados (v1.0) · Cenários de Teste (v1.0) · 05 - Registro de Decisões (v1.0)

Escopo

Cobre RN-LOG-001 a 029 e os critérios CA-LOG. Tipos: API (serviço), BD (banco), UI (tela do auditor), BLD (build e CI), OBS (observabilidade: Loki, Prometheus, Grafana). Tudo que depende de decisão em aberto (P-LOG) está indicado.

Usuários e massa de teste [PROPOSTA]

ItemDescrição
Usuário clínicoMédico com acesso ao prontuário
Usuário auditorPerfil “Auditor” com o direito “Visualizar auditoria”
Usuário sem direitoEnfermeiro sem o direito
AdministradorGestão de usuários e perfis
PacientesIdPaciente 101 a 104 (fictícios) em um banco de cliente de teste
ClientesDois tenants de teste, para conferir o isolamento por cliente

1. Log de sistema

IDTipoCenárioEsperadoRN / CA
CT-LOG-001APIForçar erro 500 em um endpointResposta com mensagem simples e traceId como código; o mesmo traceId no logRN-LOG-004; CA-LOG-001.1
CT-LOG-002OBSBuscar no Grafana pelo traceId e pelo userIdDashboard “Um usuário” mostra a sequência de requisiçõesCA-LOG-001.2
CT-LOG-003OBSInspecionar um lote de logs após operações com pacienteNenhum nome, CPF, prontuário ou valor clínicoRN-LOG-003; CA-LOG-002.1
CT-LOG-004OBSListar rótulos do LokiApenas service, environment, levelRN-LOG-006; CA-LOG-002.2
CT-LOG-005OBSDerrubar a conexão com o banco de um tenantMétrica de banco com tenant sobe e o alerta disparaRN-LOG-007, 008; CA-LOG-003.1
CT-LOG-006OBSVerificar métrica HTTPPor endpoint, sem tenantRN-LOG-007
CT-LOG-007APIDerrubar o Collector durante uma operaçãoOperação conclui; log reenviado depoisRN-LOG-010; CA-LOG-004.1
CT-LOG-008APIAcionar tradução ausente (DT-011)Log com SYS-TRD-001RN-LOG-005
CT-LOG-009APIGerar erro com exceção técnicaUsuário não vê texto técnico (ECF.17.19)RN-LOG-004

2. Auditoria: captura

IDTipoCenárioEsperadoRN / CA
CT-LOG-101APIAbrir um prontuárioUm evento AUD-RES-003 com IdPaciente; sem nome, CPF ou prontuárioRN-LOG-015; CA-LOG-005.1
CT-LOG-102APIAbrir o mesmo prontuário de novo na janelaNenhum evento novoRN-LOG-020; CA-LOG-005.2
CT-LOG-103APICarregar a Agenda do dia, repetir o polling do mesmo dia, abrir o PEPUm evento da carga, nenhum do polling, um da abertura (torna CT-AGM-API-08 executável)RN-LOG-020
CT-LOG-104APIAlterar dois campos de um registro clínicoEvento AUD-RES-005 com os dois nomes de campo e nenhum valorRN-LOG-016; CA-LOG-006.1
CT-LOG-105APICriar, duplicar, inativar registroEventos AUD-RES-001, 002, 004RN-LOG-011
CT-LOG-106APIImprimir, exportar e importar dadosEventos AUD-RES-008, 007, 006RN-LOG-011
CT-LOG-107BDForçar falha na gravação do evento clínicoOperação desfeita; mensagem LOG-EMSG-06 com códigoRN-LOG-014; CA-LOG-006.2
CT-LOG-108APIForçar falha na gravação de AUD-OPE-006Operação segue; evento vai ao log de sistemaEX-LOG-02
CT-LOG-109APIAlteração de cadastro fora do RES (ex.: administrativo)Evento AUD-OPE-010, categoria operacionalRN-LOG-011
CT-LOG-110BDOperação com dois tenantsCada evento no banco do seu cliente, com ClienteBDId corretoRN-LOG-017

3. Auditoria: segurança (repositório global)

IDTipoCenárioEsperadoRN / CA
CT-LOG-201APILogin com senha erradaAUD-USR-002 em IpSeguranca; sem a senhaCA-LOG-007.1
CT-LOG-202APILogin com sucessoAUD-USR-001 em IpSegurancaRN-LOG-012
CT-LOG-203APITroca de senha, bloqueio e desbloqueio de conta, mudança de perfilEventos AUD-USR-003 e AUD-OPE-001 no globalCA-LOG-007.2
CT-LOG-204APIEncerrar e bloquear sessão; aceitar termo de usoAUD-USR-008, 009, 010NGS1.07.04
CT-LOG-205APILogin com usuário inexistenteEvento com o login informado em Detalhe; UsuarioId nulo4.4.1

4. Imutabilidade e integridade

IDTipoCenárioEsperadoRN / CA
CT-LOG-301BDCom o papel da aplicação, tentar UPDATE, DELETE, TRUNCATE na trilhaRecusado nos dois repositóriosRN-LOG-013; CA-LOG-008.1
CT-LOG-302BDRecalcular HashLinha de linhas ao acasoConfereRN-LOG-025; CA-LOG-008.2
CT-LOG-303BDAlterar uma linha com o papel dono e recalcularHash não confere (prova de detecção)RN-LOG-025
CT-LOG-304BDInserir eventos em mês sem partiçãoFalha detectada e alerta; rotina cria partições dos próximos mesesL-05
CT-LOG-305BDMesmo teste no SQL Server e no PostgreSQLMesmo resultado (condiciona P-LOG-09)RN-LOG-026

5. Tela do auditor

IDTipoCenárioEsperadoRN / CA
CT-LOG-401UIAcessar sem o direitoAcesso negado; API tambémRN-LOG-022; CA-LOG-009.1
CT-LOG-402UIConsultar um períodoLista cronológica, mesclando global e clienteCA-LOG-010.1
CT-LOG-403UIFiltrar por evento, usuário e pacienteSó os eventos que atendem a todosCA-LOG-010.2
CT-LOG-404UIPeríodo inválido (início depois do fim; mais de 90 dias)Erro LOG-EMSG-03; nada consultadoEX-LOG-05
CT-LOG-405UIFiltros sem resultadoLOG-EMSG-04EX-LOG-06
CT-LOG-406UIRepositório global fora do arMostra o do cliente com aviso LOG-EMSG-07EX-LOG-07
CT-LOG-407UIConsultar evento antigo (mês arquivado, se houver)Continua visívelRN-LOG-023; CA-LOG-010.3
CT-LOG-408UIConsultar e exportarEventos AUD-OPE-005 registradosCA-LOG-009.2
CT-LOG-409UIExportar CSV e JSONCabeçalho com software, instituição, CNES, CNPJ; datas RFC 3339RN-LOG-024; CA-LOG-011.1
CT-LOG-410UINavegar só com teclado; leitor de tela; celularFoco visível, Esc fecha painel, tabela com cabeçalhos, cartões no celular2.10
CT-LOG-411UITrocar idioma e temaTextos e cores corretos2.9
CT-LOG-412APIConsultar paciente unificado (se existir unificação)Eventos dos dois IdPacienteEX-LOG-09; P-LOG-08

6. Salvaguardas para o desenvolvedor

IDTipoCenárioEsperadoRN / CA
CT-LOG-501BLDEndpoint sem [Audited] nem [NotAudited]Build falhaCA-LOG-012.1
CT-LOG-502BLD[NotAudited] sem motivoBuild falhaRN-LOG-021
CT-LOG-503APISubir a aplicação com endpoint sem declaraçãoNão inicia e lista o endpointCA-LOG-012.2
CT-LOG-504APISubir sem AddGemedAudit() ou AddGemedTelemetry()Não iniciaCA-LOG-012.3
CT-LOG-505BLDControlador que usa o contexto de dados fora do ponto autorizadoTeste de arquitetura falha no CIRN-LOG-021
CT-LOG-506BLDTemplate dotnet new gemed-apiProjeto novo já passa nos testes acima2.3.6
CT-LOG-507BLDMatriz NGS1.07.03 gerada do catálogoTodo item de estágio 1 do catálogo tem eventoRN-LOG-018

7. Hora

IDTipoCenárioEsperadoRN / CA
CT-LOG-601BDComparar instantes gravados em componentes diferentesTodos em UTC, sem derivaRN-LOG-027; CA-LOG-013.1

Matriz de rastreabilidade

RNCasos
RN-LOG-001 a 010CT-LOG-001 a 009
RN-LOG-011 a 020CT-LOG-101 a 110, 201 a 205
RN-LOG-013, 025, 026CT-LOG-301 a 305
RN-LOG-021, 018CT-LOG-501 a 507
RN-LOG-022 a 024CT-LOG-401 a 412
RN-LOG-027CT-LOG-601
RN-LOG-028, 029sem caso nesta versão (dependem de P-LOG-04 e da funcionalidade de emergência)

Histórico de Versões

  • v1.0 (11/11/2026) — Criação (49 casos).