Roteiro de Testes QA — ChatDigi
Convenções
| Coluna | Descrição |
|---|---|
| ID | Identificador único do caso |
| Tipo | P = Positivo / N = Negativo / E = Edge case |
Status de resultado: Aprovado / Reprovado / Bloqueado
Módulo 1 — Login e Autenticação
| ID | Descrição | Tipo |
|---|---|---|
| AUTH-01 | Login com credenciais válidas | P |
| AUTH-02 | Login com senha incorreta | N |
| AUTH-03 | Login com e-mail inexistente | N |
| AUTH-04 | Login com campos em branco | N |
| AUTH-05 | Login com e-mail sem formato válido | N |
| AUTH-06 | Logout com sessão ativa | P |
| AUTH-07 | Acesso a rota protegida sem autenticação | N |
| AUTH-08 | Recuperação de senha — e-mail válido | P |
| AUTH-09 | Recuperação de senha — e-mail inexistente | N |
| AUTH-10 | Uso de token de redefinição expirado | E |
| AUTH-11 | Uso de token de redefinição já utilizado | E |
| AUTH-12 | Cadastro com plano — dados completos válidos | P |
| AUTH-13 | Cadastro com e-mail já cadastrado | N |
| AUTH-14 | Cadastro com senha fraca | N |
| AUTH-15 | Persistência de sessão após refresh de página | E |
AUTH-01 — Login com credenciais válidas
Pré-condições: Usuário cadastrado e ativo.
Passos:
- Acessar a página de login.
- Inserir e-mail e senha válidos.
- Clicar em Entrar.
Resultado esperado: Redirecionamento para o painel principal. Token de sessão armazenado. Sem erros.
AUTH-02 — Login com senha incorreta
Pré-condições: Usuário cadastrado e ativo.
Passos:
- Inserir e-mail válido e senha incorreta.
- Clicar em Entrar.
Resultado esperado: Mensagem de erro exibida. Usuário permanece na tela de login.
AUTH-04 — Login com campos em branco
Passos:
- Deixar ambos os campos vazios.
- Clicar em Entrar.
Resultado esperado: Validação de campo obrigatório exibida. Requisição não enviada ao backend.
AUTH-06 — Logout com sessão ativa
Passos:
- Clicar no menu de usuário ou botão de logout.
Resultado esperado: Token removido. Redirecionamento para login. Não é possível voltar via botão do navegador sem reautenticar.
AUTH-07 — Acesso a rota protegida sem autenticação
Passos:
- Sem sessão ativa, digitar diretamente na URL uma rota protegida (ex:
/tickets).
Resultado esperado: Redirecionamento automático para a tela de login.
AUTH-08 — Recuperação de senha
Passos:
- Acessar "Esqueci minha senha".
- Inserir e-mail cadastrado.
- Acessar o link recebido por e-mail.
- Inserir nova senha e confirmar.
Resultado esperado: Senha alterada. Login com nova senha funciona.
AUTH-10 — Token de redefinição expirado
Pré-condições: Token gerado há mais tempo que o prazo configurado.
Resultado esperado: Mensagem de erro indicando que o link expirou. Senha não alterada.
AUTH-12 — Cadastro com plano
Passos:
- Preencher nome, e-mail, senha, confirmar senha, selecionar plano.
- Submeter.
Resultado esperado: Conta criada. Redirecionamento para painel ou tela de confirmação.
AUTH-15 — Persistência de sessão após refresh
Passos:
- Recarregar a página (F5).
Resultado esperado: Sessão mantida. Usuário não redirecionado para login.
Módulo 2 — Filas
| ID | Descrição | Tipo |
|---|---|---|
| FILA-01 | Criar fila com todos os campos válidos | P |
| FILA-02 | Criar fila sem nome | N |
| FILA-03 | Criar fila com nome duplicado | E |
| FILA-04 | Editar nome e cor de fila existente | P |
| FILA-05 | Definir mensagem de saudação | P |
| FILA-06 | Configurar horário de funcionamento | P |
| FILA-07 | Configurar tempo de encerramento automático | P |
| FILA-08 | Tempo de encerramento com valor zero ou negativo | N |
| FILA-09 | Excluir fila sem tickets vinculados | P |
| FILA-10 | Excluir fila com tickets ativos vinculados | E |
| FILA-11 | Listar filas cadastradas | P |
| FILA-12 | Fila sem horário de funcionamento definido | E |
FILA-01 — Criar fila com todos os campos
Pré-condições: Usuário admin autenticado.
Passos:
- Configurações > Filas > Adicionar Fila.
- Preencher nome, cor, mensagem de saudação.
- Configurar horário de funcionamento e tempo de encerramento.
- Salvar.
Resultado esperado: Fila criada e listada. Dados persistidos corretamente.
FILA-02 — Criar fila sem nome
Resultado esperado: Validação de campo obrigatório exibida. Fila não criada.
FILA-05 — Mensagem de saudação
Passos:
- Editar fila e inserir texto no campo de saudação.
- Salvar.
- Simular chegada de nova conversa nessa fila.
Resultado esperado: Mensagem enviada automaticamente ao contato ao início da conversa.
FILA-07 — Tempo de encerramento automático
Passos:
- Definir tempo de encerramento (ex: 60 min).
- Salvar.
Resultado esperado: Ticket inativo pelo tempo definido é encerrado automaticamente.
FILA-09 — Excluir fila sem tickets
Resultado esperado: Fila removida da lista. Dados apagados.
FILA-10 — Excluir fila com tickets ativos
Resultado esperado: Sistema bloqueia exclusão com mensagem explicativa ou solicita reatribuição dos tickets.
Módulo 3 — Conexões
| ID | Descrição | Tipo |
|---|---|---|
| CON-01 | Adicionar conexão WhatsApp e escanear QR Code | P |
| CON-02 | QR Code expirado sem escanear | E |
| CON-03 | Status CONECTADO exibido corretamente | P |
| CON-04 | Desconexão do WhatsApp e atualização de status | P |
| CON-05 | Reconexão após desconexão | P |
| CON-06 | Vincular fila a uma conexão | P |
| CON-07 | Remover vínculo de fila de uma conexão | P |
| CON-08 | Excluir conexão ativa | E |
| CON-09 | Excluir conexão com tickets abertos | E |
| CON-10 | Múltiplas conexões simultâneas | E |
| CON-11 | Conexão com número já vinculado em outra conta | N |
CON-01 — Adicionar conexão WhatsApp
Pré-condições: Número de WhatsApp disponível.
Passos:
- Conexões > Adicionar Conexão.
- Aguardar exibição do QR Code.
- Escanear com o app WhatsApp (Aparelhos Conectados > Conectar Aparelho).
Resultado esperado: Status muda para CONECTADO. Nome do número exibido. QR Code desaparece.
CON-02 — QR Code expirado
Resultado esperado: QR Code invalidado. Opção para gerar novo exibida com mensagem de expiração.
CON-04 — Desconexão e atualização de status
Passos:
- No WhatsApp do dispositivo, remover o aparelho vinculado.
- Verificar o status no ChatDigi.
Resultado esperado: Status atualizado para DESCONECTADO. Indicação visual de perda de conexão.
CON-06 — Vincular fila a uma conexão
Passos:
- Editar conexão.
- Selecionar uma ou mais filas.
- Salvar.
Resultado esperado: Tickets recebidos por essa conexão são encaminhados para as filas selecionadas.
CON-09 — Excluir conexão com tickets abertos
Resultado esperado: Sistema alerta sobre tickets abertos. Bloqueia exclusão ou solicita ação antes de prosseguir.
Módulo 4 — Tickets
| ID | Descrição | Tipo |
|---|---|---|
| TKT-01 | Ticket criado automaticamente ao receber mensagem | P |
| TKT-02 | Ticket aparece na coluna Aguardando | P |
| TKT-03 | Aceitar ticket e mover para Em Atendimento | P |
| TKT-04 | Resolver ticket | P |
| TKT-05 | Reabrir ticket resolvido | P |
| TKT-06 | Atribuir ticket a usuário específico | P |
| TKT-07 | Atribuir ticket a fila diferente | P |
| TKT-08 | Atribuir ticket a usuário sem permissão na fila | E |
| TKT-09 | Responder mensagem dentro do ticket | P |
| TKT-10 | Enviar mídia no ticket | P |
| TKT-11 | Usar resposta rápida no ticket | P |
| TKT-12 | Buscar ticket por contato ou número | P |
| TKT-13 | Filtrar tickets por fila | P |
| TKT-14 | Filtrar tickets por status | P |
| TKT-15 | Filtrar tickets por atendente | P |
| TKT-16 | Ticket encerrado automaticamente por inatividade | E |
| TKT-17 | Mensagem recebida em ticket já resolvido | E |
| TKT-18 | Agente acessa ticket de fila sem permissão | N |
| TKT-19 | Ticket transferido entre atendentes | P |
| TKT-20 | Histórico de mensagens preservado | P |
TKT-01 — Criação automática de ticket
Pré-condições: Conexão WhatsApp ativa. Fila vinculada.
Passos:
- Enviar mensagem de número externo para o WhatsApp vinculado.
Resultado esperado: Ticket criado automaticamente em Aguardando com dados do contato e mensagem recebida.
TKT-03 — Aceitar ticket
Passos:
- Abrir ticket em Aguardando.
- Clicar em Aceitar.
Resultado esperado: Ticket movido para Em Atendimento. Atendente e timestamp registrados.
TKT-04 — Resolver ticket
Passos:
- Abrir ticket em atendimento.
- Clicar em Resolver.
Resultado esperado: Ticket movido para Resolvido. Timestamp de encerramento registrado.
TKT-05 — Reabrir ticket resolvido
Passos:
- Localizar ticket resolvido.
- Clicar em Reabrir.
Resultado esperado: Ticket retorna para Aguardando. Histórico preservado.
TKT-09 — Responder mensagem
Pré-condições: Ticket em atendimento. Conexão ativa.
Passos:
- Digitar mensagem no campo de resposta.
- Enviar.
Resultado esperado: Mensagem entregue ao contato via WhatsApp. Exibida no histórico com indicação de enviado.
TKT-16 — Encerramento automático por inatividade
Pré-condições: Fila com tempo de encerramento configurado. Ticket sem resposta pelo período definido.
Resultado esperado: Ticket movido automaticamente para Resolvido com indicação de encerramento por inatividade.
TKT-17 — Mensagem recebida em ticket resolvido
Passos:
- Contato envia nova mensagem com ticket resolvido.
Resultado esperado: Sistema reabre o ticket ou cria novo. Agente notificado.
TKT-18 — Agente acessa ticket de outra fila
Pré-condições: Agente com acesso apenas à fila A. Ticket em fila B.
Resultado esperado: Acesso negado ou ticket não exibido na listagem do agente.
Módulo 5 — Usuários
| ID | Descrição | Tipo |
|---|---|---|
| USR-01 | Criar usuário com perfil admin | P |
| USR-02 | Criar usuário com perfil agente | P |
| USR-03 | Criar usuário com e-mail duplicado | N |
| USR-04 | Criar usuário sem e-mail ou nome | N |
| USR-05 | Editar nome e e-mail de usuário | P |
| USR-06 | Alterar perfil de agente para admin | P |
| USR-07 | Atribuir filas a um usuário agente | P |
| USR-08 | Remover fila de um usuário agente | P |
| USR-09 | Desativar usuário ativo | P |
| USR-10 | Usuário desativado tenta fazer login | N |
| USR-11 | Excluir usuário com tickets ativos | E |
| USR-12 | Admin exclui o próprio usuário | E |
| USR-13 | Agente tenta acessar painel de usuários | N |
USR-07 — Atribuir filas a agente
Passos:
- Editar usuário agente.
- Selecionar filas.
- Salvar.
Resultado esperado: Agente visualiza apenas tickets das filas atribuídas.
USR-09 — Desativar usuário
Resultado esperado: Status alterado para inativo. Usuário não aparece como opção de atribuição em tickets.
USR-10 — Usuário desativado tenta login
Resultado esperado: Login negado com mensagem de conta inativa. Sem acesso ao sistema.
USR-12 — Admin exclui o próprio usuário
Resultado esperado: Sistema impede a autoexclusão com mensagem de erro.
USR-13 — Agente acessa painel de usuários
Resultado esperado: Acesso negado. Rota não exibida no menu. URL direta resulta em erro de permissão.
Módulo 6 — Contatos
| ID | Descrição | Tipo |
|---|---|---|
| CTT-01 | Criar contato manualmente com dados completos | P |
| CTT-02 | Criar contato sem nome ou número | N |
| CTT-03 | Criar contato com número duplicado | E |
| CTT-04 | Buscar contato por nome | P |
| CTT-05 | Buscar contato por número | P |
| CTT-06 | Adicionar tag a contato | P |
| CTT-07 | Remover tag de contato | P |
| CTT-08 | Visualizar histórico de tickets do contato | P |
| CTT-09 | Editar dados de contato existente | P |
| CTT-10 | Excluir contato com tickets históricos | E |
CTT-03: Número duplicado deve resultar em erro ou merge, sem criação silenciosa de duplicata.
CTT-08: Aba de histórico deve listar todos os tickets anteriores com data, fila e status.
CTT-10: Sistema deve alertar sobre histórico vinculado antes de excluir.
Módulo 7 — Campanhas
| ID | Descrição | Tipo |
|---|---|---|
| CAM-01 | Criar campanha com lista de contatos válida | P |
| CAM-02 | Agendar campanha para data/hora futura | P |
| CAM-03 | Enviar campanha imediatamente | P |
| CAM-04 | Campanha com lista de contatos vazia | N |
| CAM-05 | Cancelar campanha agendada | P |
| CAM-06 | Verificar status de envio (enviado/pendente/falha) | P |
| CAM-07 | Campanha com conexão desconectada | N |
CAM-07: Com conexão DESCONECTADA, sistema deve reportar falha e não marcar contatos como enviados.
Módulo 8 — Automação / Chatbot
| ID | Descrição | Tipo |
|---|---|---|
| BOT-01 | Criar fluxo simples de chatbot | P |
| BOT-02 | Ativar fluxo e testar resposta automática | P |
| BOT-03 | Fluxo sem nó de saída definido | E |
| BOT-04 | Desativar fluxo ativo | P |
| BOT-05 | Fluxo com integração n8n configurada | P |
| BOT-06 | Conflito entre chatbot ativo e atendente manual | E |
| BOT-07 | Resposta automática fora do horário de funcionamento | P |
BOT-06: Quando agente assume o ticket, chatbot deve ser suspenso automaticamente para esse ticket.
BOT-07: Fora do horário, fluxo deve enviar mensagem de expediente encerrado e pausar a fila corretamente.
Módulo 9 — Configurações Gerais
| ID | Descrição | Tipo |
|---|---|---|
| CFG-01 | Criar resposta rápida | P |
| CFG-02 | Usar resposta rápida em ticket via atalho | P |
| CFG-03 | Criar tag e aplicar a contato | P |
| CFG-04 | Configurar horário de funcionamento global | P |
| CFG-05 | Editar configurações gerais (nome, logo) | P |
| CFG-06 | Agente acessa configurações restritas a admin | N |
Smoke Test — Antes de Cada Release
Execute antes de qualquer publicação. Tempo estimado: 20–30 min.
| # | Item | Responsável | Status |
|---|---|---|---|
| 1 | Login com credenciais válidas funciona | ||
| 2 | Logout encerra sessão corretamente | ||
| 3 | Listagem de tickets carrega sem erro | ||
| 4 | Conexão WhatsApp exibe status correto | ||
| 5 | Ticket recebido aparece em Aguardando | ||
| 6 | Aceitar ticket move para Em Atendimento | ||
| 7 | Resposta enviada chega ao contato | ||
| 8 | Resolver ticket move para Resolvido | ||
| 9 | Listagem de contatos carrega | ||
| 10 | Listagem de filas carrega e exibe dados | ||
| 11 | CRUD básico de usuário (criar + editar) | ||
| 12 | Filtro de tickets por fila funciona |
Classificação de Severidade
| Severidade | Critério | Exemplo |
|---|---|---|
| Critico | Sistema inoperante ou perda de dados | Login não funciona, mensagens não enviadas |
| Alto | Funcionalidade core quebrada sem workaround | Ticket não criado ao receber mensagem |
| Médio | Funcionalidade afetada com workaround disponível | Filtro de fila não funciona mas lista geral sim |
| Baixo | Problema visual, UX ou texto | Label errada, cor fora do padrão |
Critérios de Saída
- Todos os itens do smoke test aprovados.
- Zero bugs críticos ou bloqueadores abertos.
- Bugs altos com plano de correção ou workaround documentado.
- Cobertura dos módulos core (Login, Filas, Conexões, Tickets, Usuários): 100% dos casos executados.
- Evidências registradas para todos os casos reprovados.