Was ist eine Black Box?

Als Black Box wird jedes System der eingesetzten künstlichen Intelligenz bezeichnet, dessen Eingaben und Operationen nicht sichtbar für den Benutzer sind. Allgemein handelt es sich bei einer Black Box um ein undurchdringliches System.

Bei Deep Learning wird in der Regel eine Black-Box-Entwicklung durchgeführt. So nimmt der Algorithmus Millionen von Datenpunkten entgegen, verarbeitet diese Eingabe und korreliert bestimmte Datenmerkmale, damit er eine Ausgabe erzeugen kann. Im Data Mining dagegen ist es ein Algorithmus oder auch eine Technologie, die keinerlei Erklärung für ihre Funktionsweise geben kann.

Ein Black-Box-Modell zur Entwicklung von Software mit künstlicher Intelligenz ist ein adäquates Entwicklungsmodell, um Software Bausteine zu testen. Dagegen spricht man bei Suchalgorithmen, Entscheidungsbäume und wissensbasierte Systeme, die von KI-Experten entwickelt wurden, transparent sind und nachvollziehbare Lösungswege bieten, von White-Box-Verfahren.

Eine Black Box im maschinellen Lernen ist ein Modell rein statistischer Art. White-Box-Modelle bezeichnen hingegen analytische und physikalische Beschreibungen, bei denen eine Modellierung häufig sehr aufwändig ist. Die Grey-Box-Modelle kombinieren schließlich beide Ansätze und können die jeweiligen Vorteile in sich vereinen.

Was sind typische Methoden?

Ein Black-Box-Test wird immer dann eingesetzt, wenn keine Kenntnisse der inneren Funktionsweise und Implementierung der Software vorhanden sind. Nur das nach außen sichtbare Verhalten fließt in den Test mit ein.

Ein erfolgreicher Test stellt dabei keinen ausreichenden Hinweis auf ein erfolgreiches und fehlerfreies System dar. So können eine nicht-geforderte Funktionalität oder eine massive Sicherheitslücke unerkannt bleiben. Ein Testverfahren genügt deshalb in aller Regel nicht aus, da Strukturtests keine fehlende Funktionalität erkennen können und Funktionstests nur unzureichend die vorliegende Implementierung berücksichtigen. Am besten ist ein kombiniertes Vorgehen von Funktionstests mit Grenzwertanalyse beziehungsweise Zufallstest, Strukturtests der Abschnitte welche nicht abgedeckt wurden und Regressionstests nach Fehlerkorrektur.

Funktionstests können die vorliegende Implementierung nur unzureichend berücksichtigen. Als Testmethoden gib es funktionale Tests (Black-Box-Test) mit einer Testfallauswahl, die auf einer Spezifikation beruht. So werden Äquivalenzklassentests durchgeführt, Grenzwerte berechnet und der Test über spezielle Werte eingegrenzt. Zustandstests können auf dieser Spezifikationsbasis umgesetzt werden.