Pular para o conteúdo principal

Roteiro de Homologação — MPSWCOMP

Programa: MPSWCOMP.PRW
Versão: 1.1
Data: 14/04/2026


Pré-requisitos​

  • Tabelas ZAA e ZAB criadas
  • MPSWCOMP.PRW e AFTERLOGIN.PRW compilados e aplicados ao RPO do ambiente de homologação
  • Application Server reiniciado após compilação
  • Ao menos 3 máquinas distintas disponíveis para os testes (ou 3 sessões SmartClient com hostnames diferentes)
  • Usuário de teste criado (diferente de 000000 / ADMINISTRADOR)
  • U_ZACADMIN configurado no menu do perfil de suporte
  • Acesso ao banco de dados para consulta das tabelas ZAA e ZAB

Convenções​

SímboloSignificado
✅Resultado esperado — aprovado
❌Resultado divergente — reprovado
📋Ação do testador
🔍Verificação no banco de dados

Cenário 1 — Usuário Administrador (bypass)​

Objetivo: Confirmar que o usuário administrador não é impactado pelo controle.


CT-01 — Login com usuário administrador​

Pré-condiçãoNenhum registro na ZAA para o usuário 000000
Usuário000000 (ou ADMINISTRADOR)
MáquinaQualquer

Passos:

  1. 📋 Efetuar login no Protheus com o usuário administrador
  2. 📋 Observar se alguma mensagem de controle de acesso é exibida

Resultado esperado:

  • ✅ Nenhuma mensagem exibida
  • ✅ Acesso liberado normalmente sem qualquer interação
  • ✅ Nenhum registro gravado na ZAB

Cenário 2 — Primeiro Acesso​

Objetivo: Validar o fluxo de cadastro da máquina principal no primeiro login do usuário.


CT-02 — Primeiro acesso: usuário confirma máquina principal​

Pré-condiçãoNenhum registro na ZAA para o usuário de teste
UsuárioUsuário de teste
MáquinaMáquina A

Passos:

  1. 📋 Efetuar login com o usuário de teste na Máquina A
  2. 📋 Verificar se a mensagem de primeiro acesso é exibida com os dados corretos (hostname e SO)
  3. 📋 Clicar em Sim para registrar como máquina principal

Resultado esperado:

  • ✅ Dialog FWAlertYesNo exibido com título "Primeiro Acesso - Registro de Maquina"
  • ✅ Mensagem contém o hostname correto da Máquina A
  • ✅ Após confirmação: MsgInfo de sucesso exibida
  • ✅ Acesso ao sistema liberado normalmente

Verificação no banco:

SELECT ZAA_USER, ZAA_HOST, ZAA_SO, ZAA_TIPO, ZAA_ATIVO
FROM ZAAG01
WHERE ZAA_USER = '<usuario_teste>'
  • ✅ 1 registro com ZAA_TIPO = 'P' e ZAA_ATIVO = 'S'
SELECT ZAB_STATUS, ZAB_MSG
FROM ZABG01
WHERE ZAB_USER = '<usuario_teste>'
ORDER BY ZAB_DATA DESC, ZAB_HORA DESC
  • ✅ 1 registro com ZAB_STATUS = 'C' e mensagem "Maquina principal registrada no primeiro acesso"

CT-03 — Primeiro acesso: usuário recusa cadastro​

Pré-condiçãoNenhum registro na ZAA para o usuário de teste
UsuárioUsuário de teste (diferente do CT-02 ou ZAA limpa)
MáquinaQualquer

Passos:

  1. 📋 Efetuar login com o usuário de teste
  2. 📋 Dialog de primeiro acesso exibido
  3. 📋 Clicar em Não

Resultado esperado:

  • ✅ MsgStop exibido com mensagem de acesso bloqueado
  • ✅ Sessão encerrada (__Quit) após fechar a mensagem
  • ✅ Nenhum registro na ZAA

Verificação no banco:

  • ✅ ZAB_STATUS = 'B' com mensagem "Primeiro acesso: usuario recusou registrar maquina - sessao bloqueada"

Cenário 3 — Reacesso pela Máquina Principal​

Objetivo: Confirmar que o acesso pela máquina já registrada é liberado automaticamente.


CT-04 — Login pela máquina principal já cadastrada​

Pré-condiçãoCT-02 executado com sucesso (Máquina A cadastrada como Principal)
UsuárioUsuário de teste
MáquinaMáquina A

Passos:

  1. 📋 Efetuar logout
  2. 📋 Efetuar login novamente com o mesmo usuário na Máquina A

Resultado esperado:

  • ✅ Nenhuma mensagem de controle exibida
  • ✅ Acesso liberado imediatamente

Verificação no banco:

  • ✅ Novo registro na ZAB com ZAB_STATUS = 'L' e mensagem "Acesso liberado - maquina registrada e ativa"

Cenário 4 — Cadastro de Máquina Secundária​

Objetivo: Validar o fluxo de registro de uma segunda máquina autorizada.


CT-05 — Login em nova máquina: cadastro como Secundária​

Pré-condiçãoCT-02 executado (Máquina A = Principal cadastrada)
UsuárioUsuário de teste
MáquinaMáquina B (diferente da A)

Passos:

  1. 📋 Efetuar login com o usuário de teste na Máquina B
  2. 📋 FWAlertWarning é exibido informando a situação
  3. 📋 Dialog "Registrar como MAQUINA SECUNDARIA?" é exibido — clicar Sim

Resultado esperado:

  • ✅ FWAlertWarning exibido com hostname e SO corretos da Máquina B
  • ✅ Dialog de Principal não é exibido (usuário já tem Principal cadastrada)
  • ✅ Dialog de Secundária exibido com hostname da Máquina B
  • ✅ Após confirmação: MsgInfo de sucesso exibida
  • ✅ Acesso liberado

Verificação no banco:

SELECT ZAA_HOST, ZAA_TIPO, ZAA_ATIVO
FROM ZAAG01
WHERE ZAA_USER = '<usuario_teste>'
  • ✅ 2 registros: Máquina A (ZAA_TIPO = 'P') e Máquina B (ZAA_TIPO = 'S')
  • ✅ ZAB com ZAB_STATUS = 'C' para a Máquina B

CT-06 — Reacesso pela máquina secundária já cadastrada​

Pré-condiçãoCT-05 executado (Máquina B = Secundária cadastrada)
UsuárioUsuário de teste
MáquinaMáquina B

Passos:

  1. 📋 Efetuar logout e login novamente na Máquina B

Resultado esperado:

  • ✅ Nenhuma mensagem exibida
  • ✅ Acesso liberado automaticamente
  • ✅ ZAB com ZAB_STATUS = 'L'

Cenário 5 — Bloqueio por Limite de Máquinas Atingido​

Objetivo: Confirmar que o acesso é bloqueado quando o usuário já possui Principal e Secundária cadastradas e tenta acessar de uma terceira máquina.


CT-07 — Tentativa de acesso em terceira máquina​

Pré-condiçãoCT-02 e CT-05 executados (Máquinas A e B cadastradas)
UsuárioUsuário de teste
MáquinaMáquina C (terceira máquina, não cadastrada)

Passos:

  1. 📋 Efetuar login com o usuário de teste na Máquina C

Resultado esperado:

  • ✅ Nenhum dialog de cadastro exibido
  • ✅ MsgStop de bloqueio exibido imediatamente
  • ✅ Sessão encerrada após fechar a mensagem

Verificação no banco:

  • ✅ ZAB com ZAB_STATUS = 'B' e mensagem "Acesso bloqueado - limite de maquinas atingido (Principal e Secundaria ja cadastradas)"
  • ✅ Nenhum novo registro na ZAA

Cenário 6 — Bloqueio por Recusa de Cadastro em Nova Máquina​

Objetivo: Confirmar que recusar todas as opções de cadastro bloqueia o acesso.


CT-08 — Nova máquina: usuário recusa todas as opções​

Pré-condiçãoUsuário com apenas Máquina A (Principal) cadastrada, sem Secundária
UsuárioUsuário de teste
MáquinaMáquina B (não cadastrada)

Passos:

  1. 📋 Efetuar login na Máquina B
  2. 📋 FWAlertWarning exibido — fechar
  3. 📋 Dialog "Registrar como MAQUINA SECUNDARIA?" — clicar Não

Resultado esperado:

  • ✅ MsgStop de bloqueio exibido
  • ✅ Sessão encerrada
  • ✅ Nenhum registro criado na ZAA

Verificação no banco:

  • ✅ ZAB com ZAB_STATUS = 'B' e mensagem "Acesso bloqueado - maquina nao registrada (possivel compartilhamento de senha)"

Cenário 7 — Integridade dos Dados de Auditoria​

Objetivo: Verificar que todos os eventos estão sendo registrados corretamente na ZAB.


CT-09 — Consulta geral de auditoria após todos os cenários​

Passos:

  1. 🔍 Executar a consulta abaixo após todos os cenários anteriores
SELECT
ZAB_USER,
ZAB_HOST,
ZAB_SO,
ZAB_TIPO,
ZAB_DATA,
ZAB_HORA,
ZAB_STATUS,
ZAB_MSG
FROM ZABG01
WHERE ZAB_USER = '<usuario_teste>'
ORDER BY ZAB_DATA, ZAB_HORA

Resultado esperado:

StatusQuantidade mínimaOrigem
C2CT-02 (Principal) + CT-05 (Secundária)
L2CT-04 (Máquina A) + CT-06 (Máquina B)
B3CT-03 + CT-07 + CT-08
  • ✅ Todos os registros possuem ZAB_HOST preenchido
  • ✅ Todos os registros possuem ZAB_DATA e ZAB_HORA corretos
  • ✅ Campo ZAB_MSG descritivo em todos os registros


Cenário 8 — Rotina Administrativa ZACADMIN​

Objetivo: Validar o controle de acesso à rotina administrativa, o cadastro manual de máquinas pelo suporte e a consulta read-only do log de auditoria.


CT-10 — Acesso à ZACADMIN por usuário sem permissão​

Pré-condiçãoUsuário de teste não pertence ao grupo SUPORTE
UsuárioUsuário de teste comum

Passos:

  1. 📋 Executar a função U_ZACADMIN pelo menu ou por Miscelanea > Executar Função

Resultado esperado:

  • ✅ FWAlertWarning exibido com mensagem "Acesso restrito ao time de Suporte Protheus"
  • ✅ Nenhuma tela de menu ou formulário é aberta
  • ✅ Nenhum registro gravado nas tabelas ZAA ou ZAB

CT-11 — Acesso à ZACADMIN por usuário do grupo SUPORTE​

Pré-condiçãoUsuário pertence ao grupo SUPORTE
UsuárioUsuário de suporte

Passos:

  1. 📋 Executar a função U_ZACADMIN

Resultado esperado:

  • ✅ Dialog Aviso exibido com título "Administracao - Suporte Protheus", subtítulo "Rotina restrita ao time de Suporte Protheus" e os três botões: "Cadastrar Maquina para Usuario", "Consultar Log de Auditoria" e "Sair"
  • ✅ Nenhuma mensagem de bloqueio exibida

CT-12 — Cadastro manual de máquina pelo suporte​

Pré-condiçãoCT-11 executado (menu exibido)
UsuárioUsuário de suporte

Passos:

  1. 📋 Selecionar "Cadastrar Maquina para Usuario"
  2. 📋 Verificar se a tela padrão AxCadastro da tabela ZAA é exibida com título "Cadastro de Maquinas - Suporte Protheus"
  3. 📋 Clicar em Incluir, preencher: Usuário = <usuario_alvo>, Hostname = PC-SUPORTE-MANUAL, SO = Windows 10, Tipo = P
  4. 📋 Confirmar a inclusão

Resultado esperado:

  • ✅ Tela AxCadastro exibida com browse da ZAA e botões padrão (Incluir, Alterar, Excluir, Pesquisar)
  • ✅ Formulário de inclusão exibe os campos conforme definidos no dicionário SX3
  • ✅ Após confirmação o registro aparece no browse

Verificação no banco:

SELECT ZAA_USER, ZAA_HOST, ZAA_SO, ZAA_TIPO, ZAA_ATIVO
FROM ZAAG01
WHERE ZAA_USER = '<usuario_alvo>'
AND ZAA_HOST = 'PC-SUPORTE-MANUAL'
  • ✅ 1 registro com ZAA_TIPO = 'P' e ZAA_ATIVO = 'S'

CT-13 — Validação de campos obrigatórios no cadastro (SX3)​

Pré-condiçãoCT-11 executado
UsuárioUsuário de suporte

Passos:

  1. 📋 Selecionar "Cadastrar Maquina para Usuario"
  2. 📋 Clicar em Incluir e tentar confirmar com o campo ZAA_USER em branco

Resultado esperado:

  • ✅ Validação padrão do Protheus (SX3) impede confirmação com campos obrigatórios vazios
  • ✅ Nenhum registro gravado na ZAA

CT-14 — Consulta read-only do log de auditoria​

Pré-condiçãoCT-11 executado; ZAB com registros dos cenários anteriores
UsuárioUsuário de suporte

Passos:

  1. 📋 Selecionar "Consultar Log de Auditoria"
  2. 📋 Verificar se os registros da ZAB são exibidos no browse
  3. 📋 Tentar inserir, alterar ou excluir um registro

Resultado esperado:

  • ✅ Browse da ZAB aberto com os registros de auditoria visíveis
  • ✅ Nenhum botão de inclusão, alteração ou exclusão disponível na interface
  • ✅ Dados exibidos correspondem aos eventos registrados nos cenários anteriores

Resumo dos Casos de Teste​

IDDescriçãoResultado
CT-01Login administrador sem validação⬜
CT-02Primeiro acesso — confirma máquina principal⬜
CT-03Primeiro acesso — recusa cadastro⬜
CT-04Reacesso pela máquina principal⬜
CT-05Nova máquina — cadastro como secundária⬜
CT-06Reacesso pela máquina secundária⬜
CT-07Terceira máquina — limite atingido, bloqueia⬜
CT-08Nova máquina — recusa todas as opções⬜
CT-09Consulta geral de auditoria na ZAB⬜
CT-10ZACADMIN — acesso negado a usuário sem permissão⬜
CT-11ZACADMIN — menu exibido para usuário do grupo SUPORTE⬜
CT-12ZACADMIN — cadastro manual de máquina com auditoria⬜
CT-13ZACADMIN — validação de campos obrigatórios⬜
CT-14ZACADMIN — consulta read-only do log de auditoria⬜

Legenda: ⬜ Não executado  |  ✅ Aprovado  |  ❌ Reprovado


Registro de Execução​

CampoValor
Testador
Data de execução
Ambiente
Versão do RPO
Resultado geral⬜ Aprovado / ⬜ Reprovado
Observações