Vai al contenuto
Clinford Jordano Valencia
Tutti i progetti
Piattaforma

Saga, uno strumento per iniettare lo stato nei test

Iniezione di stato lato server che permette a QA e automazione di saltare direttamente a qualsiasi passaggio di un lungo flusso di verifica, riducendo la preparazione dei test di regressione da un massimo di 20 minuti a meno di 1.

Ruolo
Senior Frontend Engineer
Periodo
2025–oggi
Stack
TypeScript · Playwright · BFF · Test database

Il problema

Per verificare un bug al passaggio 5 del flusso KYC, bisognava prima inserire dati personali validi, caricare i documenti e superare i controlli di liveness dei passaggi da 1 a 4. Ogni volta, per ogni pull request e ogni esecuzione automatica.

L’approccio

Saga permette a chi testa, o a uno script, di aprire l’app direttamente nello stato che serve.

  1. Uno script Playwright o un tecnico QA carica la pagina con un token di test sicuro, per esempio ?state=step_4_ready.
  2. Il frontend rileva il token durante l’hydration e lo inoltra in un header al BFF.
  3. Il BFF verifica che l’ambiente non sia in alcun modo di produzione, poi prepara la sessione dell’utente nel database di test: passaggi da 1 a 3 completati e puntatore attivo sul passaggio 4.
  4. Il BFF restituisce un vero token di sessione e l’interfaccia mostra subito il passaggio 4.

Ho scelto l’iniezione lato server invece di simulare localStorage sul client. Le app moderne convalidano le sessioni nel backend, quindi una simulazione solo lato client si allontana dalla realtà e produce test che passano qui e falliscono in produzione.

Il risultato

La preparazione dei test di regressione è passata da 10–20 minuti per ciclo a meno di un minuto. Con decine di esecuzioni di pull request e suite di automazione ogni settimana, ha restituito centinaia di ore di ingegneria a trimestre.