Aller au contenu
Clinford Jordano Valencia
Tous les projets
Plateforme

Saga, un outil d’injection d’état pour les tests

Une injection d’état côté serveur qui permet à la QA et à l’automatisation d’aller directement à n’importe quelle étape d’un long parcours de vérification : la préparation des tests passe de 20 minutes à moins d’une.

Rôle
Senior Frontend Engineer
Période
2025–aujourd’hui
Stack
TypeScript · Playwright · BFF · Test database

Le problème

Pour vérifier un bug à l’étape 5 du parcours KYC, il fallait d’abord saisir des informations personnelles valides, téléverser des pièces d’identité et réussir les contrôles de liveness des étapes 1 à 4. À chaque fois, pour chaque pull request et chaque exécution automatisée.

L’approche

Saga permet à une personne de test ou à un script d’ouvrir l’application directement dans l’état voulu.

  1. Un script Playwright ou un ingénieur QA charge la page avec un jeton de test sécurisé, par exemple ?state=step_4_ready.
  2. Le frontend détecte le jeton à l’hydratation et le transmet dans un en-tête au BFF.
  3. Le BFF vérifie que l’environnement n’est strictement pas la production, puis prépare la session de l’utilisateur dans la base de test : étapes 1 à 3 terminées, pointeur actif sur l’étape 4.
  4. Le BFF renvoie un vrai jeton de session et l’interface affiche immédiatement l’étape 4.

J’ai choisi l’injection côté serveur plutôt que de simuler localStorage côté client. Les applications modernes valident les sessions dans le backend : une simulation uniquement côté client s’éloigne de la réalité et produit des tests qui passent ici et échouent en production.

Le résultat

La préparation des tests de non-régression est passée de 10 à 20 minutes par cycle à moins d’une minute. Avec des dizaines d’exécutions de pull requests et de suites automatisées chaque semaine, cela a rendu des centaines d’heures d’ingénierie par trimestre.