Étude du LaBRI Université de Bordeaux X Mr Suricate | Vérifier que vos tests simulent le comportement de vos utilisateurs réels
Les tests de bout en bout (“end-to-end” - E2E) sont un moyen de trouver des défauts dans les applications Web en imitant le comportement des utilisateurs réels.
La faiblesse majeure de cette méthode est que les tests ne représentent pas toujours le comportement des utilisateurs réels, ce qui va complètement à l'encontre de leur objectif.
Afin de résoudre ce problème, nous avons travaillé en collaboration avec le Laboratoire de Recherche en Informatique (LaBRI) de l'Université de Bordeaux à la recherche d'un moyen d'améliorer les tests E2E en identifiant exactement quand, où et de quelle manière les tests diffèrent du comportement des utilisateurs réels afin de pouvoir les corriger.
Une nouvelle méthode mise à l'épreuve
La méthode qui a été testée au cours de cette étude comportait deux volets fondamentaux :
1. Un outil d'enregistrement automatique
Il a d'abord été utilisé un outil d'enregistrement non intrusif qui servait à enregistrer les traces des exécutions de tests, ainsi que les traces d'utilisateurs réels interagissant avec l'application.
Pour faciliter la compréhension des enregistrements, des captures d'écran étaient associées à chaque interaction (rendu possible grâce à l'API d'extension chrome).
Ces représentations visuelles claires des traces ont permis d'obtenir une compréhension détaillée des cibles et de toutes interactions particulières.
2. Algorithme Diff (Diffing Traces)
Le but d'un algorithme/interface diff était de repérer et mettre en évidence les différences entre les exécutions d'un test, et ce même scénario lancé par un ou plusieurs utilisateurs.
Une trace capture les interactions effectuées via l'interface Web (clics et frappes au clavier) et peut être enregistrée lors de l'exécution d'un test ou lorsqu'un utilisateur navigue dans l'application Web.
Comparer une trace test venant d’un script avec une trace utilisateur permet de mettre en évidence leurs différences en termes d'interaction, et de repérer :
- Les interactions manquées par le test.
- Les actions effectuées par l'outil de test, mais pas par l'utilisateur ou inversement.
- Tout autre type de divergence.
Évaluation de la méthode
A l’issue, nous avons constaté l’algorithme a pu en effet identifier :
- De nouvelles interactions plus pertinentes pour l'expérience d'un utilisateur réel que celles utilisées dans le test.
- Les traces mal formées, permettant aux testeurs de comprendre où améliorer leurs tests.
Ces résultats nous ont amenés à conclure que ce processus complète parfaitement toutes les boîtes à outils de test E2E en améliorant la qualité des tests mis en œuvre à l'aide des frameworks les plus populaires (Playwright, Cypress, etc.)
Nous avons pu identifier exactement où les tests étaient soit désynchronisés avec l'application, soit trop éloignés du comportement d'un utilisateur réel.
À l'avenir, nous aimerions nous appuyer sur cette expérience de terrain en incluant davantage d'utilisateurs pour chaque scénario afin de réduire la subjectivité des résultats et continuer en partenariat avec l’université à approfondir cette méthode.
Mr Suricate | Dédiée à l’amélioration continue de vos tests automatisés
Même les meilleurs logiciels doivent être rendus encore plus utiles et pertinents dans le monde digital qui est en constante évolution aussi bien que les exigences des utilisateurs modernes.
Les solutions low-code de Mr Suricate ont aidé d'innombrables entreprises à accélérer leur transformation numérique, mais nous privilégions également l’innovation pour encore mieux répondre aux besoins des sociétés d’aujourd’hui et demain.