Events

Test Intelligence: Wie finden wir schneller mehr Fehler in unserer Software?

Written by Dr. Elmar Jürgens | Jan 27, 2025 1:21:00 pm

Wir müssen immer mehr Funktionalitäten in immer weniger Zeit testen, da erfolgreiche Software von Release zu Release wächst, aber die Release-Zyklen immer kürzer werden. Historisch gewachsene Test-Suites sind hierfür oft ungeeignet, da sie gleichzeitig zu viel und zu wenig testen. Zu viel, weil sie redundante Tests enthalten, die Ausführungs- und Wartungskosten verursachen, aber kaum Mehrwert gegenüber ähnlichen Tests bieten. Zuwenig, da trotzdem wichtige Funktionalität ungetestet bleibt.

Das führt dazu, dass die Test-Suites zwar sehr lange laufen, dabei aber viele Fehler nicht finden. Wir müssen diese Test-Suiten effektiver machen (d.h. mehr Fehler finden) und effizienter (d.h. schneller/billiger), um langfristig erfolgreich zu sein.

Unsere Forschungsgemeinschaft hat jahrzehntelang an Ansätzen gearbeitet, um die Effektivität und Effizienz von Tests zu steigern. In den letzten Jahren sind vermehrt auf KI basierende Ansätze dazugekommen, die versprechen, uns zu helfen, schneller mehr Fehler zu finden.

In diesem Vortrag stelle ich Ansätze vor, um in kürzerer Zeit mehr Fehler zu finden: Historienanalysen ermitteln, wo in vergangenen Releases die meisten Fehler aufgetreten sind; dies deckt oft Prozessmängel auf, die die Ursache zukünftiger Fehler sein können. Die Test-Gap-Analyse zeigt, 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 arbeitet die Defect Prediction mit KI, um vorherzusagen, wo zukünftig Fehler auftreten werden.

Wir haben jede dieser Analysen implementiert, in empirischen Studien untersucht wie gut sie funktionieren, und in unserer eigenen Entwicklung und bei unseren Kunden eingesetzt. Für jede Analyse skizziere ich ihre Forschungsgrundlage, zeige wie gut sie funktionieren und beantworte, mit welchen Analysen wir wirklich in kürzerer Zeit mehr Fehler finden.