# Prompt: Testing, Validazione e Release v0.4.0

> **Progetto:** mockupAWS - Backend Profiler & Cost Estimator  
> **Versione:** v0.4.0 (Implementazione Completata)  
> **Fase:** Testing, Bugfix e Release  
> **Data:** 2026-04-07

---

## 🎯 OBIETTIVO

La v0.4.0 è stata **implementata** (27/27 task). Ora serve:
1. **Testing completo** di tutte le feature
2. **Bugfix** di eventuali problemi
3. **Aggiornamento documentazione**
4. **Preparazione release finale**

---

## 📋 STATO ATTUALE

### ✅ Implementato
- Backend Reports (PDF/CSV generation)
- Frontend Charts (Recharts integration)
- Scenario Comparison
- Dark/Light Mode
- E2E Testing (100 test cases)

### ⏳ Da Completare
- [ ] Testing manuale feature
- [ ] Fix bug riscontrati
- [ ] Update README.md con v0.4.0
- [ ] Update Architecture.md
- [ ] Creare CHANGELOG.md
- [ ] Performance check
- [ ] Release tag v0.4.0

---

## 👥 ASSEGNAZIONE TASK

### @qa-engineer - Testing Completo e Validazione

**Priorità: P1 - Eseguire prima di tutto**

#### TASK-001: E2E Testing Suite Execution
**File:** `frontend/e2e/`
- [ ] Avviare backend: `uv run uvicorn src.main:app --reload`
- [ ] Avviare frontend: `npm run dev`
- [ ] Eseguire tutti i test E2E: `npm run test:e2e`
- [ ] Documentare risultati:
  - Quanti test passano?
  - Quali falliscono?
  - Perché falliscono?
- [ ] Fixare test falliti (se problema test, non codice)
- [ ] Aggiornare `e2e/TEST-RESULTS.md` con risultati finali

#### TASK-002: Test Manuale Feature v0.4.0
**URL:** http://localhost:5173
- [ ] **Test Charts:**
  - Dashboard mostra CostBreakdown chart
  - Scenario Detail mostra TimeSeries chart
  - Charts sono responsive
- [ ] **Test Dark Mode:**
  - Toggle funziona in Header
  - Tutti i componenti cambiano tema
  - Charts adattano colori al tema
- [ ] **Test Comparison:**
  - Seleziona 2-4 scenari da Dashboard
  - Click "Compare Selected"
  - Pagina Compare carica correttamente
  - Comparison table mostra delta
- [ ] **Test Reports:**
  - Apri scenario → tab Reports
  - Genera report PDF
  - Genera report CSV
  - Download funziona
  - File validi (PDF apribile, CSV corretto)

#### TASK-003: Performance Testing
- [ ] Report PDF generato in <3 secondi
- [ ] Charts render senza lag (<1s)
- [ ] Comparison page carica <2 secondi
- [ ] Dark mode switch istantaneo
- [ ] Nessun memory leak (testa navigando 5+ minuti)

#### TASK-004: Cross-Browser Testing
- [ ] Test su Chromium (primary) - ✅ già fatto
- [ ] Test su Firefox (se disponibile)
- [ ] Test su Mobile viewport (Chrome DevTools)
- [ ] Documentare eventuali differenze

**Output atteso:**
- Rapporto testing in `e2e/FINAL-TEST-REPORT.md`
- Lista bug trovati (se any)
- Conferma che v0.4.0 è pronta per release

---

### @backend-dev - Backend Validation e Fix

**Priorità: P1 - Parallelo al testing**

#### TASK-005: Backend Health Check
- [ ] Verifica tutte le API rispondono correttamente:
  ```bash
  curl http://localhost:8000/api/v1/scenarios
  curl http://localhost:8000/api/v1/scenarios/{id}/reports
  ```
- [ ] Verifica generazione report funziona:
  ```bash
  curl -X POST http://localhost:8000/api/v1/scenarios/{id}/reports \
    -H "Content-Type: application/json" \
    -d '{"format": "pdf", "include_logs": true}'
  ```
- [ ] Verifica file generati in `storage/reports/`
- [ ] Verifica rate limiting (10 download/min)
- [ ] Verifica cleanup funziona (testa con file vecchi)

#### TASK-006: Backend Bugfix (se necessario)
Se @qa-engineer trova problemi:
- [ ] Fixare bug backend
- [ ] Aggiungere logging dove utile
- [ ] Verifica error handling
- [ ] Testare fix

#### TASK-007: API Documentation
- [ ] Verifica API docs aggiornate: http://localhost:8000/docs
- [ ] Tutti i nuovi endpoints /reports documentati
- [ ] Schemas corretti (ReportCreate, ReportResponse, etc.)

**Output atteso:**
- Backend stabile e funzionante
- Eventuali bugfix committati
- API docs complete

---

### @frontend-dev - Frontend Validation e Fix

**Priorità: P1 - Parallelo al testing**

#### TASK-008: Build e Type Check
- [ ] Eseguire build: `npm run build`
- [ ] Nessun errore TypeScript
- [ ] Nessun errore build
- [ ] Warning ESLint accettabili (documentare se molti)

#### TASK-009: Frontend Bugfix (se necessario)
Se @qa-engineer trova problemi:
- [ ] Fixare bug frontend
- [ ] Verifica responsive design
- [ ] Verifica dark mode su tutti i componenti
- [ ] Testare fix

#### TASK-010: Console Cleanup
- [ ] Apri browser DevTools
- [ ] Naviga tutte le pagine
- [ ] Verifica **nessun errore** in console
- [ ] Fixare eventuali warning/errori
- [ ] Verifica **nessuna chiamata API fallita** in Network tab

#### TASK-011: Responsive Design Check
- [ ] Testa su Desktop (1920x1080)
- [ ] Testa su Tablet (768x1024)
- [ ] Testa su Mobile (375x667)
- [ ] Verifica:
  - Dashboard responsive
  - Compare page scrollabile
  - Reports form usable
  - Charts visibili

**Output atteso:**
- Build pulita (no errori)
- Console pulita (no errori)
- Responsive OK su tutti i device
- Eventuali bugfix committati

---

### @spec-architect - Documentazione e Release

**Priorità: P2 - Dopo che testing è OK**

#### TASK-012: Update README.md
**File:** `README.md`
- [ ] Aggiornare "Versione" a 0.4.0 (Completata)
- [ ] Aggiornare "Stato" a "Release Candidate"
- [ ] Aggiungere feature v0.4.0 in "Caratteristiche Principali":
  - Report Generation (PDF/CSV)
  - Data Visualization (Charts)
  - Scenario Comparison
  - Dark/Light Mode
- [ ] Aggiungere screenshot (placeholder se non disponibili)
- [ ] Aggiornare "Roadmap":
  - v0.4.0: ✅ Completata
  - v0.5.0: 🔄 Pianificata (JWT, API Keys, etc.)

#### TASK-013: Update Architecture.md
**File:** `export/architecture.md`
- [ ] Aggiornare sezione "7.2 Frontend" con:
  - Recharts integration
  - Dark mode implementation
- [ ] Aggiornare "Project Structure" con nuovi file
- [ ] Aggiornare "Implementation Status":
  - v0.4.0: ✅ COMPLETATA
  - Aggiungere data completamento

#### TASK-014: Update Progress.md
**File:** `export/progress.md`
- [ ] Aggiornare sezione v0.4.0:
  - Tutti i task: ✅ Completati
  - Data completamento: 2026-04-07
  - Aggiungere note su testing

#### TASK-015: Create CHANGELOG.md
**File:** `CHANGELOG.md` (nuovo)
- [ ] Creare file CHANGELOG.md
- [ ] Aggiungere v0.4.0 entry:
  ```markdown
  ## [0.4.0] - 2026-04-07
  
  ### Added
  - Report Generation System (PDF/CSV)
  - Data Visualization with Recharts
  - Scenario Comparison feature
  - Dark/Light Mode toggle
  - E2E Testing suite (100 tests)
  
  ### Technical
  - Backend: ReportLab, Pandas integration
  - Frontend: Recharts, Radix UI components
  - Testing: Playwright setup
  ```

#### TASK-016: Final Review e Tag
- [ ] Verifica tutto il codice sia committato
- [ ] Verifica documentazione aggiornata
- [ ] Creare tag: `git tag -a v0.4.0 -m "Release v0.4.0"`
- [ ] Push tag: `git push origin v0.4.0`

**Output atteso:**
- README.md aggiornato
- Architecture.md aggiornato
- CHANGELOG.md creato
- Tag v0.4.0 creato e pushato

---

## 📅 TIMELINE

### Ora 1: Testing (Parallelo)
- @qa-engineer: Eseguire test E2E e manuale
- @backend-dev: Backend health check
- @frontend-dev: Build check e console cleanup

### Ora 2: Bugfix (Se necessario)
- Tutto il team fixa bug trovati
- Re-test dopo fix

### Ora 3: Documentazione e Release
- @spec-architect: Update docs
- Final commit
- Tag v0.4.0
- Push

---

## ✅ DEFINITION OF DONE per Release

### Testing
- [ ] E2E tests: >80% passano (priorità Chromium)
- [ ] Test manuale: tutte le feature funzionano
- [ ] Performance: sotto le soglie definite
- [ ] Cross-browser: Chromium OK, Firefox/Mobile checked

### Qualità Codice
- [ ] Backend: nessun errore API
- [ ] Frontend: build pulita, console pulita
- [ ] TypeScript: nessun errore di tipo
- [ ] Responsive: OK su Desktop/Tablet/Mobile

### Documentazione
- [ ] README.md aggiornato con v0.4.0
- [ ] Architecture.md aggiornato
- [ ] CHANGELOG.md creato
- [ ] Kanban aggiornato

### Release
- [ ] Tutto committato su main
- [ ] Tag v0.4.0 creato
- [ ] Push completato
- [ ] Verifica su repository remoto

---

## 🚨 CRITERI DI BLOCCO (Non rilasciare se)

**NON rilasciare v0.4.0 se:**
- ❌ Backend API non rispondono
- ❌ Frontend build fallisce
- ❌ Errori gravi in console browser
- ❌ Report generation non funziona
- ❌ Più del 50% test E2E falliscono
- ❌ Bug critici di sicurezza

---

## 🎯 COMANDO DI AVVIO

Per ogni agente, iniziare con:

```bash
# @qa-engineer
cd /home/google/Sources/LucaSacchiNet/mockupAWS/frontend
npm run test:e2e
# Poi test manuale

# @backend-dev
cd /home/google/Sources/LucaSacchiNet/mockupAWS
uv run uvicorn src.main:app --reload
# Test API

# @frontend-dev
cd /home/google/Sources/LucaSacchiNet/mockupAWS/frontend
npm run build
npm run dev
# Check console

# @spec-architect
cd /home/google/Sources/LucaSacchiNet/mockupAWS
# Inizia a leggere README.md, Architecture.md
# Prepara modifiche documentazione
```

---

## 📊 REPORT FINALE

Alla fine, creare `RELEASE-v0.4.0.md` con:
- Data release
- Feature incluse
- Bug noti (se any)
- Prossimi passi (v0.5.0)

---

**In bocca al lupo team! Portiamo v0.4.0 in produzione! 🚀**

*Prompt testing & release generato il 2026-04-07*
