nw  

Interactive Use-Case Generation Tool for Functional REST API Testing

Zusammenfassung

Applikation zum Erstellen und Testen von Sequenzen von API Requests

Schlüsselbegriffe

Angular, Python, Flask, MongoDB

Ausgangslage

Unabhängig von Produkt, Unternehmen oder Branche ist Software ein essentieller Teil von vielen Branchenzweigen. Der Einsatz von qualitativ hochwertiger Software ist daher einer der wichtigsten Aspekte für den geschäftlichen Erfolg. Softwaretests sind ein wesentlicher Teil der Qualitätssicherung in der Softwareentwicklung. Testen gibt den Entwicklern Rückmeldung über die Qualität und Funktionalität ihrer Software, so dass sie ihr Produkt korrigieren und optimieren können. Manuelles testen ist für die moderne Softwareentwicklung, die Geschwindigkeit und kontinuierliche Entwicklung erfordert, einfach nicht ausreichend. Daher ist die Testautomatisierung ein kritischer Erfolgsfaktor für die moderne Softwareentwicklung und damit für moderne Unternehmen. Da moderne Softwareentwicklungsmethoden in großem Umfang Microservices einsetzen, steht die Testautomatisierung für REST-APIs im Mittelpunkt dieses Projekts. Die Testifi GmbH ist ein internationales Unternehmen mit Hauptsitz in München, welches sich auf die Optimierung von Software Delivery Prozessen und KI-unterstützte Testautomatisierung spezialisiert hat. Da das Erstellen von HTTP-Request-Sequenzen durch die KI derzeit nur limitiert möglich ist, ist es das Ziel dieses Projektes, einen "Sequence Generator" zu erstellen, mit welchem solche Sequenzen manuell erstellt werden können.

Ansicht der Sequence Overview gefiltert nach einem bestimmten Endpoint

Ansicht der Sequence Overview gefiltert nach einem bestimmten Endpoint

Vorgehen

Um ein tieferes Verständnis dafür zu erlangen, wie man den Benutzer dabei unterstützt, seine Aufgaben so effizient wie möglich zu erledigen, wurde zuerst Literatur über grundlegende Gestaltungsprinzipien von Benutzeroberflächen sowie Konzepte zur Unterstützung fortgeschrittener Benutzer gesichtet und ausgewertet. Auf dieser Grundlage wurden in mehreren Iterationen ein User Interface Design und User Experience Konzept entworfen, welches mit User Tests verifiziert wurde. Während das Design Gestalt annahm, wurde die Anwendung bereits in Iterationen entwickelt. Agile Prozesse (Scrum) ermöglichten es, dass Entwicklung und Design gleichzeitig vorangetrieben und verfeinert werden konnten. Mit finalen User Tests wurde verifiziert, dass die Applikation den Anforderungen entspricht und die Ziele erreicht wurden.

Ansicht des Sequence Editors mit einer Beispielsequenz

Ansicht des Sequence Editors mit einer Beispielsequenz

Erkenntnisse

Die abschliessenden Benutzertests bestätigten das Erreichen der Hauptziele des Produkts, da sie aufzeigten dass die Anwendung manuelle API-Testmethoden hinsichtlich Effizienz und Benutzerfreundlichkeit übertrifft. Die Benutzeroberfläche wurde sowohl von den Testbenutzern als auch von den Kunden gut angenommen.

Aufgrund des Designs der Benutzeroberfläche und des Konzepts der Benutzererfahrung ist die Software für fortgeschrittene Benutzer intuitiv und bietet erhebliche Verbesserungen für API-Tests. Insbesondere die Gestaltung der Verlinkungsfunktion wurde gut aufgenommen und die hilfreichen Linkvorschläge, die sowohl von einer KI als auch von zuvor mit der Software erstellten Links stammen, waren entscheidend für den Erfolg des Projekts und wurden von den Testbenutzern und dem Kunden gelobt. Wenn das Sequence Generator Tool in Pulse integriert ist, kann Testifi es auch nutzen, um neue Endpoint-Links zu erstellen, die zur Verbesserung der KI verwendet werden können.

Ansicht des Sequence Editors beim Erstellen eines Links

Ansicht des Sequence Editors beim Erstellen eines Links

Projektdaten

720h Aufwand, 2 Personen

Auftraggeber

Testifi GmbH, Nejdet Dogru https://testifi.io/

Projektteam

Jonas Volken, Benjamin Leu, Studiengang Informatik

Kontakt

Prof. Martin Kropp
martin.kropp@fhnw.ch

<< zurück