178 lines
2.6 KiB
Markdown
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
|
|
|