Wir müssen immer mehr Funktionalität in immer kürzerer Zeit testen, denn erfolgreiche Software wächst, und gleichzeitig werden Release-Zyklen immer kürzer. Historisch gewachsene Test-Suiten sind dieser Herausforderung oft nicht gewachsen, da sie gleichzeitig zu viel und zu wenig testen. Zu viel, da sie redundante Tests enthalten, welche Ausführungs- und Wartungskosten verursachen, aber nur wenig Mehrwert gegenüber ähnlichen Tests bieten. Zu wenig, da wichtige Funktionen ungetestet bleiben. Wir müssen unsere Test-Suiten effektiver (d.h. mehr Fehler finden) und effizienter (d.h. schneller/günstiger) machen, um langfristig erfolgreich zu sein. Aber wie?
Unsere Forschungsgemeinschaft arbeitet seit Jahrzehnten an Ansätzen, um die Testeffektivität und -effizienz zu steigern. In den letzten Jahren wurden zudem KI-basierte Ansätze hierfür entwickelt.
Im Vortrag lernen Sie verschiedene Ansätze kennen: Historienanalysen des Versionskontrollsystems zeigen, wo in früheren Releases die meisten Fehler aufgetreten sind. Dies deckt oft Prozessmängel auf, die die Ursachen zukünftiger Fehler sind. Die Test-Gap-Analyse zeigt auf, welche Codeänderungen noch nicht getestet wurden und am fehleranfälligsten sind. Pareto-Optimierung von Test-Suiten, Test-Impact-Analyse und Predictive Test Selection identifizieren Tests, die momentan das beste Kosten-Nutzen-Verhältnis haben. Und schließlich nutzt Defect Prediction KI, um vorherzusagen, wo zukünftige Fehler auftreten werden.
Wir haben jeden dieser Ansätze implementiert, empirische Studien zur Wirksamkeit durchgeführt und die, die gut funktionieren, in unserer eigenen Entwicklung und bei unseren Kunden eingeführt. Für jeden Ansatz skizzieren wir die Forschungsgrundlagen und zeigen, ob und wie gut er tatsächlich funktioniert, um mit KI in kürzerer Zeit mehr Fehler zu finden.