Die meisten langlebigen Softwaresysteme verfügen über große, historisch gewachsene Testsuiten mit langen Ausführungszeiten. Wie beim langen Warten auf Testergebnisse schnell deutlich wird, bringt eine große Anzahl an Tests nicht nur Vorteile mit sich. Neben langsamen Feedbackzyklen stellt insbesondere die Migration solcher Testsuiten eine Herausforderung dar.
Häufig müssen Testsuiten auf neue Tools umgestellt werden – sei es aufgrund steigender Kosten, veralteter Technologien oder weil eine manuelle Testsuite automatisiert werden soll. Die Migration einer großen Anzahl von Testfällen ist jedoch zeitaufwändig und kostenintensiv. Bei mehreren tausend Testfällen summiert sich der Aufwand schnell erheblich.
Ansätze aus der Software-Engineering-Forschung bieten hierfür Lösungen. Historisch gewachsene Testsuiten sind oft hochgradig redundant. Eine Migration bietet daher die Chance, diese Redundanzen zu reduzieren und den Gesamtaufwand deutlich zu verringern. Testminimierungsverfahren helfen dabei, aus einer großen Testsuite eine möglichst kleine Teilmenge zu identifizieren, die dennoch einen Großteil der Fehler findet. Dadurch reicht es aus, nur diese Teilmenge zu migrieren oder zu automatisieren. Zusätzlich liefern diese Verfahren eine Priorisierung der Testfälle, sodass klar ist, welche Tests als Nächstes angepasst werden sollten.
Im Vortrag wird erläutert, wie diese Minimierungsverfahren funktionieren und welche Erfahrungen in Testmigrations- und Automatisierungsprojekten gesammelt wurden. Dabei werden sowohl moderne, KI-basierte Testselektionsverfahren als auch klassische Verfahren wie Coverage-Messungen betrachtet, um zu analysieren, wie gut die neue Testsuite im Vergleich zur ursprünglichen abdeckt und welche Einsparungen erzielt werden konnten.
Key Takeways: • Systematisches Entfernen von Redundanzen führt zu kleineren Testsuiten mit vergleichbarer Effektivität. • KI-basiertes Test-Clustering kann redundante Testfälle identifizieren und reduziert Migrations-, Automatisierungsaufwände und Wartungskosten. • Du lernst die Limitationen KI-basierter Ansätze kennen und erfährst, wann ein Eingreifen von Expert:innen sinnvoll ist. • Du erfährst, wie KI-basierte Testfallselektion validiert werden kann.