11 KiB
11 KiB
🧪 Backlog de QA e Estabilização (150 Atividades)
Este documento detalha 150 tarefas de validação, testes e melhorias para garantir a robustez da plataforma SaveInMed.
🔐 Autenticação e Segurança (15 atividades)
- Validar bloqueio de força bruta no login.
- Testar expiração de token JWT após 24h.
- Verificar se usuários sem
rolede admin acessam/api/v1/admin. - Validar reset de senha via e-mail (fluxo completo).
- Testar registro de empresa com CNPJ inválido.
- Validar se um usuário de uma empresa pode ver pedidos de outra empresa (Isolamento de Tenant).
- Testar sanitização de inputs contra SQL Injection em todos os filtros.
- Verificar proteção contra XSS no cadastro de descrição de produtos.
- Validar se o Password Pepper está sendo aplicado corretamente em novos cadastros.
- Testar login simultâneo em múltiplos dispositivos.
- Validar logout e invalidação imediata do token no client-side.
- Verificar se logs do sistema expõem senhas ou tokens (Segurança de Log).
- Testar upload de documentos de empresa com arquivos maliciosos (.exe, .js).
- Validar CORS apenas para domínios autorizados.
- Verificar headers de segurança (HSTS, CSP, X-Frame-Options).
📦 Catálogo e Busca (20 atividades)
- Validar filtro por validade (mínimo de dias) no backend.
- Testar busca por EAN com 13 dígitos.
- Testar busca por EAN com 14 dígitos.
- Verificar se produtos com estoque zero aparecem na busca pública.
- Validar mascaramento do
seller_idno JSON da busca pública. - Testar ordenação por menor preço.
- Testar ordenação por validade mais próxima.
- Validar paginação da busca (limite de 20, 50, 100 itens).
- Verificar se o filtro de categoria retorna produtos de subcategorias.
- Testar busca por termos com acentuação (ex: "Água").
- Validar exibição da distância (km) baseada no CEP do comprador.
- Testar comportamento da busca sem coordenadas de latitude/longitude.
- Verificar se a imagem do produto carrega corretamente via proxy de uploads.
- Testar importação massiva de produtos via CSV (1000+ itens).
- Validar erro ao importar CSV com colunas faltando.
- Verificar se o "nome social" do produto é exibido prioritariamente.
- Testar filtro de "Fabricante".
- Validar se a unidade de medida (caixa, frasco) está correta na listagem.
- Testar cache de resultados de busca frequentes.
- Verificar tempo de resposta da busca (< 500ms).
🛒 Carrinho e Checkout (25 atividades)
- Testar adição de itens de diferentes vendedores no mesmo carrinho (deve separar por pacote).
- Validar cálculo de subtotal por item (preço * quantidade).
- Verificar persistência do carrinho no
localStorage. - Testar remoção de itens do carrinho.
- Validar limite de estoque ao tentar adicionar mais itens do que o disponível.
- Testar fluxo de checkout sem estar logado (deve redirecionar para login).
- Validar cálculo de frete na Etapa 2 do Checkout.
- Testar seleção de frete grátis vs pago.
- Verificar se o valor do frete é somado corretamente ao total do pedido.
- Testar geração de Pix real via Mercado Pago no checkout.
- Testar geração de Pix real via Asaas no checkout.
- Validar exibição do QR Code Base64.
- Testar botão "Copia e Cola" do Pix no mobile.
- Verificar se o pedido é criado com status "Pendente" antes do pagamento.
- Validar limpeza do carrinho após finalização do pedido.
- Testar concorrência: dois usuários comprando o último item ao mesmo tempo.
- Verificar se cupons de desconto (se houver) aplicam corretamente.
- Testar checkout com endereço de entrega diferente do endereço da empresa.
- Validar se o botão "Finalizar Pedido" desabilita durante o processamento.
- Testar retorno de erro do gateway (cartão recusado).
- Verificar se o
order_idgerado segue o padrão UUIDv7. - Validar se o Split de 12% é calculado sobre o valor total (com frete?).
- Testar checkout com múltiplos itens de um mesmo lote.
- Verificar se a observação do pedido é salva corretamente.
- Validar tempo de expiração do Pix (30 min).
💳 Pagamentos e Webhooks (20 atividades)
- Validar recebimento de webhook do Mercado Pago para status "approved".
- Validar recebimento de webhook do Mercado Pago para status "rejected".
- Testar webhook do Asaas para status "PAYMENT_RECEIVED".
- Verificar se o status do pedido muda para "Pago" automaticamente via webhook.
- Testar idempotência dos webhooks (receber o mesmo ID 2x não deve duplicar log).
- Validar se a Fatura é marcada como paga automaticamente.
- Verificar logs de erro para webhooks com assinatura inválida.
- Testar consulta de status manual via endpoint
/paypara casos de falha de webhook. - Validar cálculo do
SellerReceivable(Total - 12%). - Verificar se o MarketplaceFee (12%) é registrado no Ledger.
- Testar estorno (Refund) via painel admin.
- Validar se o estorno atualiza o status do pedido para "Cancelado".
- Testar split de pagamento com vendedor que não tem conta configurada.
- Verificar logs de transação financeira no banco de dados.
- Validar se pagamentos com cartão de crédito pedem CPF/CNPJ corretamente.
- Testar fluxo de pagamento "Pendente" (ex: Boleto ou Pix não pago).
- Verificar se notificações push são enviadas ao vendedor após o pagamento.
- Validar se o comprador recebe e-mail de confirmação.
- Testar troca dinâmica de gateway via variável de ambiente.
- Verificar segurança da URL de notificação (não deve exigir auth mas deve ser validada).
📊 Dashboard do Vendedor (15 atividades)
- Validar cálculo do "Total de Vendas" no dashboard.
- Verificar se a lista de "Pedidos Recentes" mostra apenas os últimos 5.
- Testar botão "Ver Tudo" na lista de pedidos do dashboard.
- Validar alertas de estoque baixo (itens < 10 unidades).
- Verificar se produtos de outras empresas aparecem no dashboard (deve ser proibido).
- Testar atualização manual do status do pedido (Pendente -> Faturado).
- Validar se o vendedor pode baixar a nota fiscal (se implementado).
- Testar filtro por data no gráfico de vendas.
- Verificar exibição dos "Top Produtos" mais vendidos.
- Validar se o saldo disponível para saque está correto.
- Testar solicitação de saque (Withdrawal).
- Verificar histórico de extrato financeiro (Ledger).
- Validar se o vendedor pode editar apenas seus próprios produtos.
- Testar upload de logotipo da empresa.
- Verificar tempo de carregamento dos KPIs do dashboard.
🏢 Gestão de Empresas e Usuários (15 atividades)
- Validar cadastro de nova Farmácia Vendedora via Admin.
- Testar edição de dados cadastrais (Telefone, E-mail).
- Verificar se o CNPJ é validado via API externa (se integrado).
- Testar ativação/desativação de conta de empresa.
- Validar fluxo de "Completar Registro" para novos usuários.
- Testar adição de múltiplos colaboradores em uma mesma empresa.
- Verificar permissões de "Operador" vs "Proprietário".
- Validar se um usuário desativado consegue fazer login.
- Testar troca de senha dentro do perfil.
- Verificar se a categoria da empresa (Farmácia Compradora/Vendedora) altera o menu.
- Validar validação de CEP no cadastro de endereço.
- Testar se o mapa de calor de vendas funciona no Admin.
- Verificar se o histórico de acessos (Audit Log) está registrando logins.
- Testar remoção de colaborador da empresa.
- Validar se documentos da empresa (Alvará, CRF) são obrigatórios.
🚚 Logística e Frete (15 atividades)
- Validar raio de entrega máximo configurado pelo vendedor.
- Testar cálculo de frete por KM rodado.
- Testar cálculo de frete por faixa de CEP.
- Verificar comportamento quando o comprador está fora do raio de entrega.
- Testar frete grátis para pedidos acima de determinado valor.
- Validar geração de guia de transporte (Shipment).
- Verificar se o código de rastreio é enviado ao comprador.
- Testar atualização de status para "Em Trânsito".
- Validar se o custo do frete é repassado integralmente ao vendedor (ou retido?).
- Verificar integração com APIs de transportadoras (ex: Melhor Envio).
- Testar frete fixo por estado.
- Validar peso máximo por pedido para cálculo de frete.
- Verificar se o tempo de entrega estimado é realista.
- Testar cancelamento de entrega.
- Validar prova de entrega (assinatura ou foto).
🖥️ UX/UI e Responsividade (15 atividades)
- Testar menu lateral no mobile (deve ser colapsável).
- Verificar contraste de cores para acessibilidade (WCAG).
- Testar todos os botões no modo "Dark Mode" (se disponível).
- Validar mensagens de erro amigáveis no frontend (não exibir stack trace).
- Testar carregamento progressivo de imagens (Skeleton screen).
- Verificar se o modal de confirmação aparece antes de deletar algo.
- Testar usabilidade do filtro de validade no mobile (slider).
- Validar se o campo de busca limpa corretamente ao clicar no "X".
- Verificar consistência de fontes e tamanhos de texto.
- Testar navegação por teclado (Tab index) em formulários.
- Validar se estados de "Loading" aparecem em todas as chamadas de API.
- Verificar favicon e títulos das páginas no navegador.
- Testar comportamento de "Pull to Refresh" no mobile.
- Validar se tooltips de ajuda aparecem em campos complexos.
- Verificar se o layout quebra em resoluções 4K ou muito baixas (320px).
⚙️ DevOps e Infraestrutura (10 atividades)
- Validar tempo de Build do Docker (deve ser < 5 min).
- Verificar se o Hot Reload está funcionando no ambiente de dev.
- Testar restauração de backup do banco de dados Postgres.
- Validar limites de memória e CPU dos containers.
- Verificar se logs de erro são enviados para Sentry/CloudWatch.
- Testar escalabilidade: Simular 50 usuários simultâneos.
- Validar limpeza automática de arquivos temporários de upload.
- Verificar se a conexão com o banco usa SSL em produção.
- Testar tempo de inatividade (Downtime) durante deploy.
- Validar certificados SSL Let's Encrypt (auto-renovação).