Files
Cloudsy/docs/13_testing.md
2026-04-29 16:58:09 +01:00

178 lines
2.6 KiB
Markdown

# 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