🧪 Piano Test E2E Multi-Piattaforma
Questo documento descrive tutti i flussi da testare per garantire la qualità delle applicazioni Visla GPS su tutte le piattaforme.
Legenda
| Simbolo | Significato |
|---|---|
| ✅ | Test implementato |
| ⬜ | Da implementare |
| 🔄 | In corso |
| N/A | Non applicabile |
1. 🔐 Authentication
| Test Case | Descrizione | iOS | Android | Web |
|---|---|---|---|---|
| AUTH-001 | Registrazione email/password | ✅ | ⬜ | ⬜ |
| AUTH-002 | Verifica OTP via email | ✅ | ⬜ | ⬜ |
| AUTH-003 | Login email/password | ⬜ | ⬜ | ⬜ |
| AUTH-004 | Login con Google OAuth | ⬜ | ⬜ | ⬜ |
| AUTH-005 | Login con Apple | ⬜ | N/A | N/A |
| AUTH-006 | Logout | ⬜ | ⬜ | ⬜ |
| AUTH-007 | Password dimenticata | ⬜ | ⬜ | ⬜ |
| AUTH-008 | Reset password | ⬜ | ⬜ | ⬜ |
| AUTH-009 | Sessione scaduta (401) | ⬜ | ⬜ | ⬜ |
Dettagli Test AUTH
AUTH-001: Registrazione
Precondizioni: App installata, nessun utente loggato
Steps:
- Tap "Sign Up"
- Inserisci nome, email, password
- Accetta termini
- Tap "Create Account"
- Verifica email con OTP
Expected: Utente registrato e loggato con tab bar visibile
2. 📱 Devices Management
| Test Case | Descrizione | iOS | Android | Web |
|---|---|---|---|---|
| DEV-001 | Visualizza lista dispositivi | ⬜ | ⬜ | ⬜ |
| DEV-002 | Add device con token (con licenza) | ✅ | ⬜ | ⬜ |
| DEV-003 | Add device senza licenza → subscription | ✅ | ⬜ | ⬜ |
| DEV-004 | Modifica nome dispositivo | ⬜ | ⬜ | ⬜ |
| DEV-005 | Rimuovi dispositivo | ⬜ | ⬜ | ⬜ |
| DEV-006 | Refresh lista dispositivi | ⬜ | ⬜ | ⬜ |
| DEV-007 | Device offline indicator | ⬜ | ⬜ | ⬜ |
Dettagli Test DEV
DEV-002: Add Device con Token
Precondizioni: Utente loggato con licenza attiva
Steps:
- Navigate to Devices tab
- Tap "Add Device" button
- Inserisci token dispositivo
- Conferma
Expected: Dispositivo aggiunto alla lista
3. 🗺️ Map & Tracking
| Test Case | Descrizione | iOS | Android | Web |
|---|---|---|---|---|
| MAP-001 | Visualizza mappa | ⬜ | ⬜ | ⬜ |
| MAP-002 | Marker posizione dispositivo | ⬜ | ⬜ | ⬜ |
| MAP-003 | Aggiornamento real-time posizione | ⬜ | ⬜ | ⬜ |
| MAP-004 | Info batteria nel marker | ⬜ | ⬜ | ⬜ |
| MAP-005 | Centra mappa su dispositivo | ⬜ | ⬜ | ⬜ |
| MAP-006 | Zoom in/out | ⬜ | ⬜ | ⬜ |
| MAP-007 | Cambio tipo mappa (satellite/street) | ⬜ | ⬜ | ⬜ |
4. 📍 Position History (Timeline)
| Test Case | Descrizione | iOS | Android | Web |
|---|---|---|---|---|
| HIST-001 | Visualizza storico posizioni | ⬜ | ⬜ | ⬜ |
| HIST-002 | Filtra per data | ⬜ | ⬜ | ⬜ |
| HIST-003 | Filtra per range date | ⬜ | ⬜ | ⬜ |
| HIST-004 | Play percorso animato | ⬜ | ⬜ | ⬜ |
| HIST-005 | Export storico (CSV/GPX) | ⬜ | ⬜ | ⬜ |
5. 🔵 Geofences
| Test Case | Descrizione | iOS | Android | Web |
|---|---|---|---|---|
| GEO-001 | Visualizza lista geofence | ⬜ | ⬜ | ⬜ |
| GEO-002 | Crea geofence circolare | ⬜ | ⬜ | ⬜ |
| GEO-003 | Modifica raggio geofence | ⬜ | ⬜ | ⬜ |
| GEO-004 | Modifica nome geofence | ⬜ | ⬜ | ⬜ |
| GEO-005 | Elimina geofence | ⬜ | ⬜ | ⬜ |
| GEO-006 | Notifica ingresso geofence | ⬜ | ⬜ | ⬜ |
| GEO-007 | Notifica uscita geofence | ⬜ | ⬜ | ⬜ |
| GEO-008 | Toggle notifiche per geofence | ⬜ | ⬜ | ⬜ |
6. 📡 Commands
| Test Case | Descrizione | iOS | Android | Web |
|---|---|---|---|---|
| CMD-001 | Invia comando al device | ⬜ | ⬜ | ⬜ |
| CMD-002 | Verifica risposta comando | ⬜ | ⬜ | ⬜ |
| CMD-003 | Storico comandi inviati | ⬜ | ⬜ | ⬜ |
| CMD-004 | Comando timeout | ⬜ | ⬜ | ⬜ |
7. 💳 Subscriptions & Licenses
| Test Case | Descrizione | iOS | Android | Web |
|---|---|---|---|---|
| SUB-001 | Visualizza piani abbonamento | ✅ | ⬜ | ⬜ |
| SUB-002 | Seleziona n. dispositivi | ✅ | ⬜ | ⬜ |
| SUB-003 | Seleziona periodo (M/S/A) | ✅ | ⬜ | ⬜ |
| SUB-004 | Acquista abbonamento | ✅ | ⬜ | ⬜ |
| SUB-005 | Verifica licenze disponibili | ✅ | ⬜ | ⬜ |
| SUB-006 | Ripristina acquisti | ⬜ | ⬜ | ⬜ |
| SUB-007 | Upgrade piano | ⬜ | ⬜ | ⬜ |
| SUB-008 | Downgrade piano | ⬜ | ⬜ | ⬜ |
| SUB-009 | Cancella abbonamento | ⬜ | ⬜ | ⬜ |
Dettagli Test SUB
SUB-004: Acquisto Abbonamento (iOS)
Precondizioni: Utente loggato senza abbonamento, StoreKit Configuration configurato
Steps:
- Navigate to Devices
- Tap "Add Device"
- Verifica subscription screen visibile
- Seleziona 1 dispositivo
- Seleziona periodo "Annual"
- Tap "Purchase"
- Conferma acquisto StoreKit
Expected:
- Dialog "You're currently subscribed" appare
- Dopo OK, Add Device mostra input token invece di subscription
8. 🔔 Notifications
| Test Case | Descrizione | iOS | Android | Web |
|---|---|---|---|---|
| NOT-001 | Visualizza lista notifiche | ⬜ | ⬜ | ⬜ |
| NOT-002 | Push notification geofence | ⬜ | ⬜ | N/A |
| NOT-003 | Push notification battery low | ⬜ | ⬜ | N/A |
| NOT-004 | Marca notifica come letta | ⬜ | ⬜ | ⬜ |
| NOT-005 | Elimina notifica | ⬜ | ⬜ | ⬜ |
9. ⚙️ Settings
| Test Case | Descrizione | iOS | Android | Web |
|---|---|---|---|---|
| SET-001 | Visualizza profilo | ⬜ | ⬜ | ⬜ |
| SET-002 | Modifica nome utente | ⬜ | ⬜ | ⬜ |
| SET-003 | Cambia password | ⬜ | ⬜ | ⬜ |
| SET-004 | Cancella account | ⬜ | ⬜ | ⬜ |
| SET-005 | Gestisci piano abbonamento | ⬜ | ⬜ | ⬜ |
10. 🤝 Device Sharing
| Test Case | Descrizione | iOS | Android | Web |
|---|---|---|---|---|
| SHR-001 | Condividi device con utente | ⬜ | ⬜ | ⬜ |
| SHR-002 | Accetta condivisione | ⬜ | ⬜ | ⬜ |
| SHR-003 | Revoca condivisione | ⬜ | ⬜ | ⬜ |
| SHR-004 | Visualizza dispositivi condivisi | ⬜ | ⬜ | ⬜ |
Framework di Testing per Piattaforma
| Piattaforma | UI Testing | Unit Testing |
|---|---|---|
| iOS | XCUITest | XCTest |
| Android | Espresso + Compose Testing | JUnit + MockK |
| Web | Playwright | Jest + React Testing Library |
Priorità Implementazione
🔴 Priorità Alta (Core Flows)
- AUTH-001 → AUTH-003 (Registration/Login)
- DEV-002, DEV-003 (Add Device)
- SUB-001 → SUB-005 (Subscription)
- MAP-001 → MAP-004 (Map basics)
🟡 Priorità Media
- GEO-001 → GEO-005 (Geofences CRUD)
- HIST-001 → HIST-003 (History)
- NOT-001, NOT-002 (Notifications)
🟢 Priorità Bassa
- CMD-001 → CMD-004 (Commands)
- SHR-001 → SHR-004 (Sharing)
- SET-001 → SET-005 (Settings)
Stato Attuale
| Piattaforma | Test Implementati | % Completamento |
|---|---|---|
| iOS | 8 | ~15% |
| Android | 0 | 0% |
| Web | 0 | 0% |
Ultimo aggiornamento: Gennaio 2026