Uno strumento di iniezione dello stato per i test
Iniezione di stato supportata dal server che permette a QA e automazione di saltare direttamente a qualsiasi passaggio di un flusso lungo, riducendo la preparazione dei test di regressione da molti minuti a meno di uno.
- Stack
- TypeScript · Playwright · BFF · Test database
Il problema
Per verificare un bug al passaggio 5 di un flusso lungo, bisognava prima completare a mano i passaggi da 1 a 4: dati validi, caricamenti, controlli. Ogni volta, per ogni pull request e ogni esecuzione automatica.
L’approccio
Lo strumento permette a un tester o a uno script di aprire l’app già nello stato di cui ha bisogno.
- Uno script Playwright o una persona di QA carica la pagina con un token di test sicuro, ad esempio
?state=step_4_ready. - Il frontend vede il token durante l’idratazione e lo inoltra in un header al BFF.
- Il BFF verifica che l’ambiente sia rigorosamente non di produzione, poi prepara la sessione dell’utente nel database di test: passaggi precedenti completati, puntatore attivo sul passaggio 4.
- Il BFF restituisce un vero token di sessione e l’interfaccia mostra subito il passaggio 4.
Ho scelto l’iniezione supportata dal server invece di simulare localStorage sul client. Le app moderne validano le sessioni sul backend, quindi un mock solo lato client si allontana dalla realtà e produce test che qui passano e in produzione falliscono.
Il risultato
La preparazione dei test di regressione è passata da 10–20 minuti per ciclo a meno di un minuto. Con molte esecuzioni di pull request e suite di automazione ogni settimana, ha restituito centinaia di ore di ingegneria a trimestre.