Un outil d’injection d’état pour les tests
Une injection d’état côté serveur qui permet à la QA et à l’automatisation de sauter directement à n’importe quelle étape d’un long parcours, en ramenant la préparation des tests de non-régression de nombreuses minutes à moins d’une.
- Stack
- TypeScript · Playwright · BFF · Test database
Le problème
Pour vérifier un bug à l’étape 5 d’un long parcours, il fallait d’abord passer les étapes 1 à 4 à la main : informations valides, envois de fichiers, contrôles. À chaque fois, pour chaque pull request et chaque exécution automatisée.
L’approche
L’outil permet à un testeur ou à un script d’ouvrir l’application directement dans l’état voulu.
- Un script Playwright ou une personne de la QA charge la page avec un jeton de test sécurisé, par exemple
?state=step_4_ready. - Le frontend voit le jeton à l’hydratation et le transmet dans un en-tête au BFF.
- Le BFF vérifie que l’environnement est strictement hors production, puis initialise la session de l’utilisateur dans la base de test : étapes précédentes terminées, pointeur actif sur l’étape 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, si bien qu’un mock uniquement 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 de nombreuses exécutions de pull requests et de suites d’automatisation chaque semaine, cela a rendu des centaines d’heures d’ingénierie par trimestre.