Events

Test Intelligence: Wie finden wir schneller mehr Fehler in unserem System?

Written by Dr. Elmar Jürgens | Jul 15, 2025 1:57:58 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 Tutorial 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 wie gut sie sich in der Praxis unter welchen Umständen einsetzen lassen.

Das Tutorial verfolgt zwei Ziele: Erstens, einen Überblick über das Gebiet Test Intelligence zu vermitteln. Und zweitens, konkrete Anregungen zu geben, mit welchen Ansätzen man im eigenen Projektkontext loslegen kann, um in kürzerer Zeit mehr Fehler zu finden.