-
Die vorliegende Erfindung betrifft eine Testvorrichtung.
-
Kriterien für eine Versuchsabdeckung (test coverage) im Zusammenhang mit Softwareversuchen basieren typischerweise auf einem diskreten und abgeschlossenen Eingangsdatenraum, z.B. auf Programmausführungen derart, dass jeder Zweig, jede Aussage, jede Funktion etc. mindestens einmal abgedeckt ist.
-
Aus der
DE 10 2011 081 346 A1 ist ein Verfahren zum Bedaten einer Funktion für ein Steuergerät bekannt, bei dem an einem globalen datenbasierten Modell virtuelle Messungen durchgeführt werden, die reelle Messungen simulieren, und bei dem Unsicherheiten der virtuellen Messwerte beim Bedaten der Funktion berücksichtigt werden.
-
Offenbarung der Erfindung
-
Vorgestellt wird eine Testvorrichtung, welche eingerichtet ist, ein System zu testen. Die Testvorrichtung umfasst eine Eingabeeinheit, welche eingerichtet ist, das System mit Eingangsgrößen anzuregen sowie eine Verarbeitungseinheit, welche eingerichtet ist, Ausgangsgrößen des Systems zu ermitteln. Weiterhin umfasst die Testvorrichtung einen Anforderungsmonitor, welcher eingerichtet ist zu überprüfen, ob die Ausgangsgrößen des Systems mindestens eine Anforderung erfüllen, und einen ersten Wert auszugeben, welcher die Erfüllung der mindestens einen Anforderung anzeigt. Zusätzlich umfasst die Testvorrichtung eine Testabdeckungseinheit, welche eingerichtet ist, ein Maß für eine Testabdeckung zu berechnen, wobei die Testabdeckungseinheit eingerichtet ist, ein Ersatzmodell zu erstellen für die Funktion, welche die Eingangsgrößen auf den ersten Wert abbildet, aus dem Ersatzmodell eine Wahrscheinlichkeit für eine Verletzung der mindestens einen Anforderung zu berechnen und abhängig von der berechneten Wahrscheinlichkeit ein Maß für eine Testabdeckung zu berechnen. Eine Steuereinheit der Testvorrichtung ist dazu eingerichtet, den Test des Systems zu steuern und abhängig von dem Maß für die Testabdeckung zu beenden.
In bisherigen Testumgebungen werden Testabdeckung und Testende-Kriterien für cyber-physikalische System meist informell durch Experten bestimmt oder sind durch eine Diskretisierung und Begrenzung des Eingangsgrößenraum gegeben. Dagegen stellt die Erfindung ein objektives, quantitatives Kriterium zur Verfügung, ohne explizit den kontinuierlichen Eingangsgrößenraum zu diskretisieren. Somit kann ein automatisiertes Testende nach objektiven, quantitativen Kriterien erfolgen. Die Qualität der Tests wird somit sichergestellt, gleichzeitig aber auch die Testdauer auf das erforderliche Maß reduziert.
-
In einer vorteilhaften Ausgestaltung ist die Testabdeckungseinheit dazu eingerichtet, das Maß für die Testabdeckung abhängig von einer Konvergenz der berechneten Wahrscheinlichkeit zu berechnen. Hiermit kann besonders effizient ein Ausgleich zwischen Sicherheit der Erfüllung der Anforderungen auf der einen Seite und dem Wunsch nach einer möglichst reduzierten Zahl an Testdurchläufen auf der anderen Seite gefunden werden.
-
Vorteilhafterweise ist die Testabdeckungseinheit dazu eingerichtet, als die Wahrscheinlichkeit eine maximale Wahrscheinlichkeit für die Verletzung der mindestens einen Anforderung oder eine durchschnittliche Wahrscheinlichkeit für die Verletzung der mindestens einen Anforderung zu berechnen. Diese Werte haben sich als Abdeckungsmaße bzw. Testende-Kriterien als besonders aussagekräftig erwiesen.
-
In vorteilhaften Ausgestaltungen wird als Ersatzmodell ein stochastisches Ersatzmodell herangezogen, insbesondere ein Gaußprozessmodell. Durch die Eigenschaft des Gaußprozessmodells, Unsicherheiten mit ausgeben zu können, kann besonders effizient ein Wahrscheinlichkeitsmaß berechnet werden.
-
Um die Berechnung des Ersatzmodells robust zu gestalten, kann in einer vorteilhaften Ausgestaltung die Testabdeckungseinheit dazu eingerichtet sein, für das Ersatzmodell eine Kreuzvalidierung durchzuführen.
-
Die Steuereinheit ist in vorteilhaften Ausgestaltungen eingerichtet, den ersten Wert nach Beendigung des Tests für eine Bewertung der Erfüllung der mindestens einen Anforderung heranzuziehen. Mit dem Testende steht somit ein belastbares und effizient generiertes Testergebnis zur Verfügung.
-
Vorteilhafterweise umfasst das System mindestens eine Hardwarekomponente und / oder eine Softwarefunktion eines Fahrzeugs oder eines Roboters, insbesondere für eine autonome Bewegungsfunktion des Fahrzeugs oder des Roboters. Hierbei führen oft besonders viele Freiheitsgrade zu sehr aufwendigen Tests bei gleichzeitig hohen oft sicherheitsrelevanten Anforderungen. Um die Tests überhaupt beherrschen zu können, bieten sich die vorgeschlagenen Verfahren hier besonders an.
-
Vorteilhafterweise umfasst der Test des Systems mindestens einen Versuch am System und / oder eine Hardware-in-the-loop und / oder eine Software-in-the-loop und / oder ein Model-in-the-loop und / oder eine Simulation.
-
Zeichnungen
-
Nachfolgend ist die Erfindung unter Bezugnahme auf die beiliegende Zeichnung und anhand von Ausführungsbeispielen näher beschrieben. Dabei zeigt 1 schematisch eine Testanordnung mit einem zu testenden System und einer Testvorrichtung.
-
Beschreibung der Ausführungsbeispiele
-
Als Ausgangspunkt für den Test eines Systems kann das zu testende System real vorliegen oder beispielsweise als ein dynamisches Modell eines realen Systems. An das zu testenden System werden formalisierte Anforderungen gestellt, welche das System erfüllen soll. Mit dem Test wird nun geprüft, ob das System jede Anforderung erfüllt, indem konkrete Eingangsgrößen für das System erzeugt werden und die entsprechenden Ausgangsgrößen des Systems betrachtet werden. Für diesen Testvorgang wird ein Maß für eine Testabdeckung vorgeschlagen, die eingesetzt werden kann, um auf Basis von quantitativen Kriterien zu entscheiden, wann der Test beendet werden kann.
Beispiele für zu testende Systeme und zugehörige Anforderungen umfassen:
- - Fahrerassistenzsystem oder Fahrfunktion eines automatisierten Fahrzeugs: Das Fahrzeug darf in keinem Szenario eines parametrisierten Satzes verschiedener Fahrszenarien außer Kontrolle geraten oder einen Unfall verursachen.
- - Verbrennungsmotor eines Fahrzeugs: Der Motor darf in einem parametrisierten Satz von Fahrzyklen in keinem eine bestimmte Emissionsschwelle überschreiten.
-
Die Eingangsgrößen für das zu testende System, welche die konkrete Simulation oder das reale Experiment definieren, können als Menge von Parameterwerten gegeben sein. Zulässige Werte für individuelle Parameter sowie Parameterabhängigkeiten in der Form linearer oder nichtlinearer Nebenbedingungen können vorgegeben sein. Die Ausgangsgrößen eines bestimmten Tests am System, typischerweise eine vektorielle Zeitserie, werden von einem quantitativen Anforderungsmonitor bewertet, welcher ein robustes Maß für die Erfüllung der Anforderungen bereitstellt. D.h., gegeben bestimmte Ausgangsgrößen eines getesteten Systems berechnet der Monitor eine reale, skalare Größe x, welche eine Erfüllung der Anforderungen anzeigt. Beispielsweise wird x so definiert, dass x > 0 ein Erfüllen der Anforderungen anzeigt und anderenfalls eine Verletzung der Anforderung vorliegt.
-
Das zu testende System bzw. das System im Test und der Anforderungsmonitor bilden gemeinsam eine Funktion, welche den Parameterraum der Eingangsgrößen in das System auf eine reale Größe abbildet, welche die Erfüllung oder Verletzung von Anforderungen anzeigt. Das Ziel eines Tests des Systems ist es, einen Parameter zu finden, welcher zu einer Verletzung der Anforderung führt, oder zum Ergebnis zu kommen, dass mit einem bestimmten Maß an Sicherheit keine Verletzungen der Anforderungen bestehen, nachdem eine endliche Anzahl an Eingangsgrößen des unendlichen Eingangsgrößenraums getestet wurde. Der Test kann insbesondere durch Simulation eines Modells des Systems oder über Parameter eines bestimmten realen Experiments erfolgen.
-
1 zeigt schematisch eine Testanordnung zum Test eines technischen Systems 1. Das technische System 1 kann dabei eine zu testende Hardware, eine zu testende Software oder ein System mit zu testenden Hardware- und Softwareelementen sein.
-
Neben dem zu testenden System 1 bzw. System im Test 1 ist noch eine Vorrichtung 2 gezeigt, welche den Test durchführt. Dabei weist die Vorrichtung 2 eine Recheneinheit oder Steuereinheit 21 auf, welche den Testvorgang steuert. Die Recheneinheit 21 kann beispielsweise eine Eingabeeinheit 22 der Testvorrichtung 2 anweisen, das System 1 mit Eingangsgrößen anzuregen. Eine Auswerteeinheit 23 der Testvorrichtung 2 misst oder ermittelt die Ausgangsgrößen des Systems 1 nach Anregung durch die Eingangsgrößen. In einem Anforderungsmonitor 24 der Testvorrichtung 2 wird daraufhin überprüft, ob die Ausgangsgrößen Anforderungen an das System erfüllen. Das Ergebnis der Anforderungsüberprüfung und gegebenenfalls die Ausgangsgrößen werden der Steuereinheit 21 übermittelt.
-
Zudem wird in einer Testabdeckungseinheit 25 der Testanordnung 2 eine Metrik berechnet, welche ein quantitatives Maß für die aktuelle Testabdeckung liefert und dieses der Steuereinheit 21 übermittelt. Die Steuereinheit 21 kann abhängig vom empfangenen Maß für die Testabdeckung den Test bzw. die Testreihe beenden. Das Maß für die Testabdeckung kann somit als Testende-Kriterium eingesetzt werden. Das gilt insbesondere für den Fall, dass bis dahin noch keine Verletzungen der Anforderungen festgestellt wurden. Festgestellte Verletzungen können gegebenenfalls bereits zu einem Testende führen.
-
Die in 1 gezeigten Funktionsblöcke können dabei als Hardwareschaltungen und / oder als Softwarefunktionen realisiert sein.
-
Die Funktion, welche durch das System im Test und den Anforderungsmonitor gebildet wird, bildet einen vektoriellen Parameterwert (die Eingangsgrößen) auf einen Wert ab, welcher eine Aussage über die Erfüllung von Anforderungen trifft. Diese Funktion kann nur für konkrete Parameterwerte beobachtet werden. Jeder Parameterwert entspricht einem einzelnen Versuchsdurchgang, beispielsweise einem Simulationsdurchgang oder einem einzelnen realen Experiment. Entsprechend ist die Funktion immer nur an einer endlichen Zahl von Punkten bekannt.
-
Eine Abschätzung dieser Funktion über den gesamten kontinuierlichen Parameterraum soll nun von einem stochastischen Ersatzmodel geliefert werden. Vorzugsweise wird hierzu ein Gaußprozess als Ersatzmodell eingesetzt. Ein Gaußprozess ist eine Funktion, welche jeden Parameterwert p auf eine probabilistische Verteilung abbildet. Die Verteilung wird insbesondere als Normalverteilung
mit einem Mittelwert µ und einer Standardabweichung σ vorgesehen. Die Funktion stellt also eine Wahrscheinlichkeitsverteilung von Funktionswerten gegeben den Parameter p dar.
-
Die Wahrscheinlichkeitsverteilung gegeben den Parameter p kann verwendet werden, um die Wahrscheinlichkeit zu berechnen, dass die Funktion einen Wert annimmt, der aussagt, dass eine Anforderung für den Parameter p verletzt ist. Mit der oben diskutierten Wahl der skalaren Größe x, so dass skalare Größe x > 0 eine Erfüllung der Anforderungen anzeigt, gilt das für Funktionswerte kleiner / gleich 0. Die Wahrscheinlichkeit ist dann gegeben durch den Wert der kumulativen Verteilungsfunktion bei 0.
-
Bezeichnet man die kumulative Verteilungsfunktion der probabilistischen Verteilung als ΦGP(p), so entspricht ΦGP(p)(0) der Wahrscheinlichkeit einer Anforderungsverletzung für den Parameter p.
-
Es können nun insbesondere zwei Maße betrachten werden. Zum einen die maximale Wahrscheinlichkeit für eine Anforderungsverletzung (MPRV):
-
Zum anderen die durchschnittliche Wahrscheinlichkeit für eine Anforderungsverletzung (APRV):
wobei f
p die Verteilungsfunktion für die Parameter darstellt.
-
Für eine Sequenz von Beobachtungen bestehend aus vektoriellen Parameterwerten bzw. Eingangsgrößen und entsprechendem Anforderungserfüllungswert (pi,r(pi)) wird ein Gaußprozess-Ersatzmodell berechnet. Die Berechnung erfolgt über eine Gaußprozess-Regression. Dabei werden die Kernelparameter des Gaußprozesses bestimmt, indem die Wahrscheinlichkeit für r(pi) gegeben pi für alle i maximiert wird.
-
Um eine robuste Regression zu ermöglichen, kann eine Kreuzvalidierung verwendet werden. Das heißt, dass eine Gaußprozess-Regression für verschiedene Teilmengen der gesehenen, z.B. bereits gemessenen oder beobachteten Daten durchgeführt wird und ihre Eignung zur Vorhersage der verbleibenden ungesehenen Daten von einer Verlustfunktion der Kreuzvalidierung quantifiziert wird, beispielsweise über den mittleren quadratischen Fehler.
-
GPn soll nun den Gaußprozess nach der Beobachtung der Funktion für n Parameterwerte bezeichnen und MPRVn = MPRV(GPn) sowie APRVn = APRV(GPn).
-
Die maximale Wahrscheinlichkeit für eine Anforderungsverletzung MPRVn und die durchschnittliche Wahrscheinlichkeit für eine Anforderungsverletzung APRVn erreichen ihren wahren Wert in der Grenze n → ∞. Für die Konvergenz der Funktionen MPRVn und APRVn wird ein heuristisches Konvergenzmaß verwendet.
-
Ein möglicher Ansatz für das Konvergenzmaß ist eine Schätzung der Konvergenzrate, beispielsweise wie folgt. Konvergiert eine Folge x
1, x
2, ..., x
n gegen einen Wert r und gibt es reelle Zahlen λ > 0 und α > 1, so dass
-
So bezeichnet Konvergenzrate α die Konvergenzrate.
-
Eine Schätzung der Konvergenzrate kann dann beispielsweise erfolgen anhand der Formel:
-
Auch kann eine obere Schranke der Änderungsrate
δ ≥ |MRPVn+1 - MRPVn| bzw. δ ≥ |ARPVn+1 - ARPVn| für alle n ≥ N geschätzt werden. Unterschreitet δ eine bestimmte Schwelle, die in Abhängigkeit zu a definiert werden kann, so wird die Konvergenz angenommen.
-
Das Konvergenzmaß kann als Testabdeckungsmaß interpretiert werden unter der Annahme, dass MPRVn und APRVn das Versuchsziel repräsentieren.
-
Der finale Wert von MPRVn und APRVn kann verwendet werden, um zu bestimmen, ob das System im Test mit ausreichender Wahrscheinlichkeit die Anforderungen erfüllt.
-
Der Ansatz kann auch für verrauschte Funktionen eingesetzt werden. In diesem Fall wird angenommen, dass r(p) einer Wahrscheinlichkeitsverteilung unterworfen ist, deren Parameter im Rahmen der Gaußprozessregression geschätzt werden. Vorzugsweise kann dabei angenommen werden, dass r(p) normalverteilt ist.
-
Das Verfahren kann realisiert sein als eine Funktion eines Teststandes, an welchem Messungen an einem technischen System gesammelt und (automatisch) durch einen Anforderungsmonitor hinsichtlich formalisierter Anforderungen bewertet werden. Der Teststand kann das Abdeckungsmaß visualisieren, so dass demjenigen, der den Versuch durchführt, ein quantitatives Kriterium zur Verfügung gestellt wird, insbesondere, um das Testende zu bestimmen. Auch kann ein automatisches Testende abhängig von dem Abdeckungsmaß erfolgen.
-
In einer weiteren vorteilhaften Ausgestaltung kann die Erfindung auch als Bestandteil einer Simulation oder eines softwareimplementieren Versuchswerkzeugs implementiert sein. Hierbei werden eine Beschreibung des Parameterraums in Form von Wertbereichen, Randbedingungen, einer Sequenz von Werte-Tupeln vektorieller Parameter und Werte eines Anforderungsmonitors herangezogen und das Maß für die Abdeckung über eine maximale Wahrscheinlichkeit für eine Anforderungsverletzung MPRVn oder eine durchschnittliche Wahrscheinlichkeit für eine Anforderungsverletzung APRVn ausgegeben. Abhängig hiervon erfolgt insbesondere ein automatisches Simulationsende.
-
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 102011081346 A1 [0003]