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]
Item
Descrição
Usuário clínico
Médico com acesso ao prontuário
Usuário auditor
Perfil “Auditor” com o direito “Visualizar auditoria”
Usuário sem direito
Enfermeiro sem o direito
Administrador
Gestão de usuários e perfis
Pacientes
IdPaciente 101 a 104 (fictícios) em um banco de cliente de teste
Clientes
Dois tenants de teste, para conferir o isolamento por cliente
1. Log de sistema
ID
Tipo
Cenário
Esperado
RN / CA
CT-LOG-001
API
Forçar erro 500 em um endpoint
Resposta com mensagem simples e traceId como código; o mesmo traceId no log
RN-LOG-004; CA-LOG-001.1
CT-LOG-002
OBS
Buscar no Grafana pelo traceId e pelo userId
Dashboard “Um usuário” mostra a sequência de requisições
CA-LOG-001.2
CT-LOG-003
OBS
Inspecionar um lote de logs após operações com paciente
Nenhum nome, CPF, prontuário ou valor clínico
RN-LOG-003; CA-LOG-002.1
CT-LOG-004
OBS
Listar rótulos do Loki
Apenas service, environment, level
RN-LOG-006; CA-LOG-002.2
CT-LOG-005
OBS
Derrubar a conexão com o banco de um tenant
Métrica de banco com tenant sobe e o alerta dispara
RN-LOG-007, 008; CA-LOG-003.1
CT-LOG-006
OBS
Verificar métrica HTTP
Por endpoint, sem tenant
RN-LOG-007
CT-LOG-007
API
Derrubar o Collector durante uma operação
Operação conclui; log reenviado depois
RN-LOG-010; CA-LOG-004.1
CT-LOG-008
API
Acionar tradução ausente (DT-011)
Log com SYS-TRD-001
RN-LOG-005
CT-LOG-009
API
Gerar erro com exceção técnica
Usuário não vê texto técnico (ECF.17.19)
RN-LOG-004
2. Auditoria: captura
ID
Tipo
Cenário
Esperado
RN / CA
CT-LOG-101
API
Abrir um prontuário
Um evento AUD-RES-003 com IdPaciente; sem nome, CPF ou prontuário
RN-LOG-015; CA-LOG-005.1
CT-LOG-102
API
Abrir o mesmo prontuário de novo na janela
Nenhum evento novo
RN-LOG-020; CA-LOG-005.2
CT-LOG-103
API
Carregar a Agenda do dia, repetir o polling do mesmo dia, abrir o PEP
Um evento da carga, nenhum do polling, um da abertura (torna CT-AGM-API-08 executável)
RN-LOG-020
CT-LOG-104
API
Alterar dois campos de um registro clínico
Evento AUD-RES-005 com os dois nomes de campo e nenhum valor
RN-LOG-016; CA-LOG-006.1
CT-LOG-105
API
Criar, duplicar, inativar registro
Eventos AUD-RES-001, 002, 004
RN-LOG-011
CT-LOG-106
API
Imprimir, exportar e importar dados
Eventos AUD-RES-008, 007, 006
RN-LOG-011
CT-LOG-107
BD
Forçar falha na gravação do evento clínico
Operação desfeita; mensagem LOG-EMSG-06 com código
RN-LOG-014; CA-LOG-006.2
CT-LOG-108
API
Forçar falha na gravação de AUD-OPE-006
Operação segue; evento vai ao log de sistema
EX-LOG-02
CT-LOG-109
API
Alteração de cadastro fora do RES (ex.: administrativo)
Evento AUD-OPE-010, categoria operacional
RN-LOG-011
CT-LOG-110
BD
Operação com dois tenants
Cada evento no banco do seu cliente, com ClienteBDId correto
RN-LOG-017
3. Auditoria: segurança (repositório global)
ID
Tipo
Cenário
Esperado
RN / CA
CT-LOG-201
API
Login com senha errada
AUD-USR-002 em IpSeguranca; sem a senha
CA-LOG-007.1
CT-LOG-202
API
Login com sucesso
AUD-USR-001 em IpSeguranca
RN-LOG-012
CT-LOG-203
API
Troca de senha, bloqueio e desbloqueio de conta, mudança de perfil
Eventos AUD-USR-003 e AUD-OPE-001 no global
CA-LOG-007.2
CT-LOG-204
API
Encerrar e bloquear sessão; aceitar termo de uso
AUD-USR-008, 009, 010
NGS1.07.04
CT-LOG-205
API
Login com usuário inexistente
Evento com o login informado em Detalhe; UsuarioId nulo
4.4.1
4. Imutabilidade e integridade
ID
Tipo
Cenário
Esperado
RN / CA
CT-LOG-301
BD
Com o papel da aplicação, tentar UPDATE, DELETE, TRUNCATE na trilha
Recusado nos dois repositórios
RN-LOG-013; CA-LOG-008.1
CT-LOG-302
BD
Recalcular HashLinha de linhas ao acaso
Confere
RN-LOG-025; CA-LOG-008.2
CT-LOG-303
BD
Alterar uma linha com o papel dono e recalcular
Hash não confere (prova de detecção)
RN-LOG-025
CT-LOG-304
BD
Inserir eventos em mês sem partição
Falha detectada e alerta; rotina cria partições dos próximos meses
L-05
CT-LOG-305
BD
Mesmo teste no SQL Server e no PostgreSQL
Mesmo resultado (condiciona P-LOG-09)
RN-LOG-026
5. Tela do auditor
ID
Tipo
Cenário
Esperado
RN / CA
CT-LOG-401
UI
Acessar sem o direito
Acesso negado; API também
RN-LOG-022; CA-LOG-009.1
CT-LOG-402
UI
Consultar um período
Lista cronológica, mesclando global e cliente
CA-LOG-010.1
CT-LOG-403
UI
Filtrar por evento, usuário e paciente
Só os eventos que atendem a todos
CA-LOG-010.2
CT-LOG-404
UI
Período inválido (início depois do fim; mais de 90 dias)
Erro LOG-EMSG-03; nada consultado
EX-LOG-05
CT-LOG-405
UI
Filtros sem resultado
LOG-EMSG-04
EX-LOG-06
CT-LOG-406
UI
Repositório global fora do ar
Mostra o do cliente com aviso LOG-EMSG-07
EX-LOG-07
CT-LOG-407
UI
Consultar evento antigo (mês arquivado, se houver)
Continua visível
RN-LOG-023; CA-LOG-010.3
CT-LOG-408
UI
Consultar e exportar
Eventos AUD-OPE-005 registrados
CA-LOG-009.2
CT-LOG-409
UI
Exportar CSV e JSON
Cabeçalho com software, instituição, CNES, CNPJ; datas RFC 3339
RN-LOG-024; CA-LOG-011.1
CT-LOG-410
UI
Navegar só com teclado; leitor de tela; celular
Foco visível, Esc fecha painel, tabela com cabeçalhos, cartões no celular