Scenario-based Testing als neue Testmethode

Ein autonomes System zeichnet sich dadurch aus, dass es in der Lage ist, ein vorgegebenes Ziel selbstständig anzusteuern und zu erreichen. Den Weg zum Ziel kann das System in einem breiten Rahmen dabei frei wählen. Die Aufgaben, die das System (auf diesem Weg) dafür lösen muss, sind in Teilaufgaben abgrenzbar. Z.B. auf eine Kreuzung zufahren; anhalten falls die Ampel rot ist; wieder Anfahren, sobald die Ampel grün zeigt. Das Testen von autonomen Systemen bedeutet daher, möglichst viele der in Frage kommenden oder denkbaren Situationen im Rahmen verschiedener solcher Aufgabenketten systematisch abzuprüfen.

Der systematische Test einer solchen Aufgabenkette erfordert daher einen möglichst umfassenden Katalog solcher denkbaren oder in Frage kommender Situationen oder Ereignisse. Diese werden analog zu den Äquivalenzklassen beim Test klassischer IT-Systeme in einzelne Parameter zerlegt und können dann systematisch zu Aufgaben- bzw. Szenario-Ketten verknüpft werden. Im Rahmen dieses sog. Scenario-based Testing werden bestimmte Situationen dann gezielt herbeigeführt, um zu untersuchen und zu prüfen, wie das autonome System jeweils agiert. Der größte Unterschied zum Test klassischer IT-Systeme besteht darin, dass derselbe Testablauf  (z.B. das Fahren über eine Kreuzung) in einer sehr großen Anzahl von Variationen der Testumgebung wiederholt werden muss (Kreuzung mit/ohne Ampel, mit/ohne Fußgänger, bei Tag, bei Nacht, bei Regen, … etc.). Normalerweise ist die Testumgebung konstant oder auf einige wenige vordefinierte Varianten beschränkt.

Benötigt wird in diesem Zusammenhang ein zentraler Szenarienkatalog, herausgegeben durch eine neutrale Instanz und in einem herstellerunabhängigen, allgemein verwendbaren Format. An der Standardisierung geeigneter Formate für den Austausch solcher Szenarien wird daher intensiv gearbeitet. „ASAM Open-SCENARIO“ der Automobilindustrie definiert beispielsweise ein solches Format für die Beschreibung der dynamischen Inhalte von Fahr- und Verkehrssimulatoren.

Safety & Security als zentrale Qualitätsmerkmale:

Der Zweck aller Maßnahmen zur Qualitätssicherung eines Produkts ist es, Vertrauen dahingehend zu schaffen, dass das betreffende Produkt den Anforderungen seiner Interessengruppen (Anwender, Kunden, Hersteller, Gesetzgeber usw.) entspricht.

Der Standard ISO 25010 ist die internationale Norm, die ein allgemeingültiges Raster für Qualitätsmerkmale von Software und IT-Systemen definiert. Er unterscheidet zwischen den folgenden Qualitätsmerkmalen: Functional Suitability, Performance Efficiency, Compatibility, Usability, Reliability, Security, Maintainability und Portability. Diese Qualitätsmerkmale können und sollten daher auch als Ausgangspunkt bei der Erstellung eines Testplans oder Testfallkatalogs zum Testen eines autonomen Systems herangezogen werden. Allerdings kommt den Kriterien “functional safety” und “security” dabei eine herausragende Bedeutung bzw. Gewichtung zu.

Testgetriebene Entwicklung („shift left“ & „shift right“)

Die Interaktion des autonomen Systems mit einer komplexen Umwelt führt zu einer astronomischen Anzahl potenziell prüfbarer Szenarien. Diese Kombinatorik kann nur beherrscht werden, wenn schon auf Ebene jeder Einzelkomponente und ab dem ersten Entwicklungstag das Testen und die Validierung der entstehenden Software kontinuierlich stattfindet („shift left“).

In den Ethik-Leitlinien für eine vertrauenswürdige KI der Europäischen Kommission sind entsprechende Forderungen klar formuliert: "Der Test und die Validierung des Systems sollte so früh wie möglich erfolgen, um sicherzustellen, dass sich das System während seines gesamten Lebenszyklus und insbesondere während eines Einsatzes wie vorgesehen verhält.“. Zusätzlich muss auch eine kontinuierliche Überwachung der in Betrieb befindlichen Systeme ("Shift-right") erfolgen. Und, falls erforderlich, eine schnelle Reaktion auf Probleme im Betrieb erfolgen.

Fachartikel zum Thema

 "Testing Autonomous Systems".

Das könnte Sie auch interessieren: