Zum Inhalt springen
Clinford Jordano Valencia
Alle Projekte
Plattform

Saga, ein Werkzeug zum Einspielen von Testzuständen

Serverseitiges Einspielen von Zuständen, mit dem QA und Automatisierung direkt zu jedem Schritt eines langen Prüfablaufs springen, was die Vorbereitung von Regressionstests von bis zu 20 Minuten auf unter 1 Minute senkte.

Rolle
Senior Frontend Engineer
Zeitraum
2025–heute
Stack
TypeScript · Playwright · BFF · Test database

Das Problem

Um einen Fehler in Schritt 5 des KYC-Ablaufs zu prüfen, musste man zuerst gültige persönliche Daten eingeben, Ausweise hochladen und die Liveness-Prüfungen der Schritte 1 bis 4 bestehen. Jedes Mal, für jeden Pull Request und jeden automatisierten Lauf.

Der Ansatz

Mit Saga öffnen Testerinnen, Tester oder Skripte die App direkt im benötigten Zustand.

  1. Ein Playwright-Skript oder eine QA-Person lädt die Seite mit einem sicheren Test-Token, zum Beispiel ?state=step_4_ready.
  2. Das Frontend erkennt das Token bei der Hydration und reicht es per Header an den BFF weiter.
  3. Der BFF prüft, dass die Umgebung strikt keine Produktion ist, und legt dann die Sitzung in der Testdatenbank an: Schritte 1 bis 3 abgeschlossen, der aktive Zeiger auf Schritt 4.
  4. Der BFF gibt ein echtes Sitzungstoken zurück, und die UI zeigt sofort Schritt 4.

Ich habe mich für serverseitiges Einspielen statt für ein Mocking von localStorage im Client entschieden. Moderne Apps validieren Sitzungen im Backend, also entfernt sich ein reiner Client-Mock von der Realität und erzeugt Tests, die hier bestehen und in Produktion scheitern.

Das Ergebnis

Die Vorbereitung für Regressionstests sank von 10–20 Minuten pro Durchlauf auf unter eine Minute. Bei Dutzenden Pull-Request-Läufen und Automatisierungs-Suites pro Woche brachte das Hunderte Engineering-Stunden pro Quartal zurück.