Naar de inhoud
Clinford Jordano Valencia
Alle projecten
Platform

Saga, een tool om teststatus te injecteren

Serverondersteunde statusinjectie waarmee QA en automatisering direct naar elke stap van een lange verificatieflow springen, waardoor het voorbereiden van regressietests van tot 20 minuten naar minder dan 1 minuut ging.

Rol
Senior Frontend Engineer
Periode
2025–heden
Stack
TypeScript · Playwright · BFF · Test database

Het probleem

Om een bug in stap 5 van de KYC-flow te controleren, moest je eerst geldige persoonsgegevens invullen, identiteitsbewijzen uploaden en de liveness-scans van stap 1 tot en met 4 doorstaan. Elke keer, voor elke pull request en elke geautomatiseerde run.

De aanpak

Met Saga opent een tester of script de app direct in de gewenste toestand.

  1. Een Playwright-script of QA-engineer laadt de pagina met een veilig testtoken, bijvoorbeeld ?state=step_4_ready.
  2. De frontend herkent het token tijdens hydration en stuurt het via een header door naar de BFF.
  3. De BFF controleert dat de omgeving strikt geen productie is en zet dan de sessie van de gebruiker klaar in de testdatabase: stap 1 tot en met 3 voltooid, de actieve aanwijzer op stap 4.
  4. De BFF geeft een echt sessietoken terug en de UI toont meteen stap 4.

Ik koos voor injectie via de server in plaats van localStorage in de client te mocken. Moderne apps valideren sessies in de backend, dus een mock die alleen in de client bestaat, wijkt af van de werkelijkheid en levert tests op die hier slagen en in productie falen.

Het resultaat

De voorbereiding voor regressietests ging van 10–20 minuten per cyclus naar minder dan een minuut. Met tientallen pull-requestruns en automatiseringssuites per week leverde dat honderden engineeringuren per kwartaal op.