📌 Suíte de Testes
- Nome da funcionalidade testada: Estoque Unificado — Painel, Lançamentos e Transferências
- Módulo/sistema identificado: OmniDom Backoffice — módulo Estoque Unificado
- Pré-condições gerais:
- Usuário autenticado no sistema com perfil VENDOR ou equivalente com permissão ao módulo Estoque Unificado
- Ao menos 1 produto cadastrado (ex: SKU 18856 — AGUA DESTILADA 4X5L)
- Ao menos 2 depósitos ativos cadastrados (ex: Mercado Livre, Galpão A, Trainmec)
- Sistema com status “Online & Sync” confirmado no rodapé da barra lateral
- Módulo Estoque Unificado acessível pelo menu lateral
🧪 Casos de Teste
Grupo 1: Painel de Métricas e Listagem
CT01: Exibição correta dos cards de métricas ao carregar o módulo
- Tipo: Positivo
- Pré-condição: Usuário autenticado. Módulo Estoque Unificado ainda não acessado nesta sessão.
- Dados de Entrada: Nenhum (apenas navegação)
- Passos:
- Clicar em “Estoque Unificado” na barra lateral esquerda
- Aguardar o carregamento completo da tela
- Observar os 4 cards no topo da tela
- Resultado Esperado: Sistema exibe os 4 cards preenchidos: Produtos (total de SKUs cadastrados), Disponível (total de unidades disponíveis), Estoque Baixo (SKUs com saldo abaixo do mínimo) e Sem Estoque (SKUs zerados). Todos os valores numéricos devem refletir o inventário real.
- Critério de Aprovação: Os 4 cards aparecem com valores numéricos coerentes. O valor de “Disponível” deve ser igual a
Físico total − Reservado totalde todos os produtos. - Origem: Observado nas telas
CT02: Listagem de produtos exibe colunas corretas
- Tipo: Positivo
- Pré-condição: Módulo Estoque Unificado carregado. Filtro “Todos” selecionado.
- Dados de Entrada: Nenhum
- Passos:
- Acessar o módulo Estoque Unificado
- Observar a tabela de inventário abaixo dos cards
- Resultado Esperado: A tabela deve exibir as colunas: PRODUTO / SKU, FÍSICO, DISPONÍVEL, RESERVADO, DEPÓSITOS (com barra de progresso e contador de depósitos), STATUS (badge colorido) e AÇÕES (botões “Transferir” e “Ajustar Saldo”).
- Critério de Aprovação: Todas as 7 colunas estão visíveis e preenchidas para cada produto listado.
- Origem: Observado nas telas
CT03: Filtro por depósito específico atualiza tabela e métricas
- Tipo: Positivo
- Pré-condição: Módulo Estoque Unificado carregado. Filtro padrão “Todos” ativo.
- Dados de Entrada: Depósito a filtrar: Depósito Principal
- Passos:
- Clicar na aba “Depósito Principal” na barra de filtros de depósito
- Aguardar o indicador “Carregando inventário…” desaparecer
- Observar a tabela e os cards de métricas
- Resultado Esperado: A tabela exibe apenas os produtos com saldo no Depósito Principal. O card “Disponível” atualiza para refletir o total de unidades nesse depósito (ex: de 840 para 730). O spinner “Carregando inventário…” deve aparecer brevemente durante a transição.
- Critério de Aprovação: Produtos de outros depósitos não aparecem na listagem. O valor do card “Disponível” é coerente com os dados filtrados.
- Origem: Observado nas telas
CT04: Filtro por status “Esgotado” não retorna produtos com saldo
- Tipo: Negativo
- Pré-condição: Módulo Estoque Unificado carregado. Todos os produtos do teste possuem saldo > 0.
- Dados de Entrada: Status a filtrar: Esgotado
- Passos:
- Clicar na aba “Esgotado” na barra de filtros de status
- Aguardar o carregamento
- Observar o resultado da tabela
- Resultado Esperado: A tabela exibe mensagem de lista vazia ou “Nenhum produto encontrado” (estado vazio), pois não há produtos sem estoque no cenário de teste.
- Critério de Aprovação: Nenhum produto com saldo físico > 0 aparece na listagem filtrada por “Esgotado”.
- Origem: Inferido (filtro visível nas telas; comportamento de lista vazia não demonstrado no vídeo)
CT05: Barra de busca filtra produto por SKU
- Tipo: Positivo
- Pré-condição: Módulo Estoque Unificado carregado com tabela visível.
- Dados de Entrada: Termo de busca:
18856 - Passos:
- Clicar no campo “Buscar por nome ou SKU…”
- Digitar
18856 - Aguardar o filtro ser aplicado
- Resultado Esperado: A tabela exibe apenas o produto com SKU 18856 — AGUA DESTILADA 4X5L.
- Critério de Aprovação: Apenas 1 produto aparece, correspondendo ao SKU digitado. Os demais SKUs desaparecem da listagem.
- Origem: Inferido (campo de busca visível nas telas; comportamento dinâmico não demonstrado no vídeo)
CT06: Busca por termo inexistente retorna lista vazia
- Tipo: Negativo
- Pré-condição: Módulo Estoque Unificado carregado.
- Dados de Entrada: Termo de busca:
XXXXXXPRODUTOINEXISTENTE - Passos:
- Clicar no campo “Buscar por nome ou SKU…”
- Digitar
XXXXXXPRODUTOINEXISTENTE - Aguardar o resultado
- Resultado Esperado: A tabela exibe estado vazio — nenhum produto encontrado. Não deve exibir erro ou travamento.
- Critério de Aprovação: Tabela vazia sem crash. Sistema permanece responsivo.
- Origem: Inferido (A validar)
Grupo 2: Lançamento de Estoque
CT07: Abertura do modal de Lançamento de Estoque via botão ”+ Novo Ajuste”
- Tipo: Positivo
- Pré-condição: Módulo Estoque Unificado carregado.
- Dados de Entrada: Nenhum
- Passos:
- Localizar o botão ”+ Novo Ajuste” no canto superior direito da tela
- Clicar no botão
- Resultado Esperado: Modal “Lançamento de Estoque” é aberto com 4 etapas numeradas: (1) Tipo de Operação, (2) Produto e Depósito, (3) Valores, (4) Motivo. O campo Produto deve estar vazio e o depósito sem seleção.
- Critério de Aprovação: Modal aparece completamente visível com as 4 seções. Campos Produto e Depósito começam em branco.
- Origem: Observado nas telas
CT08: Lançamento tipo “Entrada de Compra” com dados válidos
- Tipo: Positivo
- Pré-condição: Modal de Lançamento de Estoque aberto. Produto AGUA DESTILADA 4X5L (SKU 18856) existente com saldo inicial de 5 unidades no depósito Mercado Livre.
- Dados de Entrada:
- Tipo de Operação:
Entrada de Compra - Produto:
18856 – AGUA DESTILADA 4X5L - Depósito:
Mercado Livre - Quantidade:
50 - Custo Unitário:
R$ 12,12 - Motivo:
Ajuste Manual
- Tipo de Operação:
- Passos:
- Selecionar “Entrada de Compra” no Passo 1
- No campo Produto, digitar
18856e selecionar AGUA DESTILADA 4X5L - No campo Depósito, selecionar “Mercado Livre”
- No campo Quantidade, digitar
50 - No campo Custo Unitário, digitar
12,12 - No campo Motivo, selecionar “Ajuste Manual”
- Clicar em “Salvar”
- Resultado Esperado: Modal fecha. Notificação “Lançamento realizado com sucesso!” aparece. Na tabela, a coluna Físico e Disponível do produto AGUA DESTILADA 4X5L no depósito Mercado Livre atualiza de
5para55. O card “Disponível” no painel incrementa em50. - Critério de Aprovação: Saldo do produto = 55. Card DISPONÍVEL reflete novo total. Toast de sucesso exibido.
- Origem: Observado nas telas
CT09: Lançamento tipo “Acréscimo Manual” sem alterar custo
- Tipo: Positivo
- Pré-condição: Modal de Lançamento de Estoque aberto. Produto com custo médio já registrado.
- Dados de Entrada:
- Tipo de Operação:
Acréscimo Manual (+) - Produto:
18856 – AGUA DESTILADA 4X5L - Depósito:
Mercado Livre - Quantidade:
10 - Custo Unitário:
0,00(ou campo desabilitado — a validar) - Motivo:
Ajuste Manual
- Tipo de Operação:
- Passos:
- Selecionar “Acréscimo Manual (+)” no Passo 1
- Preencher produto, depósito, quantidade (10) e motivo
- Verificar se o campo Custo Unitário está desabilitado ou é ignorado
- Clicar em “Salvar”
- Resultado Esperado: Saldo do produto aumenta em 10 unidades. O custo médio unitário do produto não é alterado.
- Critério de Aprovação: Saldo anterior + 10. Custo médio permanece inalterado após o lançamento.
- Origem: Inferido (descrição da opção visível nas telas; comportamento completo a validar)
CT10: Lançamento tipo “Baixa Manual” reduz saldo
- Tipo: Positivo
- Pré-condição: Produto com saldo mínimo de 5 unidades no depósito selecionado.
- Dados de Entrada:
- Tipo de Operação:
Baixa Manual (-) - Produto:
18856 – AGUA DESTILADA 4X5L - Depósito:
Mercado Livre - Quantidade:
3 - Motivo:
Ajuste Manual
- Tipo de Operação:
- Passos:
- Selecionar “Baixa Manual (-)” no Passo 1
- Preencher produto, depósito e quantidade (3)
- Selecionar motivo
- Clicar em “Salvar”
- Resultado Esperado: Saldo físico do produto reduz em 3 unidades no depósito selecionado. Notificação de sucesso exibida.
- Critério de Aprovação: Saldo anterior − 3. Card DISPONÍVEL reflete nova quantidade.
- Origem: Inferido (opção visível nas telas; comportamento a validar)
CT11: Tentativa de salvar lançamento sem selecionar Produto
- Tipo: Negativo
- Pré-condição: Modal de Lançamento de Estoque aberto. Tipo de Operação selecionado. Campo Produto vazio.
- Dados de Entrada:
- Tipo de Operação:
Entrada de Compra - Produto: (vazio)
- Depósito:
Mercado Livre - Quantidade:
10 - Motivo:
Ajuste Manual
- Tipo de Operação:
- Passos:
- Selecionar “Entrada de Compra”
- Deixar o campo Produto vazio
- Preencher os demais campos
- Clicar em “Salvar”
- Resultado Esperado: O sistema bloqueia o envio e destaca o campo Produto como obrigatório (ex: borda vermelha, mensagem de validação). O modal permanece aberto.
- Critério de Aprovação: Nenhum lançamento é criado. Mensagem de campo obrigatório exibida para Produto.
- Origem: A validar
CT12: Tentativa de salvar lançamento sem selecionar Depósito
- Tipo: Negativo
- Pré-condição: Modal de Lançamento de Estoque aberto. Produto selecionado. Campo Depósito sem seleção.
- Dados de Entrada:
- Produto:
18856 – AGUA DESTILADA 4X5L - Depósito: (não selecionado)
- Quantidade:
10 - Motivo:
Ajuste Manual
- Produto:
- Passos:
- Selecionar “Entrada de Compra”
- Selecionar o produto
18856 - Não selecionar depósito
- Preencher quantidade e motivo
- Clicar em “Salvar”
- Resultado Esperado: Sistema bloqueia o envio e indica o campo Depósito como obrigatório.
- Critério de Aprovação: Lançamento não criado. Mensagem de validação no campo Depósito.
- Origem: A validar
CT13: Lançamento com quantidade zero ou negativa
- Tipo: Borda
- Pré-condição: Modal de Lançamento de Estoque aberto com todos os campos válidos.
- Dados de Entrada:
- Quantidade:
0(e depois repetir com-5)
- Quantidade:
- Passos:
- Preencher todos os campos corretamente
- Alterar o campo Quantidade para
0 - Clicar em “Salvar”
- Repetir com quantidade
-5
- Resultado Esperado: O sistema bloqueia o envio para quantidade
0e rejeita valores negativos no campo. Mensagem de validação deve indicar que a quantidade mínima é 1. - Critério de Aprovação: Lançamento não criado para quantidade ≤ 0. Mensagem de erro exibida.
- Origem: A validar (os controles +/− do campo sugerem valor mínimo de 0 — a confirmar o comportamento ao tentar salvar)
CT14: Custo unitário com valor zerado em “Entrada de Compra”
- Tipo: Borda
- Pré-condição: Modal de Lançamento de Estoque aberto. Tipo “Entrada de Compra” selecionado.
- Dados de Entrada:
- Tipo de Operação:
Entrada de Compra - Produto:
18856 – AGUA DESTILADA 4X5L - Depósito:
Mercado Livre - Quantidade:
10 - Custo Unitário:
0,00 - Motivo:
Ajuste Manual
- Tipo de Operação:
- Passos:
- Preencher todos os campos com os dados acima
- Manter Custo Unitário como
0,00 - Clicar em “Salvar”
- Resultado Esperado: Verificar se o sistema aceita custo zero (comportamento válido em casos de bonificação) ou exibe alerta de confirmação. O sistema não deve rejeitar silenciosamente a operação.
- Critério de Aprovação: Sistema salva com aviso ou bloqueia com mensagem clara. Nenhum comportamento indefinido.
- Origem: A validar
Grupo 3: Transferência entre Depósitos
CT15: Transferência de estoque entre dois depósitos com dados válidos
- Tipo: Positivo
- Pré-condição: Produto AGUA DESTILADA 4X5L (SKU 18856) com 55 unidades no depósito Mercado Livre. Depósito Trainmec existente e ativo.
- Dados de Entrada:
- Produto:
AGUA DESTILADA 4X5L(pré-selecionado) - Depósito de Origem:
Mercado Livre - Depósito de Destino:
Trainmec - Quantidade:
8 - Observação:
Transferencia
- Produto:
- Passos:
- Na linha do produto AGUA DESTILADA 4X5L na tabela, clicar em “Transferir”
- Confirmar que o produto está pré-selecionado no modal
- Selecionar “Mercado Livre” como depósito de origem
- Selecionar “Trainmec” como depósito de destino
- Informar quantidade
8 - Digitar observação
Transferencia - Clicar em “Confirmar Transferência”
- Resultado Esperado: Modal fecha. Notificação “Transferência realizada com sucesso!” aparece. Saldo do depósito Mercado Livre reduz de 55 para 47. Saldo do depósito Trainmec aumenta em 8. A coluna “DEPÓSITOS” do produto atualiza de “1 DEPÓSITO” para “2 DEPÓSITOS”. Total físico global permanece 55.
- Critério de Aprovação: Saldo Mercado Livre = 47. Saldo Trainmec = 8. Total físico = 55. Toast de sucesso exibido. Coluna DEPÓSITOS = “2 DEPÓSITOS”.
- Origem: Observado nas telas
CT16: Verificar que transferência não altera o total físico global
- Tipo: Positivo
- Pré-condição: Produto com saldo total de 55 unidades distribuídas em 2 depósitos após CT15.
- Dados de Entrada: Nenhuma nova entrada — verificação de dados
- Passos:
- Após a transferência de CT15, verificar o card “Disponível” no painel
- Filtrar pelo depósito Mercado Livre e anotar o saldo
- Filtrar pelo depósito Trainmec e anotar o saldo
- Somar os dois saldos
- Resultado Esperado: A soma dos saldos nos dois depósitos deve ser igual ao total físico anterior (55). O card “Disponível” não deve ter alterado o valor total.
- Critério de Aprovação: Saldo Mercado Livre + Saldo Trainmec = 55. Card DISPONÍVEL global = mesmo valor de antes da transferência.
- Origem: Observado nas telas (princípio da conservação de saldo)
CT17: Tentativa de transferência com quantidade maior que o saldo disponível
- Tipo: Negativo
- Pré-condição: Produto AGUA DESTILADA 4X5L com 55 unidades no depósito Mercado Livre.
- Dados de Entrada:
- Depósito de Origem:
Mercado Livre - Depósito de Destino:
Galpão A - Quantidade:
999
- Depósito de Origem:
- Passos:
- Clicar em “Transferir” na linha do produto
- Selecionar Mercado Livre como origem e Galpão A como destino
- Digitar
999no campo Quantidade - Clicar em “Confirmar Transferência”
- Resultado Esperado: Sistema bloqueia a transferência e exibe mensagem de erro indicando saldo insuficiente (ex: “Quantidade indisponível no depósito de origem”).
- Critério de Aprovação: Nenhuma movimentação criada. Saldo permanece inalterado. Mensagem de erro clara e específica exibida.
- Origem: A validar
CT18: Tentativa de transferência com mesmo depósito de origem e destino
- Tipo: Negativo
- Pré-condição: Modal de Transferência aberto.
- Dados de Entrada:
- Depósito de Origem:
Mercado Livre - Depósito de Destino:
Mercado Livre - Quantidade:
5
- Depósito de Origem:
- Passos:
- Abrir modal de Transferência
- Selecionar “Mercado Livre” tanto para origem quanto para destino
- Informar quantidade 5
- Clicar em “Confirmar Transferência”
- Resultado Esperado: Sistema bloqueia a operação e exibe mensagem informando que origem e destino não podem ser iguais.
- Critério de Aprovação: Transferência não criada. Mensagem de validação exibida.
- Origem: A validar
CT19: Transferência com quantidade mínima (1 unidade)
- Tipo: Borda
- Pré-condição: Produto com ao menos 1 unidade disponível no depósito de origem.
- Dados de Entrada:
- Depósito de Origem:
Mercado Livre - Depósito de Destino:
Galpão A - Quantidade:
1
- Depósito de Origem:
- Passos:
- Abrir modal de Transferência para o produto
- Selecionar origem e destino distintos
- Digitar
1no campo Quantidade - Clicar em “Confirmar Transferência”
- Resultado Esperado: Transferência realizada com sucesso para 1 unidade. Toast de sucesso exibido. Saldos atualizados corretamente.
- Critério de Aprovação: Saldo de origem reduz em 1. Saldo de destino aumenta em 1. Toast de sucesso visível.
- Origem: A validar (valor de borda para o campo quantidade)
CT20: Transferência com quantidade zero
- Tipo: Borda
- Pré-condição: Modal de Transferência aberto.
- Dados de Entrada:
- Quantidade:
0
- Quantidade:
- Passos:
- Abrir modal de Transferência
- Preencher origem e destino válidos
- Digitar
0no campo Quantidade - Clicar em “Confirmar Transferência”
- Resultado Esperado: Sistema bloqueia a operação com mensagem indicando que a quantidade mínima para transferência é 1.
- Critério de Aprovação: Nenhuma transferência criada. Mensagem de validação exibida.
- Origem: A validar
Grupo 4: Feedback Visual e UX
CT21: Toast de sucesso é exibido e desaparece automaticamente
- Tipo: Positivo
- Pré-condição: Qualquer operação de lançamento ou transferência realizada com sucesso.
- Dados de Entrada: Nenhum (verificação de comportamento UX)
- Passos:
- Realizar um lançamento ou transferência válido
- Observar o canto superior da tela após fechar o modal
- Aguardar 5–10 segundos sem interação
- Resultado Esperado: Toast com mensagem de sucesso aparece imediatamente após o modal fechar e some automaticamente após alguns segundos (sem necessidade de o usuário fechar manualmente).
- Critério de Aprovação: Toast visível por 3–8 segundos e depois desaparece. Tela principal permanece funcional.
- Origem: Observado nas telas (comportamento de desaparecimento inferido)
CT22: Indicador “Online & Sync” visível durante operações
- Tipo: Positivo
- Pré-condição: Usuário autenticado e conectado à internet.
- Dados de Entrada: Nenhum
- Passos:
- Acessar o módulo Estoque Unificado
- Observar o rodapé da barra lateral esquerda
- Resultado Esperado: O indicador “Online & Sync” está visível com ícone verde indicando conexão ativa e sincronização em tempo real.
- Critério de Aprovação: Texto “Online & Sync” visível no rodapé da barra lateral com indicador de status positivo (verde).
- Origem: Observado nas telas
CT23: Tabela atualiza em tempo real após operação sem recarregar a página
- Tipo: Positivo
- Pré-condição: Módulo Estoque Unificado carregado. Saldo do produto AGUA DESTILADA 4X5L conhecido antes da operação.
- Dados de Entrada: Qualquer lançamento ou transferência válida
- Passos:
- Anotar o saldo atual do produto na tabela
- Realizar um lançamento de +10 unidades
- Observar a tabela após o modal fechar (sem pressionar F5 ou recarregar)
- Resultado Esperado: A tabela atualiza automaticamente o saldo do produto sem recarregar a página. O novo valor reflete a operação realizada.
- Critério de Aprovação: Saldo na coluna Físico = saldo anterior + 10. URL permanece a mesma sem reload completo.
- Origem: Observado nas telas
📋 Regras de Negócio Testadas
-
RN01: Disponível = Físico − Reservado
- Casos de teste relacionados: CT01, CT08, CT16
-
RN02: “Entrada de Compra” atualiza o custo médio unitário; “Acréscimo Manual” não
- Casos de teste relacionados: CT08, CT09, CT14
-
RN03: Todo lançamento é vinculado a um depósito específico (não ao produto globalmente)
- Casos de teste relacionados: CT08, CT11, CT12
-
RN04: Transferência não altera o total físico global do produto
- Casos de teste relacionados: CT15, CT16
-
RN05: Produto pode ter saldo em múltiplos depósitos; coluna DEPÓSITOS indica o contador
- Casos de teste relacionados: CT15, CT16
-
RN06: Campos obrigatórios no lançamento: Tipo, Produto, Depósito, Quantidade (≥1), Motivo
- Casos de teste relacionados: CT11, CT12, CT13
-
RN07: Feedback visual (toast) exibido após toda operação concluída com sucesso
- Casos de teste relacionados: CT08, CT15, CT21
-
RN08: Sistema sincronizado em tempo real — tabela atualiza sem recarregar a página
- Casos de teste relacionados: CT23, CT22
⚠️ Cenários de Exceção
| Cenário | Campo/Ação | Comportamento Esperado | Status |
|---|---|---|---|
| Produto não preenchido no lançamento | Campo Produto | Bloquear envio + mensagem de campo obrigatório | A validar |
| Depósito não selecionado no lançamento | Campo Depósito | Bloquear envio + mensagem de campo obrigatório | A validar |
| Quantidade = 0 no lançamento | Campo Quantidade | Bloquear envio + mensagem de valor mínimo | A validar |
| Quantidade negativa no lançamento | Campo Quantidade | Campo deve rejeitar entrada negativa | A validar |
| Custo = R$ 0,00 em Entrada de Compra | Campo Custo Unitário | Aceitar com alerta ou bloquear com mensagem | A validar |
| Quantidade de transferência > saldo disponível | Campo Quantidade | Bloquear + “Saldo insuficiente no depósito de origem” | A validar |
| Origem = Destino na transferência | Seletor Depósito | Bloquear + “Origem e destino não podem ser iguais” | A validar |
| Quantidade = 0 na transferência | Campo Quantidade | Bloquear + mensagem de valor mínimo (mín. 1) | A validar |
| Usuário sem permissão ao módulo | Módulo Estoque Unificado | Item de menu oculto ou tela com mensagem de acesso negado | A validar |
| Sistema offline durante operação | Qualquer operação | Exibir mensagem de erro de conectividade; impedir perda de dados | A validar |
📊 Matriz de Cobertura
| Funcionalidade | CT Positivo | CT Negativo | CT Borda |
|---|---|---|---|
| Painel de métricas | CT01 | — | — |
| Listagem de inventário | CT02, CT03 | CT04 | — |
| Busca por produto/SKU | CT05 | CT06 | — |
| Lançamento — Entrada de Compra | CT07, CT08 | CT11, CT12 | CT13, CT14 |
| Lançamento — Acréscimo Manual | CT09 | — | — |
| Lançamento — Baixa Manual | CT10 | — | — |
| Transferência entre depósitos | CT15, CT16 | CT17, CT18 | CT19, CT20 |
| Feedback visual / UX | CT21, CT22, CT23 | — | — |
Total de casos de teste: 23 CTs
Positivos: 14 | Negativos: 6 | Borda: 6
Observados nas telas: 10 | Inferidos: 5 | A validar: 8