End-to-End-Tests ("End-to-End" - E2E) sind eine Möglichkeit, Fehler in Webanwendungen zu finden, indem sie das Verhalten echter Nutzer nachahmen.
Die größte Schwäche dieser Methode ist, dass die Tests nicht immer das Verhalten der tatsächlichen Nutzer darstellen, was ihrem Zweck völlig zuwiderläuft.
Um dieses Problem zu lösen, haben wir in Zusammenarbeit mit dem Laboratoire de Recherche en Informatique (LaBRI) der Universität Bordeaux nach einer Möglichkeit gesucht, die E2E-Tests zu verbessern, indem wir genau feststellen, wann, wo und in welcher Weise die Tests vom Verhalten der tatsächlichen Benutzer abweichen , damit wir sie korrigieren können.
Die Methode, die im Rahmen dieser Studie getestet wurde, bestand aus zwei grundlegenden Komponenten:
Zunächst wurde ein nicht-intrusives Aufzeichnungswerkzeug verwendet, das dazu diente, die Spuren von Testausführungen sowie die Spuren von echten Benutzern, die mit der Anwendung interagierten, aufzuzeichnen.
Um das Verständnis der Aufzeichnungen zu erleichtern, wurden jeder Interaktion Screenshots zugeordnet (ermöglicht durch die chrome extension API).
Diese klaren visuellen Darstellungen der Spuren führten zu einem detaillierten Verständnis der Ziele und aller besonderen Interaktionen.
Der Zweck eines diff-Algorithmus/einer diff-Schnittstelle war es, Unterschiede zwischen den Ausführungen eines Tests und demselben Szenario, das von einem oder mehreren Nutzern gestartet wurde, zu erkennen und hervorzuheben.
Ein Trace erfasst die über die Webschnittstelle durchgeführten Interaktionen (Klicks und Tastatureingaben) und kann aufgezeichnet werden, wenn ein Test ausgeführt wird oder wenn ein Nutzer durch die Webanwendung navigiert.
Wenn Sie einen Testpfad aus einem Skript mit einem Benutzerpfad vergleichen, können Sie die Unterschiede in der Interaktion erkennen und :
Am Ende stellten wir fest, dass der Algorithmus tatsächlich in der Lage war, zu identifizieren :
Diese Ergebnisse ließen uns zu dem Schluss kommen, dass dieser Prozess alle E2E-Test-Toolkits perfekt ergänzt, indem er die Qualität der Tests verbessert, die mithilfe der beliebtesten Frameworks (Playwright, Cypress usw.) implementiert werden.
Wir konnten genau feststellen, wo die Tests entweder nicht mit der Anwendung synchronisiert waren oder zu weit vom Verhalten eines echten Nutzers entfernt waren.
In Zukunft möchten wir auf dieser Felderfahrung aufbauen, indem wir mehr Nutzer für jedes Szenario einbeziehen, um die Subjektivität der Ergebnisse zu verringern, und in Partnerschaft mit der Universität diese Methode weiter vertiefen.
Selbst die beste Software muss in der digitalen Welt, die sich ebenso wie die Anforderungen der modernen Nutzer ständig weiterentwickelt, noch nützlicher und relevanter gemacht werden.
Die Low-Code-Lösungen von Mr Suricate haben unzähligen Unternehmen geholfen, ihre digitale Transformation zu beschleunigen. Aber auch wir setzen auf Innovation, um den Bedürfnissen der Unternehmen von heute und morgen noch besser gerecht zu werden.