171 lines
11 KiB
Markdown
171 lines
11 KiB
Markdown
# 🧪 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)
|
|
1. [ ] Validar bloqueio de força bruta no login.
|
|
2. [ ] Testar expiração de token JWT após 24h.
|
|
3. [ ] Verificar se usuários sem `role` de admin acessam `/api/v1/admin`.
|
|
4. [ ] Validar reset de senha via e-mail (fluxo completo).
|
|
5. [ ] Testar registro de empresa com CNPJ inválido.
|
|
6. [ ] Validar se um usuário de uma empresa pode ver pedidos de outra empresa (Isolamento de Tenant).
|
|
7. [ ] Testar sanitização de inputs contra SQL Injection em todos os filtros.
|
|
8. [ ] Verificar proteção contra XSS no cadastro de descrição de produtos.
|
|
9. [ ] Validar se o Password Pepper está sendo aplicado corretamente em novos cadastros.
|
|
10. [ ] Testar login simultâneo em múltiplos dispositivos.
|
|
11. [ ] Validar logout e invalidação imediata do token no client-side.
|
|
12. [ ] Verificar se logs do sistema expõem senhas ou tokens (Segurança de Log).
|
|
13. [ ] Testar upload de documentos de empresa com arquivos maliciosos (.exe, .js).
|
|
14. [ ] Validar CORS apenas para domínios autorizados.
|
|
15. [ ] Verificar headers de segurança (HSTS, CSP, X-Frame-Options).
|
|
|
|
## 📦 Catálogo e Busca (20 atividades)
|
|
16. [ ] Validar filtro por validade (mínimo de dias) no backend.
|
|
17. [ ] Testar busca por EAN com 13 dígitos.
|
|
18. [ ] Testar busca por EAN com 14 dígitos.
|
|
19. [ ] Verificar se produtos com estoque zero aparecem na busca pública.
|
|
20. [ ] Validar mascaramento do `seller_id` no JSON da busca pública.
|
|
21. [ ] Testar ordenação por menor preço.
|
|
22. [ ] Testar ordenação por validade mais próxima.
|
|
23. [ ] Validar paginação da busca (limite de 20, 50, 100 itens).
|
|
24. [ ] Verificar se o filtro de categoria retorna produtos de subcategorias.
|
|
25. [ ] Testar busca por termos com acentuação (ex: "Água").
|
|
26. [ ] Validar exibição da distância (km) baseada no CEP do comprador.
|
|
27. [ ] Testar comportamento da busca sem coordenadas de latitude/longitude.
|
|
28. [ ] Verificar se a imagem do produto carrega corretamente via proxy de uploads.
|
|
29. [ ] Testar importação massiva de produtos via CSV (1000+ itens).
|
|
30. [ ] Validar erro ao importar CSV com colunas faltando.
|
|
31. [ ] Verificar se o "nome social" do produto é exibido prioritariamente.
|
|
32. [ ] Testar filtro de "Fabricante".
|
|
33. [ ] Validar se a unidade de medida (caixa, frasco) está correta na listagem.
|
|
34. [ ] Testar cache de resultados de busca frequentes.
|
|
35. [ ] Verificar tempo de resposta da busca (< 500ms).
|
|
|
|
## 🛒 Carrinho e Checkout (25 atividades)
|
|
36. [ ] Testar adição de itens de diferentes vendedores no mesmo carrinho (deve separar por pacote).
|
|
37. [ ] Validar cálculo de subtotal por item (preço * quantidade).
|
|
38. [ ] Verificar persistência do carrinho no `localStorage`.
|
|
39. [ ] Testar remoção de itens do carrinho.
|
|
40. [ ] Validar limite de estoque ao tentar adicionar mais itens do que o disponível.
|
|
41. [ ] Testar fluxo de checkout sem estar logado (deve redirecionar para login).
|
|
42. [ ] Validar cálculo de frete na Etapa 2 do Checkout.
|
|
43. [ ] Testar seleção de frete grátis vs pago.
|
|
44. [ ] Verificar se o valor do frete é somado corretamente ao total do pedido.
|
|
45. [ ] Testar geração de Pix real via Mercado Pago no checkout.
|
|
46. [ ] Testar geração de Pix real via Asaas no checkout.
|
|
47. [ ] Validar exibição do QR Code Base64.
|
|
48. [ ] Testar botão "Copia e Cola" do Pix no mobile.
|
|
49. [ ] Verificar se o pedido é criado com status "Pendente" antes do pagamento.
|
|
50. [ ] Validar limpeza do carrinho após finalização do pedido.
|
|
51. [ ] Testar concorrência: dois usuários comprando o último item ao mesmo tempo.
|
|
52. [ ] Verificar se cupons de desconto (se houver) aplicam corretamente.
|
|
53. [ ] Testar checkout com endereço de entrega diferente do endereço da empresa.
|
|
54. [ ] Validar se o botão "Finalizar Pedido" desabilita durante o processamento.
|
|
55. [ ] Testar retorno de erro do gateway (cartão recusado).
|
|
56. [ ] Verificar se o `order_id` gerado segue o padrão UUIDv7.
|
|
57. [ ] Validar se o Split de 12% é calculado sobre o valor total (com frete?).
|
|
58. [ ] Testar checkout com múltiplos itens de um mesmo lote.
|
|
59. [ ] Verificar se a observação do pedido é salva corretamente.
|
|
60. [ ] Validar tempo de expiração do Pix (30 min).
|
|
|
|
## 💳 Pagamentos e Webhooks (20 atividades)
|
|
61. [ ] Validar recebimento de webhook do Mercado Pago para status "approved".
|
|
62. [ ] Validar recebimento de webhook do Mercado Pago para status "rejected".
|
|
63. [ ] Testar webhook do Asaas para status "PAYMENT_RECEIVED".
|
|
64. [ ] Verificar se o status do pedido muda para "Pago" automaticamente via webhook.
|
|
65. [ ] Testar idempotência dos webhooks (receber o mesmo ID 2x não deve duplicar log).
|
|
66. [ ] Validar se a Fatura é marcada como paga automaticamente.
|
|
67. [ ] Verificar logs de erro para webhooks com assinatura inválida.
|
|
68. [ ] Testar consulta de status manual via endpoint `/pay` para casos de falha de webhook.
|
|
69. [ ] Validar cálculo do `SellerReceivable` (Total - 12%).
|
|
70. [ ] Verificar se o MarketplaceFee (12%) é registrado no Ledger.
|
|
71. [ ] Testar estorno (Refund) via painel admin.
|
|
72. [ ] Validar se o estorno atualiza o status do pedido para "Cancelado".
|
|
73. [ ] Testar split de pagamento com vendedor que não tem conta configurada.
|
|
74. [ ] Verificar logs de transação financeira no banco de dados.
|
|
75. [ ] Validar se pagamentos com cartão de crédito pedem CPF/CNPJ corretamente.
|
|
76. [ ] Testar fluxo de pagamento "Pendente" (ex: Boleto ou Pix não pago).
|
|
77. [ ] Verificar se notificações push são enviadas ao vendedor após o pagamento.
|
|
78. [ ] Validar se o comprador recebe e-mail de confirmação.
|
|
79. [ ] Testar troca dinâmica de gateway via variável de ambiente.
|
|
80. [ ] Verificar segurança da URL de notificação (não deve exigir auth mas deve ser validada).
|
|
|
|
## 📊 Dashboard do Vendedor (15 atividades)
|
|
81. [ ] Validar cálculo do "Total de Vendas" no dashboard.
|
|
82. [ ] Verificar se a lista de "Pedidos Recentes" mostra apenas os últimos 5.
|
|
83. [ ] Testar botão "Ver Tudo" na lista de pedidos do dashboard.
|
|
84. [ ] Validar alertas de estoque baixo (itens < 10 unidades).
|
|
85. [ ] Verificar se produtos de outras empresas aparecem no dashboard (deve ser proibido).
|
|
86. [ ] Testar atualização manual do status do pedido (Pendente -> Faturado).
|
|
87. [ ] Validar se o vendedor pode baixar a nota fiscal (se implementado).
|
|
88. [ ] Testar filtro por data no gráfico de vendas.
|
|
89. [ ] Verificar exibição dos "Top Produtos" mais vendidos.
|
|
90. [ ] Validar se o saldo disponível para saque está correto.
|
|
91. [ ] Testar solicitação de saque (Withdrawal).
|
|
92. [ ] Verificar histórico de extrato financeiro (Ledger).
|
|
93. [ ] Validar se o vendedor pode editar apenas seus próprios produtos.
|
|
94. [ ] Testar upload de logotipo da empresa.
|
|
95. [ ] Verificar tempo de carregamento dos KPIs do dashboard.
|
|
|
|
## 🏢 Gestão de Empresas e Usuários (15 atividades)
|
|
96. [ ] Validar cadastro de nova Farmácia Vendedora via Admin.
|
|
97. [ ] Testar edição de dados cadastrais (Telefone, E-mail).
|
|
98. [ ] Verificar se o CNPJ é validado via API externa (se integrado).
|
|
99. [ ] Testar ativação/desativação de conta de empresa.
|
|
100. [ ] Validar fluxo de "Completar Registro" para novos usuários.
|
|
101. [ ] Testar adição de múltiplos colaboradores em uma mesma empresa.
|
|
102. [ ] Verificar permissões de "Operador" vs "Proprietário".
|
|
103. [ ] Validar se um usuário desativado consegue fazer login.
|
|
104. [ ] Testar troca de senha dentro do perfil.
|
|
105. [ ] Verificar se a categoria da empresa (Farmácia Compradora/Vendedora) altera o menu.
|
|
106. [ ] Validar validação de CEP no cadastro de endereço.
|
|
107. [ ] Testar se o mapa de calor de vendas funciona no Admin.
|
|
108. [ ] Verificar se o histórico de acessos (Audit Log) está registrando logins.
|
|
109. [ ] Testar remoção de colaborador da empresa.
|
|
110. [ ] Validar se documentos da empresa (Alvará, CRF) são obrigatórios.
|
|
|
|
## 🚚 Logística e Frete (15 atividades)
|
|
111. [ ] Validar raio de entrega máximo configurado pelo vendedor.
|
|
112. [ ] Testar cálculo de frete por KM rodado.
|
|
113. [ ] Testar cálculo de frete por faixa de CEP.
|
|
114. [ ] Verificar comportamento quando o comprador está fora do raio de entrega.
|
|
115. [ ] Testar frete grátis para pedidos acima de determinado valor.
|
|
116. [ ] Validar geração de guia de transporte (Shipment).
|
|
117. [ ] Verificar se o código de rastreio é enviado ao comprador.
|
|
118. [ ] Testar atualização de status para "Em Trânsito".
|
|
119. [ ] Validar se o custo do frete é repassado integralmente ao vendedor (ou retido?).
|
|
120. [ ] Verificar integração com APIs de transportadoras (ex: Melhor Envio).
|
|
121. [ ] Testar frete fixo por estado.
|
|
122. [ ] Validar peso máximo por pedido para cálculo de frete.
|
|
123. [ ] Verificar se o tempo de entrega estimado é realista.
|
|
124. [ ] Testar cancelamento de entrega.
|
|
125. [ ] Validar prova de entrega (assinatura ou foto).
|
|
|
|
## 🖥️ UX/UI e Responsividade (15 atividades)
|
|
126. [ ] Testar menu lateral no mobile (deve ser colapsável).
|
|
127. [ ] Verificar contraste de cores para acessibilidade (WCAG).
|
|
128. [ ] Testar todos os botões no modo "Dark Mode" (se disponível).
|
|
129. [ ] Validar mensagens de erro amigáveis no frontend (não exibir stack trace).
|
|
130. [ ] Testar carregamento progressivo de imagens (Skeleton screen).
|
|
131. [ ] Verificar se o modal de confirmação aparece antes de deletar algo.
|
|
132. [ ] Testar usabilidade do filtro de validade no mobile (slider).
|
|
133. [ ] Validar se o campo de busca limpa corretamente ao clicar no "X".
|
|
134. [ ] Verificar consistência de fontes e tamanhos de texto.
|
|
135. [ ] Testar navegação por teclado (Tab index) em formulários.
|
|
136. [ ] Validar se estados de "Loading" aparecem em todas as chamadas de API.
|
|
137. [ ] Verificar favicon e títulos das páginas no navegador.
|
|
138. [ ] Testar comportamento de "Pull to Refresh" no mobile.
|
|
139. [ ] Validar se tooltips de ajuda aparecem em campos complexos.
|
|
140. [ ] Verificar se o layout quebra em resoluções 4K ou muito baixas (320px).
|
|
|
|
## ⚙️ DevOps e Infraestrutura (10 atividades)
|
|
141. [ ] Validar tempo de Build do Docker (deve ser < 5 min).
|
|
142. [ ] Verificar se o Hot Reload está funcionando no ambiente de dev.
|
|
143. [ ] Testar restauração de backup do banco de dados Postgres.
|
|
144. [ ] Validar limites de memória e CPU dos containers.
|
|
145. [ ] Verificar se logs de erro são enviados para Sentry/CloudWatch.
|
|
146. [ ] Testar escalabilidade: Simular 50 usuários simultâneos.
|
|
147. [ ] Validar limpeza automática de arquivos temporários de upload.
|
|
148. [ ] Verificar se a conexão com o banco usa SSL em produção.
|
|
149. [ ] Testar tempo de inatividade (Downtime) durante deploy.
|
|
150. [ ] Validar certificados SSL Let's Encrypt (auto-renovação).
|