Skip to content

Plano de Teste Extensivo (Web) - Canta Igreja

Data: 2026-05-14 Alvo: https://meu.canta.app Base de apoio: docs/reversa (arquitetura, dominio, state-machines, permissoes)

1) Analise exploratoria consolidada

1.1 Funcionalidades identificadas no deploy

  1. Navegacao principal

  2. Tabs: Inicio, Busca, Repertorios

  3. Atalhos na home: Buscar musica, Meus repertorios, Liturgia diaria, Ver todas as sugestoes

  4. Sugestoes de repertorio

  5. Lista de sugestoes por data liturgica

  6. Detalhe da sugestao com musicas recomendadas
  7. Conversao de sugestao em repertorio do usuario

  8. Repertorios

  9. Criar repertorio

  10. Renomear repertorio
  11. Duplicar repertorio
  12. Definir data
  13. Excluir repertorio
  14. Itens de repertorio (musica catalogada ou termo livre)

  15. Busca de musicas

  16. Campo de busca por trecho

  17. Filtros: Momento, Tempo liturgico e Outro
  18. Fluxo de incluir termo livre em repertorio (na tela de inclusao para repertorio)

  19. Tela de musica

  20. Visualizacao de letra

  21. Favoritar/desfavoritar
  22. Navegar para musica anterior/posterior (quando em contexto de repertorio)
  23. Modal de livros da musica
  24. Compartilhar
  25. Relatar erro
  26. Configuracoes de leitura (fonte, refrão, estilo)

  27. Configuracoes

  28. Tema

  29. Login Google
  30. Letras de musicas baixadas (selecoes de biblioteca)
  31. Atualizar biblioteca
  32. Aparencia da letra

  33. Repertorios padrao

  34. Musicas favoritas

  35. Musicas vistas recentemente

1.2 Cobertura por dominio funcional (visao macro)

  • Home e navegacao: coberto na exploracao
  • Busca e filtros: coberto na exploracao
  • Sugestoes e conversao: coberto na exploracao
  • Repertorios CRUD: coberto na exploracao
  • Musica e acoes contextuais: coberto na exploracao
  • Configuracoes e biblioteca: coberto na exploracao
  • Autenticacao Google: coberto (erro identificado)

2) Achados iniciais (erros observados na exploracao)

  1. Erro de autenticacao Google

  2. Sintoma: TypeError reading authorize

  3. Fluxos onde apareceu: Compartilhar repertorio e Entrar com conta Google
  4. Evidencia de stack: bundle principal (index-*.js), camada de auth

  5. Erro ao salvar Momento/Tonalidade

  6. Sintoma: TypeError: Cannot assign to read only property 'valor' of object

  7. Fluxos onde apareceu: Modal de Momento e modal de Tonalidade na tela de musica
  8. Evidencia de stack: MomentoModalScreen e YoutubeBarPlayerView no bundle

  9. Erro de estado ao voltar de fluxo de musica/repertorio

  10. Sintoma: TypeError reading ids

  11. Fluxo: retorno para repertorio apos navegacao em musica
  12. Evidencia de stack: MusicasRepertorioPadraoScreen

  13. Erro de infraestrutura de layout

  14. Sintoma: No safe area value available (SafeAreaProvider)

  15. Fluxo: apos navegacoes especificas de volta

  16. Comportamento inconsistente na busca e em atalhos

  17. Liturgia diaria na home nem sempre navega

  18. Busca na tela /busca pode nao renderizar lista de resultado mesmo com termo
  19. Campo de busca em SugestoesRepertorioLista nao persistiu valor durante testes

3) Estrategia de teste extensivo

Onda 1 - Smoke (P0)

Objetivo: validar caminhos criticos e disponibilidade do produto.

Casos:

  1. Home abre com tabs principais
  2. Navegacao entre tabs funciona
  3. Abertura de sugestao funciona
  4. Conversao de sugestao em repertorio funciona
  5. Configuracoes abrem e atualizacao de biblioteca responde

Onda 2 - Regressao funcional (P1)

Objetivo: validar regras de negocio principais por modulo.

Casos:

  1. Repertorios: criar, renomear, duplicar, excluir
  2. Repertorio: incluir termo livre
  3. Busca: filtros Momento/Tempo/Outro
  4. Musica: favoritar, livros, compartilhar, relatar erro
  5. Repertorios padrao: favoritas e recentes

Onda 3 - Regressao tecnica (P1/P2)

Objetivo: capturar erros de runtime e regressao de console.

Casos:

  1. Guardrails de console na autenticacao
  2. Guardrails de console ao salvar Momento
  3. Guardrails de console ao salvar Tonalidade
  4. Guardrails de console em retorno de navegacao

Onda 4 - Exaustivo (P2)

Objetivo: profundidade por estado e combinacoes.

Casos:

  1. Matriz de filtros (termo x momento x tempo x outro)
  2. Repertorios com volumes altos de itens
  3. Fluxo de data liturgica e associacao de sugestoes
  4. Cross-browser e viewport (desktop/mobile)

4) Arquivos Playwright gerados para execucao futura

Local:

  • app/e2e/playwright

Arquivos:

  1. playwright.config.ts
  2. helpers/app.ts
  3. helpers/consoleWatch.ts
  4. tests/00-smoke-navigation.spec.ts
  5. tests/10-home-sugestoes.spec.ts
  6. tests/20-repertorios-crud.spec.ts
  7. tests/30-busca-filtros.spec.ts
  8. tests/40-musica-detalhes.spec.ts
  9. tests/50-configuracoes.spec.ts
  10. tests/60-console-regression.spec.ts
  11. README.md

5) Mapeamento de cobertura (suite x modulo)

  • 00-smoke-navigation: navegacao macro, home, tabs
  • 10-home-sugestoes: home + sugestoes + criar repertorio a partir de sugestao
  • 20-repertorios-crud: ciclo de vida de repertorio
  • 30-busca-filtros: busca e filtros liturgicos
  • 40-musica-detalhes: acoes da tela de musica
  • 50-configuracoes: preferencias, biblioteca e login
  • 60-console-regression: deteccao de erros de runtime

6) Monitoramento de console (padrao do plano)

Cada teste anexa:

  • browser-issues.json (todos os eventos)
  • browser-critical-issues.json (erros criticos)

Regras:

  1. Warnings operacionais conhecidos podem ficar em allowlist
  2. Erros de runtime devem falhar nas suites guardrails
  3. pageerror sempre exige investigacao
  4. requestfailed precisa ser triado por criticidade de impacto

7) Preparacao de dados para execucao

  1. Limpar estado local antes do ciclo (quando necessario)
  2. Criar dados de teste com nomes unicos por timestamp
  3. Evitar dependencia de conta real para casos anonimos
  4. Se houver conta de QA, separar suite autenticada da anonima

8) Criterio de saida por onda

  • Onda 1: 100% dos casos P0 executados
  • Onda 2: >= 95% dos casos P1 aprovados
  • Onda 3: 0 erro critico em guardrails
  • Onda 4: cobertura de combinacoes prioritarias definida no backlog

9) Proximo passo recomendado

Executar a suite 60-console-regression.spec.ts primeiro para materializar rapidamente os erros de runtime ja observados na exploracao, depois rodar as suites funcionais para amplitude de cobertura.