DE102021109126A1 - Verfahren zum Testen eines Produkts - Google Patents

Verfahren zum Testen eines Produkts Download PDF

Info

Publication number
DE102021109126A1
DE102021109126A1 DE102021109126.8A DE102021109126A DE102021109126A1 DE 102021109126 A1 DE102021109126 A1 DE 102021109126A1 DE 102021109126 A DE102021109126 A DE 102021109126A DE 102021109126 A1 DE102021109126 A1 DE 102021109126A1
Authority
DE
Germany
Prior art keywords
simulation
classification
product
test
accuracy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102021109126.8A
Other languages
English (en)
Inventor
Joachim Sohns
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102021109126.8A priority Critical patent/DE102021109126A1/de
Priority to US17/656,256 priority patent/US20220327042A1/en
Priority to CN202210380122.2A priority patent/CN115270902A/zh
Publication of DE102021109126A1 publication Critical patent/DE102021109126A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Vorgestellt wird ein computerimplementiertes Verfahren zum Testen eines Produkts insbesondere einer Software, einer Hardware oder eines Systems umfassend Hardware und Software, bei welchem abhängig von Eingangsparametern für das Produkt eine Simulation durchgeführt wird, mit welcher eine bestimmte Eigenschaft des Produkts getestet wird. Abhängig von einem Vergleich eines Ergebnisses der Simulation mit einer Anforderung an die bestimmte Eigenschaft wird für das Ergebnis der Simulation eine erste Klassifikation ausgegeben. Abhängig von einem Vergleich von Referenzdaten aus einem alternativen Test der bestimmten Eigenschaft des Produkts mit der Anforderung an die bestimmte Eigenschaft wird eine zweite Klassifikation ermittelt. Abhängig von der ersten Klassifikation und der zweiten Klassifikation wird eine Genauigkeit oder Robustheit der Simulation bestimmt.

Description

  • Die Erfindung betrifft ein computerimplementiertes Verfahren zum Testen eines Produkts sowie ein dazu eingerichtetes Computerprogramm und eine dazu eingerichtete Testumgebung.
  • Stand der Technik
  • Aus der DE 10 2020 205539 ist ein Verfahren zum Prüfen eines technischen Systems, insbesondere eines zumindest teilautonomen Roboters oder Fahrzeuges bekannt. Dabei wird ein virtueller Test-Klassifikator eingeführt, welcher die Erfordernisse von Modellvalidierung und Produkttest kombiniert.
  • Offenbarung der Erfindung
  • Vorgestellt wird ein computerimplementiertes Verfahren zum Testen eines Produkts insbesondere einer Software, einer Hardware oder eines Systems umfassend Hardware und Software, z.B. eines eingebetteten Systems. Bei dem Verfahren wird abhängig von Eingangsparametern für das Produkt eine Simulation durchgeführt, mit welcher eine bestimmte Eigenschaft des Produkts getestet wird. Abhängig von einem Vergleich eines Ergebnisses der Simulation mit einer Anforderung an die bestimmte Eigenschaft wird für das Ergebnis der Simulation eine erste Klassifikation ausgegeben. Abhängig von einem Vergleich von Referenzdaten aus einem alternativen Test der bestimmten Eigenschaft des Produkts mit der Anforderung an die bestimmte Eigenschaft wird eine zweite Klassifikation ermittelt. Abhängig von der ersten Klassifikation und der zweiten Klassifikation wird eine Genauigkeit oder Robustheit der Simulation bestimmt. Insbesondere kann eine solche Bestimmung die Ausgabe einer Metrik zur Beurteilung von Genauigkeit oder Robustheit der Simulation umfassen, beispielsweise in Form einer Konfusionsmatrix oder eines etablierten Informationsmaßes wie eine Informationsgewinn (information gain).
  • Bei dem (technischen) Produkt kann es sich insbesondere um eine Software handeln, welche auf einer Recheneinheit in einem technischen System ablaufen soll, beispielsweise eine Detektions-, Überwachungs- oder Steuerfunktion in einem zumindest teilautonomen Fahrzeug oder Roboter. Auch kann es sich bei dem (technischen) Produkt um eine Hardware umfassend eine Software handeln, beispielsweise einen Sensor, einen Aktor oder ein Steuergerät eines zumindest teilautonomen Roboters oder Fahrzeuges.
  • Die Klassifikationen im Rahmen der vorgestellten Verfahren werden insbesondere nicht dafür eingesetzt, Produkteigenschaften zu klassifizieren oder durch Klassifikation Fehler in Produkten zu erkennen. Vielmehr wird klassifiziert, ob und zu welchem Grad die auf Grundlage einer Simulation vorgenommene Bewertung eines Produkts den Eigenschaften des Produkts in der Realität entspricht. Es bietet die Möglichkeit, die Güte einer Simulation in Bezug auf vorgegebene Kriterien zu bestimmen. Darüber hinaus bietet es die Möglichkeit, automatisierte Simulationen anzustoßen. Eine weitere mögliche Anwendung besteht darin, die Güte von Simulationsergebnissen vorherzusagen ohne zusätzliche Referenzmessungen durchführen zu müssen.
  • In einer bevorzugten Ausgestaltung stammen die Referenzdaten aus einem Test am realen Produkt oder aus einer (insbesondere besonders genauen) Referenzsimulation.
  • Die erste Klassifikation und die zweite Klassifikation können beispielsweise jeweils umfassen, ob das Produkt den Test bestanden hat oder nicht bestanden hat oder ob der Test nicht durchgeführt wurde, weil dafür notwendige Bedingungen nicht erfüllt waren. Auch können die erste Klassifikation und die zweite Klassifikation jeweils umfassen, ob die Diagnose- oder Detektionsfunktion zu einem falsch positiven, einem falsch negativen, einem wahr positiven oder einem wahr negativen Ergebnis kommt, insbesondere bei einer Simulation einer Detektions- oder Diagnosefunktion. Außerdem können die erste und die zweite Klassifikation jeweils umfassen, ob ein vordefiniertes, sicherheitsrelevantes Ereignis eingetreten ist oder nicht, insbesondere bei einer Simulation einer sicherheitskritischen Funktion. Diese Klassifikationen ermöglichen eine stabile und aussagekräftige Metrik zur Bestimmung der Genauigkeit und Robustheit der Simulation.
  • In einer besonders bevorzugten Variante wird abhängig von ersten Klassifikationen und / oder zweiten Klassifikationen ein Klassifikator für eine Simulationsgenauigkeit angelernt. Dieser ermöglicht nach seinem Anlernen eine Bestimmung von Genauigkeit oder Robustheit einer Simulation auch ohne entsprechende Referenzdaten. Zur Bewertung können dann insbesondere neben dem eingelernten Klassifikator lediglich die relevanten Signale oder Ausgänge aus der Simulation benötigt werden.
  • Das Verfahren ermöglicht unter anderem folgende Anwendungen und bietet dabei insbesondere folgende Vorteile:
    • - Bewertung der Genauigkeit oder Robustheit einer Simulationsumgebung für den Test einer Diagnosefunktion oder einer Detektionsfunktion (beispielsweise Fahrassistenzfunktionen, sicherheitskritische Funktionen oder Diagnosefunktionen in einem Steuergerät eines Fahrzeugs),
    • - Bewertung einer Simulationsumgebung im Kontext von SOTIF-Simulationen,
    • - Bewertung der Genauigkeit oder Robustheit verwendeten Modelle in einer Hl-, MIL-, SIL-Umgebung für den Test einer Diagnosefunktion oder einer Detektionsfunktion (beispielsweise Fahrassistenzfunktionen, sicherheitskritische Funktionen oder Diagnosefunktionen in einem Steuergerät eines Fahrzeugs),
    • - Einsparung realer Messungen durch Klassifikationsgestützte Bestimmung bzw. Prädiktion der Simulationsgenauigkeit oder -robustheit,
    • - Klassifikation einer vorgegebenen Menge von Tests oder Szenarien, auf deren Grundlage bewertet wird, unter welchen Randbedingungen oder für welche Art von Eingangsgrößen die Simulation zu ähnlichen Ergebnissen führt wie die Realität und unter welchen Randbedingungen bzw. für welche Eingangsgrößen die verwendeten Simulationsmodelle zu ungenau sind,
    • - Vergleich unterschiedlicher simulationsbasierter Testplattformen bzw. Testumgebungen auf Grundlage klassifikationsbasierter Metriken.
  • Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. In den Zeichnungen zeigen schematisch:
    • 1 eine beispielhafte Ausprägung eines computerimplementierten Verfahren zum Testen eines Produkts sowie
    • 2 einen Ausschnitt aus 1 mit Details zu Block 130.
  • Beschreibung der Ausführungsbeispiele
  • In der Softwaretechnik wird die Nutzung von Modellen zur Automatisierung von Testaktivitäten und zur Generierung von Testartefakten im Testprozess unter dem Oberbegriff „modellbasiertes Testen“ (model-based testing, MBT) zusammengefasst. Darunter kann beispielsweise die Generierung von Testfällen aus Modellen fallen, die das Sollverhalten des zu testenden Systems beschreiben.
  • Insbesondere eingebettete Systeme (embedded systems) sind auf schlüssige Eingangssignale von Sensoren angewiesen und stimulieren wiederum ihre Umwelt durch Ausgangssignale an unterschiedlichste Aktoren. Im Zuge der Verifikation und vorgelagerter Entwicklungsphasen eines solchen Systems kann daher in einer Regelschleife dessen Modell (model in the loop, MiL), Software (software in the loop, SiL), Prozessor (processor in the loop, PiL) oder gesamte Hardware (hardware in the loop, HiL) gemeinsam mit einem Modell der Umgebung simuliert werden. In der Fahrzeugtechnik werden diesem Prinzip entsprechende Simulatoren zur Prüfung elektronischer Steuergeräte je nach Testphase und -objekt mitunter als Komponenten-, Modul- oder Integrationsprüfstände bezeichnet.
  • Derartige Simulationen sind auf verschiedenen Gebieten der Technik verbreitet und finden beispielsweise Einsatz, um eingebettete Systeme in Elektrowerkzeugen, Motorsteuergeräte für Antriebs-, Lenk- und Bremssysteme, Kamerasysteme, Systeme mit Komponenten der künstlichen Intelligenz und des maschinellen Lernens, Robotiksysteme oder autonome Fahrzeuge in frühen Phasen ihrer Entwicklung auf Tauglichkeit zu prüfen.
  • Dennoch werden die Ergebnisse solcher Simulationsmodelle bislang aufgrund fehlenden Vertrauens in ihre Zuverlässigkeit in der Regel nur begrenzt in Freigabeentscheidungen einbezogen.
  • Im Kontext von Produktentwicklung können Klassifikationsverfahren unter anderem zur Entwicklung von Diagnosefunktionen für Steuergeräte und im Bereich Design of Reliability eingesetzt werden. Der Fokus liegt dabei darauf, anhand von Messdaten typische Fehlermuster zu erkennen. Auch in Steuergerätefunktionen für Fahrerassistenzfunktionen kommen Klassifikationsverfahren und andere Verfahren des maschinellen Lernens auf vielfältige Weise zum Einsatz.
  • Im Folgenden werden Beispiele für den Einsatz von Klassifikatoren bzw. Klassifikationsverfahren im Rahmen einer Verifikation oder Validierung eines Produkts beschrieben, beispielsweise für die Validierung einer eigebetteten SoftwareFunktion, insbesondere für Fahrfunktionen eines zumindest teilautomatisierten Fahrzeugs oder Roboters.
  • 1 zeigt eine beispielhafte Ausprägung eines computerimplementierten Verfahren zum Testen eines Produkts. Über das hierzu beschriebene Framework können unterschiedliche Simulationsmodelle und unterschiedliche Klassifikatoren in die Validierung eingebunden werden.
  • Eingangsgrößen 101 können in ein Eingangsmodell 102 eingegeben werden, welches Ausgangsgrößen an eine simulationsbasierte Testumgebung 110 ausgibt. Weiterhin können weitere Eingangsgrößen 103, wie zum Beispiel Szenariolisten, Daten eines Testkatalogs oder ähnliche Informationen, direkt an die simulationsbasierte Testumgebung 110 gegeben werden.
  • Die simulationsbasierte Testumgebung kann auf verschiedene Modelle und Werkzeuge zugreifen und das zu testende Produkt mittels einer Simulation untersuchen. Die Testumgebung kann insbesondere MiL-, SiL-, HiL- oder PiL-Verfahren einsetzen.
  • Ergebnisse des oder der Tests werden aus der simulationsbasierten Testumgebung 110 einer Klassifizierungsinstanz 111 übergeben, welche für diese eine Klassifikation durchführt. Ein Ergebnis der Klassifikation wird von der Klassifizierungsinstanz 111 an den Block 130 übergeben.
  • Aus Block 104 können weitere Informationen wie relevante Signale der Simulation, Referenzdaten, Modellparameter oder weitere Eingangsgrößen an Block 130 übergeben werden.
  • Aus Block 120 werden Referenzdaten aus einem alternativen Test an eine Klassifizierungsinstanz 121 übergeben. Der alternative Test kann dabei insbesondere ein Versuch am realen Produkt sein oder es kann sich um eine besonders genaue, komplexere Simulation handeln als die Simulation in Block 110. Block 120 kann dabei insbesondere eine Datenbank mit Referenzdaten sein. Alternativ kann es sich bei Block 120 auch um eine weitere Testumgebung handeln, beispielsweise auch eine Apparatur zur Erzeugung weiterer Messungen, insbesondere am realen Produkt.
  • In den Klassifizierungsinstanzen 111 bzw. 121 werden die Ausgangsgrößen bzw. Ergebnisse der Simulation aus Block 110 bzw. die Ausgangsgrößen bzw. Referenzdaten aus Block 120 nach vorgegebenen Kriterien klassifiziert. Diese Kriterien können beispielsweise über eine Schnittstelle aus einer Nutzereingabe ermittelt werden.
  • Mögliche Klassifikationskriterien können z.B. sein:
    • - bei Software-, Hardware- oder Systemtests: Test bestanden / Test nicht bestanden oder Test/ freigegeben / Test nicht freigegeben
    • - bei Diagnose- und Detektionsfunktionen: Falsch positiv / falsch negativ / wahr positiv / wahr negativ
    • - im Kontext von Simulationen zur funktionalen Sicherheit, z.B. SOTIF-Simulationen (SOTIF = Safety Of The Intended Functionality): vordefiniertes Event eingetreten / nicht eingetreten
  • Je nach Anwendung lassen sich weitere Klassifikationskriterien definieren. Dabei bedeutet Klassifikation insbesondere die Zuordnung der Simulationsergebnisse bzw. Referenzdaten zu einer oder mehreren Klasse einer diskreten Anzahl von Klassen.
  • Block 130 umfasst eine klassifikationsbasierte Evaluierung der Genauigkeit oder Robustheit der Simulation aus Block 110, die Ausgangsgrößen 140 umfassen ein Maß für die Genauigkeit oder Robustheit der Simulation aus Block 110. Beispielsweise können die Ausgangsgrößen 140 eine Robustheits- oder Genauigkeitsmetrik wie ein Maß für einen Informationsgewinn (information gain) oder charakteristische Größen, wie sie aus dem Maschinellen Lernen bekannt sind, wie eine Konfusionsmatrix umfassen.
  • Zudem kann im Block 130 ein Klassifikator trainiert werden, der es ermöglicht, die Genauigkeit oder Robustheit der Simulation für weitere Tests oder Szenarien durchzuführen, ohne entsprechende neue Referenzmessungen durchführen zu müssen.
  • 2 zeigt einen Ausschnitt aus 1 mit Details zu Block 130.
  • In 2 sind die angebundenen Blöcke 110 und 120 und deren Eingänge nicht gezeigt. Die Klassifizierungsinstanzen 111 und 121 sowie deren Eingänge und Ausgänge entsprechen den Beschreibungen zu 1.
  • Block 130 kann neben den Klassifikationen aus den Blöcken 110 und 120 wie zu 1 beschrieben auch weitere Eingangsgrößen aus Block 104 erhalten. Block 130 umfasst insbesondere eine Eingangsinstanz 131 zum Empfang und zur Verarbeitung von Eingangsdaten.
  • Block 130 umfasst in 2 einen optionalen Block 132 zum Anlernen eines Klassifikators der Simulationsgüte. Dieser Block 132 beinhaltet hierzu insbesondere einen Algorithmus zum Vergleich unterschiedlicher möglicher Klassifikatoren und zur Auswahl des Klassifikators mit der größten Genauigkeit (Feature Selection). Dieser dient dazu, das Ergebnis der Klassifikation zu optimieren. Block 132 kann zum Anlernen des Klassifikators Informationen aus Block 131 erhalten.
  • Block 130 umfasst weiterhin einen Block 133 zu Modellerstellung, insbesondere zur Erstellung eines Metamodells, mit welchem eine Genauigkeit oder Robustheit der Simulation auch in Bereichen ermittelt werden kann, für welche keine Eingangsdaten bzw. keine Referenzdaten vorliegen. Block 133 kann dabei zur Modellerstellung Eingangsdaten aus Block 131 erhalten.
  • Block 130 umfasst zudem einen Block 134 zur Berechnung und Ausgabe von Ausgangsgrößen 140, insbesondere umfassend ein Maß der Genauigkeit oder Robustheit der Simulation aus Block 110. Block 134 kann zur Berechnung Eingangsdaten aus den Blöcken 132 und 133 erhalten.
  • Zur Merkmalsauswahl in Block 132, der Modellerstellung in Block 133 und Berechnung von Ausgangsgrößen 140 in Block 134 verfügt Block 130 insbesondere über Algorithmen des Maschinellen Lernens und Klassifizierungsalgorithmen bzw. kann auf eine entsprechende Bibliothek zugreifen, welche diese Algorithmen umfasst.
  • Für das Anlernen des Klassifikators werden im Folgenden zwei unterschiedliche Varianten dargestellt.
  • In der ersten Variante wird in Block 130 ein Gesamtklassifikator, beispielsweise in Form einer Konfusionsmatrix, bestimmt. Dieser Gesamtklassifikator umfasst z.B. n x n Klassen und beinhaltet gegebenenfalls für jeden dieser Klassen eine Wahrscheinlichkeit. Das Ergebnis dieser Gesamtklassifikation und die jeweils zugehörigen Parameter und Eingangsgrößen werden zum Anlernen verwendet. Das Training wird beispielsweise nach etablierten Methoden des überwachten maschinellen Lernens durchgeführt. Durch überwachtes Lernen wird ein Modell erstellt, welches einen Zusammenhang zwischen den Parametern und Eingangsgrößen einerseits und der bekannten Gesamtklassifikation andererseits herstellt. Der Anwender kann optional auswählen, für welche Elemente der n x n Matrix der eingelernte Gesamtklassifikator die Ergebnisse mit größter Genauigkeit wiedergegeben soll. Gibt der Anwender beispielsweise den Diagonalelementen der n x n Matrix ein höheres Gewicht, so bedeutet dies, dass der Klassifikator für solche Simulationen eine hohe Genauigkeit hat, für die in der Simulation und in der Referenzmessung das gleiche Klassifikationsergebnis erzielt wurde. Um dieses Ziel zu erreichen, kann z.B. für das Training des Gesamtklassifikators anstelle der n x n Matrix eine abgeleitete Größe wie z.B. eine gewichtete Summe verwendet werden. Eine andere mögliche Variante besteht darin, beim Training des Klassifikators Methoden zur Mehrziel-Optimierung anzuwenden.
  • Ist der Klassifikator eingelernt, werden bei seiner Auswertung zur Bestimmung der Genauigkeit oder Robustheit der Simulation nur noch die Ergebnisse aus der Simulation sowie die Parameter und Eingangsgrößen verwendet, welche zum Lernen verwendet wurden. Um die Klassifikation und die Simulationsgüte für weitere Szenarien oder Tests zu bestimmen, werden somit keine Referenzmessungen mehr benötigt.
  • In der zweiten Variante für das Anlernen des Klassifikators wird der Ausgang des Klassifikators für die Referenzdaten bestimmt. Das Ergebnis dieser Klassifikation und die jeweils zugehörigen Parameter und Eingangsgrößen werden zum Training verwendet. Das Training kann wiederum nach etablierten Methoden des überwachten maschinellen Lernens durchgeführt werden. Durch das überwachte Lernen wird ein Modell erstellt, welches einen Zusammenhang zwischen diesen Parametern und Eingangsgrößen einerseits und der bekannten Klassifikation andererseits herstellt.
  • Um die Simulationsgüte für weitere Test oder Szenarien durchzuführen, werden zusätzliche Simulationen durchgeführt und mit den vorhandenen Methoden ausgewertet. Anstatt weitere Referenzdaten zu erzeugen (beispielsweise durch Messungen) wird nun jedoch der eingelernte Klassifikator für die Referenzdaten verwendet und mit anderen Eingangsgrößen ausgewertet.
  • Im Folgenden soll die beispielhafte Anwendung eines der vorgestellten Verfahren für einen Funktionstest für einen Abstandsregeltempomat (ACC, Adaptive Cruise Control) eines Fahrzeugs beschrieben werden. Ein typisches Szenario zum Test eines ACC ist ein sogenanntes Einscher-Manöver (cut-in maneuver). Das zu testende System ist in diesem Fall die ACC-Funktionalität eines betrachteten Fahrzeugs. Dieses wird von einem weiteren Fahrzeug überholt, das - gegebenenfalls in geringem Abstand - vor dem betrachteten Auto einschert und seine Geschwindigkeit verringert. Eine Anforderung an das ACC für ein solches Szenario ist, dass das betrachtete Fahrzeug nach einer gewissen Zeit einen definierten Sicherheitsabstand wiederhergestellt haben muss. Der Abstand beim Einscheren und die Geschwindigkeiten der Fahrzeuge können unterschiedliche Werte annehmen. Diese spielen in diesem Szenario die Rolle der Eingangsgrößen (101 in 1) für das Eingangsmodell (102 in 1).
  • Für jede mögliche Parameterkonfiguration bzw. Kombination aus Eingangsgrößen wird ein Test in der Simulationsumgebung (110 in 1) durchgeführt und es werden Referenzdaten ermittelt (aus Block 120 in 1). Für jedes Ergebnis der Simulation bzw. den entsprechenden Referenzdaten wird in den Klassifizierungsinstanzen (111 bzw. 112 in 1) eine Klassifikation durchgeführt, in diesem Fall „Test bestanden“ oder „Test nicht bestanden“, je nachdem ob nach der vorgeschriebenen Zeit das betrachtete Fahrzeug einen vorgeschriebenen Sicherheitsabstand erreicht hat.
  • Zur Bestimmung der Genauigkeit oder Robustheit der Simulation in der Simulationsumgebung (110 in 1) kann nun beispielsweise wie folgt eine Konfusionsmatrix bestimmt werden (in Block 130 in 1):
    • Ein Eintrag in der Matrix entspricht der Anzahl der Tests, die sowohl in der Simulation als auch in der Referenzmessung bestanden wurden. Ein weiterer Eintrag ergibt sich aus der Zahl der Tests, die in der Simulation bestanden und in der Referenzmessung nicht bestanden waren, usw. In diesem einfachen Fall wird insbesondere über die Menge aller Tests summiert und ein Mittelwert gebildet.
  • Der Anwender kann jedoch optional die Möglichkeit haben, über Eingaben auszuwählen, bezüglich welcher Parameter summiert werden soll. Zudem kann er zum Beispiel auswählen, dass für jeden Wert der Geschwindigkeit eine Konfusionsmatrix gebildet werden soll. Die vom Anwender ausgewählten Parameter können also zwei unterschiedlichen Kategorien zugeordnet werden: Solche, über die gemittelt wird, und solche, für welche die Konfusionsmatrix separat gebildet wird.
  • Die Konfusionsmatrix kann auch eine Funktion in einem mehrdimensionalen Parameterraum sein (in diesem Fall z.B. Geschwindigkeit des betrachteten Fahrzeugs und Abstand beim Einscheren).
  • Falls über keinen Parameter summiert wird, ergibt sich für jeden Punkt im mehrdimensionalen Parameterraum eine der folgenden Klassen: „Test simulativ bestanden und in der Referenz bestanden“, „Test simulativ bestanden und in der Referenz nicht bestanden“, „Test simulativ nicht bestanden und in der Referenz bestanden“, „Test simulativ nicht bestanden und in der Referenz nicht bestanden“.
  • Im Anwendungsbeispiel für die Freigabe von Tests kann die Klassifizierung auf folgende Weise erweitert werden: „Test bestanden“, „Test nicht bestanden“, „Freigabebedingung für Test nicht erfüllt“. Die Zahl der Einträge in der Konfusionsmatrix bzw. die Kombinatorik der Klassen aus dem Vergleich von Simulation und Referenzmessung erhöhen sich dann entsprechend.
  • Eine Konfusionsmatrix für den Anwendungsfall zur Bewertung eines Tests könnte beispielsweise wie folgt aussehen:
    Simulation Bestanden Nicht bestanden Nicht freigegeben
    Referenz
    Bestanden 0,1 0,2 0,1
    Nicht bestanden 0,15 0,4 0
    Nicht freigegeben 0 0,05 0
  • Als weitere beispielhafte Anwendung soll die Genauigkeit oder Robustheit einer Simulation aus einer Simulationsumgebung für eine Diagnose- oder Detektionsfunktion bestimmt werden.
  • Unter anderem in Systemen mit eingebetteter Software werden häufig Diagnosefunktionen und Detektionsfunktionen verwendet. Manche dieser Funktionen dienen speziell zur Erkennung und Meldung von Fehlern. Beispiele hierfür sind die Diagnosefunktionen zur Überwachung eines Abgasnachbehandlungssystems. Tritt in relevanten Parameterbereichen ein auffälliges Verhalten auf, das auf eine Fehlfunktion hindeutet, so wird beispielsweise ein Status-Flag gesetzt, das weiterverarbeitet wird. Ein wiederholtes Auftreten eines solchen Ereignisses führt dazu, dass dem Fahrer ein Fehler angezeigt und im betreffenden Fehlerspeicher des Motorsteuergeräts eine entsprechende Information gespeichert wird.
  • Ein anderes Beispiel für den Einsatz von Diagnose- oder Detektionsfunktionen sind sicherheitsrelevante Funktionen für Fahrerassistenzsysteme wie AEB oder ESP. Auch hier werden Signale auf Grundlage vorgegebener Kriterien plausibilisiert und beim Auftreten bestimmter Ereignisse geeignete Gegenmaßnahmen eingeleitet (wie z.B. sicheres Anhalten, Einleiten einer Notbremsung oder andere Eingriffe in die Aktuatorik des Fahrzeugs).
  • In diesen Beispielen und für vielen weitere Anwendungen von Diagnose- und Detektionsfunktionen kann die Ausgabe der betreffenden Steuergerätefunktion einer der folgenden Kategorien zugeordnet werden:
    • - Falsch positiv: Es ist kein Ereignis aufgetreten, der implementierte Algorithmus hat jedoch ein Ereignis gemeldet.
    • - Falsch negativ: Es ist kein Ereignis aufgetreten, der implementierte Algorithmus hat ein Ereignis gemeldet.
    • - Wahr positiv: Es ist ein Ereignis aufgetreten, der implementierte Algorithmus hat ein Ereignis gemeldet.
    • - Wahr negativ: Es ist kein Ereignis aufgetreten, der implementierte Algorithmus hat kein Ereignis gemeldet.
  • Um Kosten einzusparen oder bereits in einer frühen Phase der Entwicklung Tests durchzuführen, werden auch solche Funktionen zunehmen in simulationsbasierten Plattformen bzw. Testumgebungen, z.B. mit SIL-, MIL- oder HIL-Verfahren getestet.
  • Als Ergebnis einer Bestimmung der Genauigkeit oder Robustheit einer solchen Simulation in einer Testumgebung für eine Diagnose- oder Detektionsfunktion kann aus dem Vergleich von Klassifikationen für die Simulationsergebnisse und für die entsprechenden Referenzdaten eine Metrik, beispielsweise eine Konfusionsmatrix berechnet werden. Auch in diesem Fall kann optional der Anwender auswählen, über welche Parameter summiert werden soll und über welche nicht. Wird über keinen der Parameter gemittelt, so kann jeder Punkt im Parameterraum einer der n Klassen zugeordnet werden (z.B. 16 Klassen bei einer 4x4-Matrix für die oben genannten Klassifikationen), je nachdem, was in der Simulation und in der Referenzmessung beobachtet wurde. Wird über einzelne Parameter gemittelt, so kann ein trainiertes Klassifikationsmodell für jeden Punkt und für jede Kategorie eine Wahrscheinlichkeit angeben (Konfusionsmatrix für jeden Punkt, wie im vorhergehenden Fall).
  • Eine Konfusionsmatrix für den Anwendungsfall zur Bewertung der Performance einer Diagnose- oder Detektionsfunktion könnte beispielsweise wie folgt aussehen:
    Simulation Falsch pos. Falsch neg. Wahr pos. Wahr neg.
    Referenz
    Falsch positiv 0,1 0,2 0,05 0,05
    Falsch negativ 0,15 0,3 0 0
    Wahr positiv 0 0,05 0 0
    Wahr negativ 0.05 0.05 0 0
  • Als weitere beispielhafte Anwendung sollen Simulationen zur Absicherung der funktionalen Sicherheit eines Produkts betrachtet werden, beispielsweise SOTIF-Simulationen von Fahrfunktionen eines zumindest teilautomatisierten Fahrzeugs.
  • Beispielsweise kann hierzu simulativ das Szenario einer Autobahnausfahrt betrachtet werden. Anhand von Fehlermodellen kann eine falsche Spurerkennung simuliert werden, die dazu führen kann, dass das Fahrzeug die Fahrbahn verlässt. Für jeden Fall, der im realen Feld beobachtet wurde, wird untersucht, ob das Fahrzeug in Folge des Fehlers die Fahrspur an der Ausfahrt verlassen hat oder nicht. Nun werden diese Szenarien mit Hilfe von Fehlermodellen in der Simulation nachgestellt und überprüft, ob das Fahrzeug in der Simulation die Fahrspur verlassen hat oder nicht. Für jeden zugehörigen Punkt im Parameterraum des Fehlermodells ergibt sich nun eine der Klassifikationen „Ereignis in Simulation und real eingetreten“, „Ereignis in Simulation nicht eingetreten und real nicht eingetreten“, „Ereignis in Simulation eingetreten und real nicht eingetreten“, „Ereignis in Simulation nicht eingetreten und real eingetreten“. Eine Klassifikation über die Parameter des Fehlermodells mittels eines Metamodells ermöglicht es in diesem Fall, die Prädiktionsgenauigkeit der Simulation auch für solche Simulationen vorherzusagen, die nicht real beobachtet werden. Die Konfusionsmatrix und daraus abgeleitete informationstheoretische Größen liefern in diesem Fall eine Indikation für die Genauigkeit oder Robustheit des Simulationsmodells für diese Art von Untersuchung.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • DE 102020205539 [0002]

Claims (11)

  1. Computerimplementiertes Verfahren zum Testen eines Produkts insbesondere einer Software, einer Hardware oder eines Systems umfassend Hardware und Software, gekennzeichnet durch folgende Schritte: - abhängig von Eingangsparametern wird für das Produkt eine Simulation durchgeführt, mit welcher eine bestimmte Eigenschaft des Produkts getestet wird, - abhängig von einem Vergleich eines Ergebnisses der Simulation mit einer Anforderung an die bestimmte Eigenschaft wird für das Ergebnis der Simulation eine erste Klassifikation ausgegeben, - abhängig von einem Vergleich von Referenzdaten aus einem alternativen Test der bestimmten Eigenschaft des Produkts mit der Anforderung an die bestimmte Eigenschaft wird eine zweite Klassifikation ermittelt, - abhängig von der ersten Klassifikation und der zweiten Klassifikation wird eine Genauigkeit oder Robustheit der Simulation bestimmt.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Referenzdaten aus einem Test am realen Produkt oder aus einer Referenzsimulation stammen.
  3. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die erste Klassifikation und die zweite Klassifikation jeweils umfassen, ob das Produkt den Test bestanden hat oder nicht bestanden hat oder ob der Test nicht durchgeführt wurde, insbesondere, weil für eine Durchführung des Tests spezifizierte Bedingungen nicht erfüllt waren.
  4. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die bestimmte Eigenschaft eine Diagnose- oder Detektionsfunktion umfasst und die erste Klassifikation und die zweite Klassifikation jeweils umfassen, ob die Diagnose- oder Detektionsfunktion zu einem falsch positiven, einem falsch negativen, einem wahr positiven oder einem wahr negativen Ergebnis kommt.
  5. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die bestimmte Eigenschaft eine sicherheitskritische Eigenschaft des Produkts umfasst und die erste Klassifikation und die zweite Klassifikation jeweils umfassen, ob ein vordefiniertes, sicherheitsrelevantes Ereignis eingetreten ist oder nicht.
  6. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass abhängig von Vergleichen zwischen ersten Klassifikationen und zweiten Klassifikationen mehrerer Tests ein Klassifikator für eine Simulationsgenauigkeit oder Simulationsrobustheit angelernt wird.
  7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass eine Genauigkeit oder Robustheit einer weiteren Simulation abhängig von dem angelernten Klassifikator für die Simulationsgenauigkeit oder Simulationsrobustheit bestimmt wird.
  8. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die Genauigkeit oder Robustheit der Simulation anhand einer Konfusionsmatrix oder eines Information Gain bestimmt wird.
  9. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass das Produkt eine sicherheitskritische Softwarefunktion oder ein sicherheitskritisches System für ein zumindest teilautomatisiertes Fahrzeug oder für einen zumindest teilautomatisierten Roboter umfasst.
  10. Computerprogramm, welches dazu eingerichtet ist, ein Verfahren nach einem der vorangegangenen Ansprüche durchzuführen.
  11. Testumgebung, welche dazu eingerichtet ist, ein Verfahren nach einem der Ansprüche 1 bis 9 mit einem Computerprogramm nach Anspruch 10 durchzuführen.
DE102021109126.8A 2021-04-13 2021-04-13 Verfahren zum Testen eines Produkts Pending DE102021109126A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102021109126.8A DE102021109126A1 (de) 2021-04-13 2021-04-13 Verfahren zum Testen eines Produkts
US17/656,256 US20220327042A1 (en) 2021-04-13 2022-03-24 Method for testing a product
CN202210380122.2A CN115270902A (zh) 2021-04-13 2022-04-12 用于测试产品的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021109126.8A DE102021109126A1 (de) 2021-04-13 2021-04-13 Verfahren zum Testen eines Produkts

Publications (1)

Publication Number Publication Date
DE102021109126A1 true DE102021109126A1 (de) 2022-10-13

Family

ID=83361719

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021109126.8A Pending DE102021109126A1 (de) 2021-04-13 2021-04-13 Verfahren zum Testen eines Produkts

Country Status (3)

Country Link
US (1) US20220327042A1 (de)
CN (1) CN115270902A (de)
DE (1) DE102021109126A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10831636B2 (en) * 2018-01-08 2020-11-10 Waymo Llc Software validation for autonomous vehicles

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020205539A1 (de) 2020-04-30 2021-11-04 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Prüfen eines technischen Systems

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7373550B2 (en) * 2005-02-03 2008-05-13 Arm Limited Generation of a computer program to test for correct operation of a data processing apparatus
US11030364B2 (en) * 2018-09-12 2021-06-08 Ford Global Technologies, Llc Evaluating autonomous vehicle algorithms
US20210149793A1 (en) * 2019-11-19 2021-05-20 International Business Machines Corporation Weighted code coverage
US20210165932A1 (en) * 2019-12-02 2021-06-03 Nuro, Inc. Collision filtering for autonomous vehicle simulations
US20220198107A1 (en) * 2020-12-23 2022-06-23 Waymo Llc Simulations for evaluating driving behaviors of autonomous vehicles

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020205539A1 (de) 2020-04-30 2021-11-04 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Prüfen eines technischen Systems

Also Published As

Publication number Publication date
CN115270902A (zh) 2022-11-01
US20220327042A1 (en) 2022-10-13

Similar Documents

Publication Publication Date Title
DE102008013366B4 (de) Verfahren zur Bereitstellung von Information für Fahrerassistenzsysteme
DE102020205539A1 (de) Verfahren und Vorrichtung zum Prüfen eines technischen Systems
DE102018128289A1 (de) Verfahren und vorrichtung für eine autonome systemleistung und zur einstufung
DE102010013943A1 (de) Verfahren und Vorrichtung für eine Funktionsprüfung einer Objekt-Erkennungseinrichtung eines Kraftwagens
DE102019209540A1 (de) Verfahren und Vorrichtung zur optimalen Aufteilung von Testfällen auf unterschiedliche Testplattformen
EP3757792A2 (de) Verfahren und vorrichtung zum prüfen eines systems, zur auswahl realer tests und zum testen von systemen mit komponenten maschinellen lernens
DE102019134053A1 (de) Verfahren zur kontinuierlichen Absicherung im Fahrversuch applizierter automatisierter Fahrfunktionen
DE102021109126A1 (de) Verfahren zum Testen eines Produkts
AT523850B1 (de) Computergestütztes Verfahren und Vorrichtung zur wahrscheinlichkeitsbasierten Geschwindigkeitsprognose für Fahrzeuge
DE102021109129A1 (de) Verfahren zum Testen eines Produkts
DE102021109131A1 (de) Verfahren zum Testen eines Produkts
DE102021109127A1 (de) Verfahren zum Testen eines Produkts
DE102021109128A1 (de) Verfahren zum Testen eines Produkts
WO2018177526A1 (de) Robustheitsanalyse bei fahrzeugen
DE102021109130A1 (de) Verfahren zum Testen eines Produkts
DE102020206321A1 (de) Verfahren und Vorrichtung zum Prüfen eines technischen Systems
EP3757698A1 (de) Verfahren und vorrichtung zur bewertung und auswahl von signal-vergleichsmetriken
DE102019218476A1 (de) Vorrichtung und Verfahren zum Messen, Simulieren, Labeln und zur Bewertung von Komponenten und Systemen von Fahrzeugen
DE102019219067A1 (de) Verfahren zur automatischen Qualifizierung eines virtuellen Modells für eine Kraftfahrzeugkomponente
DE102021109133A1 (de) Verfahren und Vorrichtung zum Erstellen von Testfällen für ein Testsystem
WO2018206522A1 (de) Produktreifebestimmung eines technischen systems und insbesondere eines autonom fahrenden fahrzeugs
DE102021202335A1 (de) Verfahren und Vorrichtung zum Prüfen eines technischen Systems
DE102023000357B3 (de) Verfahren zum Erzeugen von Testdaten für eine Simulation eines Assistenzsystems eines zumindest teilweise assistiert betriebenen Kraftfahrzeugs, Computerprogrammprodukt, computerlesbares Speichermedium sowie elektronische Recheneinrichtung
DE102020205527A1 (de) Verfahren und Vorrichtung zum Prüfen eines technischen Systems
DE102022120754A1 (de) Verfahren und System zum Ausführen eines virtuellen Tests