# Testing — Cloudsy 🧪 ## 🎯 Objetivo Garantir que todas as funcionalidades da aplicação: - funcionam corretamente - são estáveis - oferecem boa experiência ao utilizador --- # 🧠 Tipos de Testes ## 1. Testes Funcionais Verificar se cada funcionalidade funciona como esperado. ## 2. Testes de UI/UX Garantir que: - interface é intuitiva - estados visuais funcionam (loading, error, empty) ## 3. Testes de Integração Verificar comunicação entre: - Flutter ↔ Firebase - App ↔ APIs (IA, lyrics) --- # 🔐 AUTHENTICATION ## Testes - [ ] Registo com email válido - [ ] Registo com password fraca → erro - [ ] Login com credenciais corretas - [ ] Login com credenciais erradas → erro - [ ] Logout funciona --- # 🎵 MÚSICA ## Upload - [ ] Upload de ficheiro válido - [ ] Upload falha → erro visível - [ ] Música aparece na lista após upload ## Player - [ ] Play funciona - [ ] Pause funciona - [ ] Barra de progresso atualiza - [ ] Música troca corretamente --- # 📂 PLAYLISTS - [ ] Criar playlist - [ ] Adicionar música - [ ] Remover música - [ ] Lista atualiza corretamente --- # 🤖 IA (Clou) ## Tagging - [ ] Música recebe género - [ ] Música recebe mood ## Chat - [ ] Responde a perguntas - [ ] Sugere músicas - [ ] Não crasha com inputs inválidos --- # 💬 DMs - [ ] Enviar mensagem de texto - [ ] Receber mensagem - [ ] Enviar música - [ ] Música aparece corretamente no chat --- # 🌍 LOCALIZAÇÃO - [ ] App inicia em português - [ ] Mudança para inglês funciona - [ ] UI atualiza sem restart - [ ] Nenhum texto hardcoded --- # 🎨 UI / UX ## Tema - [ ] Segue tema do telemóvel (system) - [ ] Dark mode funciona - [ ] Light mode funciona ## Botões - [ ] Todos são clicáveis - [ ] Feedback visual funciona - [ ] Bordas arredondadas consistentes --- # ⚡ ESTADOS DA APP ## Loading - [ ] Indicadores visuais presentes ## Empty - [ ] Mensagens amigáveis ## Error - [ ] Mensagens claras --- # 🔥 TESTES CRÍTICOS (DEMO) Antes da apresentação: - [ ] Login - [ ] Upload música - [ ] Player - [ ] IA tagging - [ ] Chat IA - [ ] Enviar música por DM --- # 🧠 DEBUGGING GUIDELINES ## Problemas comuns ### Firebase não responde - Verificar config - Verificar regras ### Upload falha - Verificar Storage rules ### IA não responde - Verificar API key --- # 🚀 NOTA FINAL Testes não precisam ser automatizados para este projeto. Mas: - Devem ser executados manualmente - Devem ser demonstráveis --- # 📌 CONCLUSÃO Um sistema testado: - reduz bugs - melhora UX - aumenta a qualidade percebida