Forschungsthemen
[GB] Automatisierte Datenbankanalyse zur Auswertung von E2E-Tests
Der Entwicklungsprozess einer Software lässt sich in fünf verschiedene Phasen aufteilen. Das sogenannte V-Modell stellt diese fünf Phasen anschaulich dar. Im V-Modell wird jeder Entwicklungsstufe eine Teststufe gegenübergestellt. Um die benötigte Softwarequalität zu erreichen, sollten alle im V-Modell enthaltenen Teststufen durchlaufen werden. Unit- und Integration-Tests, die sich im V-Modell auf den unteren Stufen befinden, sollten dabei einen Großteil des Testaufwands ausmachen, da sie einfach und vor allem schnell durchführbar sind und sich somit besonders gut für bspw. Continuous Integration eignen. Das Testen auf diesen niedrigen Ebenen der Software ermöglicht es Fehler in einzelnen Methoden und Komponenten schnell zu identifizieren. Moderne Softwaresysteme bestehen allerdings häufig aus vielen verschiedenen Teilsystemen, die fehlerfrei gemeinsam funktionieren müssen. Um dies sicherzustellen werden System-Tests genutzt. End-to-End-Tests (E2E) stellen dabei eine Möglichkeit dar, die System-Tests durchzuführen. E2E-Tests können entweder manuell von einem Tester oder mittels eines geeigneten Software-Frameworks wie Cypress durchgeführt werden. Die manuelle Variante ist dabei ohne viel Vorbereitung durchführbar, da der Tester nur eine textuelle Beschreibung des zu testenden Sachverhalts benötigt, um die Tests durchführen zu können. Manuelle Tests bieten ein hohes Maß an Sicherheit, da ein menschlicher Tester Fehler schnell erkennen kann. Auf der anderen Seite sind manuelle Tests schlecht skalierbar, da Menschen an dem Prozess beteiligt sind. Alternativ können E2E-Tests auch mit Software-Frameworks wie Cypress automatisiert werden. Dieser Ansatz erfordert allerdings einen hohen Aufwand bei der Erstellung der E2E-Tests, da jeder Klick einzeln programmiert werden muss. Die Richtigkeit der ausgeführten Aktion lässt sich mit diesem Ansatz häufig auch nur schwierig überprüfen bspw. wenn das Ergebnis einer Eingabe in einem Diagramm dargestellt wird. Als Ergänzung zu E2E-Tests können E2E-Regression-Tests genutzt werden. E2E-Regression-Tests ermöglichen den Vergleich eines Soll- mit einem Ist-Zustand und bieten damit ein gutes Maß für die Richtigkeit der durchgeführten Aktion. Als Datengrundlage für die Soll- und Ist-Zustände bietet sich die Datenbank des zu überprüfenden Systems an. Die Schwierigkeit besteht allerdings in der Vergleichbarkeit der Datenbanken. Für diesen Zweck könnten verschiedene Metriken oder ein Machine-Learning-Algorithmus genutzt werden. Die Untersuchung und der Vergleich dieser verschiedenen Ansätze zum Vergleich der Datenbanken soll Inhalt dieser Studienarbeit sein.
Betreuer: Karsten Wendt