Naar hoofdinhoud springen
Clinford Jordano Valencia
Alle projecten
Platform

Een tool voor het injecteren van teststatus

Serverondersteunde statusinjectie waarmee QA en automatisering direct naar elke stap van een lange stroom springen, en de voorbereiding van regressietests terugbrengt van vele minuten naar minder dan één.

Stack
TypeScript · Playwright · BFF · Test database

Het probleem

Om een bug in stap 5 van een lange stroom te controleren, moest je eerst stap 1 tot en met 4 met de hand doorlopen: geldige gegevens, uploads, controles. Elke keer, voor elke pull request en elke geautomatiseerde run.

De aanpak

De tool laat een tester of een script de app openen in precies de status die nodig is.

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

Ik koos voor serverondersteunde injectie in plaats van localStorage aan de clientkant te mocken. Moderne apps valideren sessies in de backend, dus een mock alleen aan de clientkant drijft weg van de werkelijkheid en levert tests op die hier slagen en in productie falen.

Het resultaat

De voorbereiding van regressietests ging van 10–20 minuten per cyclus naar minder dan een minuut. Bij veel pull-requestruns en automatiseringssuites per week gaf dat honderden engineeringuren per kwartaal terug.