DE112013004307T5 - Systeme und Verfahren für eine zustandsbasierte Testfallgenerierung zur Software-Validierung - Google Patents

Systeme und Verfahren für eine zustandsbasierte Testfallgenerierung zur Software-Validierung Download PDF

Info

Publication number
DE112013004307T5
DE112013004307T5 DE112013004307.6T DE112013004307T DE112013004307T5 DE 112013004307 T5 DE112013004307 T5 DE 112013004307T5 DE 112013004307 T DE112013004307 T DE 112013004307T DE 112013004307 T5 DE112013004307 T5 DE 112013004307T5
Authority
DE
Germany
Prior art keywords
input
test case
test
computing device
state
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.)
Ceased
Application number
DE112013004307.6T
Other languages
English (en)
Inventor
Jared Michael Farnsworth
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.)
Toyota Motor Engineering and Manufacturing North America Inc
Original Assignee
Toyota Motor Engineering and Manufacturing North America Inc
Toyota Engineering and Manufacturing North America Inc
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 Toyota Motor Engineering and Manufacturing North America Inc, Toyota Engineering and Manufacturing North America Inc filed Critical Toyota Motor Engineering and Manufacturing North America Inc
Publication of DE112013004307T5 publication Critical patent/DE112013004307T5/de
Ceased 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/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

Es werden Systeme und Verfahren für die zustandsbasierte Testfallgenerierung zur Software-Validierung offenbart. Eine Ausführungsform beinhaltet die Bestimmung einer ersten Eingabe und einer ersten Eingabeart für einen Programmblock einer Fahrzeug-Software zur Erzeugung eines Testfalls, wobei die erste Eingabeart eine zustandsbasierte Eingabe beinhaltet, die Bestimmung von Permutationen von Werten für die erste Eingabe auf Basis der ersten Eingabeart und das Durchspielen des Testfalls mit der zustandsbasierten Eingabe, wobei das Durchspielen des Testfalls das Anwenden der Permutationen von Werten für die erste Eingabe auf den Programmblock beinhaltet. Manche Ausführungsformen beinhalten eine Bestimmung durch eine Test-Rechenvorrichtung, ob der Testfall einen vorgegebenen Grad an Modified Condition/Decision Coverage (MC/DC) erreicht, und die Bereitstellung eines Hinweises darauf, ob der Testfall die vorgegebene Höhe der MC/DC erreicht.

Description

  • GEBIET DER TECHNIK
  • Hierin beschriebene Ausführungsformen betreffen allgemein die Generierung eines Testfalls zur Validierung von Software und genauer die Verwendung von zustandsbasierten Bestimmungen zur Generierung der Testfälle.
  • TECHNISCHER HINTERGRUND
  • Als Stand der Technik weisen viele Fahrzeuge integrierte Software auf, um bestimmte Funktionen bereitzustellen. Bevor das Fahrzeug an den Kunden verkauft wird, wird die Software validiert, um sicherzustellen, dass die Software ihre Funktionen ohne ein unerwünschtes Maß an Fehlern ausführt. Die Software-Validierung kann das Testen von Software mit einer Reihe von Testfällen in einer kontrollierten Umgebung beinhalten, wo der Gebrauch des Fahrzeugs simuliert werden soll. Heutige Werkzeuge zur Erzeugung von Testfällen nutzen zwei Hauptklassen von Verfahren zur Erzeugung von Testfällen, um Normen/Empfehlungen der internationalen Normungsorganisation (international standards organization, ISO) gerecht zu werden.
  • Die erste Klasse kann als formales Verfahren beschrieben werden, das Mathematik nutzt, um nachzuweisen, ob die Software korrekt funktioniert. Allerdings hat diese erste Klasse zahlreiche Beschränkungen aufgrund der Tatsache, dass in komplexer Software nicht-lineare Mathematik, Nachschlagtabellen, Zustandraum-Explosion, rechnerische Beschränkungen und dergleichen vorkommen. Somit ist diese erste Klasse häufig auf weniger umfangreiche, weniger komplizierte Software beschränkt. Die zweite Klasse kann als Generierung von zufälligen Testfällen beschrieben werden, die durch gezielte zufällige Testfälle für eine Modified Condition/Decision Coverage (MC/DC) sorgt. Allerdings ist es wahrscheinlich, dass die Generierung eines zufälligen Testfalls eine ungenügende Vielfältigkeit von Testfällen liefert, mit der keine akzeptable MC/DC für komplexe oder umfangreichere Software erreicht werden kann.
  • KURZFASSUNG DER ERFINDUNG
  • Es werden Systeme und Verfahren für die zustandsbasierte Testfallgenerierung zur Software-Validierung offenbart. Eine Ausführungsform des Verfahrens beinhaltet die Bestimmung einer ersten Eingabe und einer ersten Eingabeart für einen Programmblock einer Fahrzeug-Software zur Erzeugung eines ersten Testfalls, die Bestimmung von Permutationen von Werten für die erste Eingabe auf Basis der ersten Eingabeart und das Durchspielen des Testfalls mit der zustandsbasierten Eingabe, wobei das Durchspielen des Testfalls das Anwenden der Permutationen von Werten für die erste Eingabe auf den Programmblock beinhaltet. Manche Ausführungsformen beinhalten eine Bestimmung, ob der Testfall einen vorgegebenen Grad der Modified Condition/Decision Coverage (MC/DC) erreicht, und die Bereitstellung eines Hinweises darauf, ob der Testfall den vorgegebenen Grad an MC/DC erreicht.
  • In einer anderen Ausführungsform beinhaltet ein System eine Test-Rechenvorrichtung mit einem Speicher, der Logik speichert, die, wenn sie durch die Test-Rechenvorrichtung ausgeführt wird, bewirkt, dass die Test-Rechenvorrichtung eine erste Eingabe und eine erste Eingabeart für einen Programmblock der Fahrzeug-Software zur Erzeugung eines Testfalls bestimmt, eine zweite Eingabe und eine zweite Eingabeart für den Programmblock bestimmt und Permutationen von Werten für die erste Eingabe auf Basis der ersten Eingabeart bestimmt. In manchen Ausführungsformen bewirkt die Logik, dass die Test-Rechenvorrichtung einen Mechanismus bestimmt, um der zweiten Eingabe Werte zuzuweisen, den Testfall mit der zustandsbasierten Eingabe und der nicht-zustandsbasierten Eingabe durchzuspielen und zu bestimmen, ob der Testfall eine vorgegebenen Höhe der Modified Condition/Decision Coverage (MC/DC) erreicht.
  • In einer noch anderen Ausführungsform bewirkt ein nicht-transitorisches, computerlesbares Medium, dass eine Test-Rechenvorrichtung einen Programmblock aus Fahrzeug-Software eines Fahrzeugs, das getestet werden soll, auswählt, eine erste Eingabe und eine erste Eingabeart für den Programmblock bestimmt, um einen Testfall zu erzeugen, und eine zweite Eingabe und eine zweite Eingabeart für den Programmblock bestimmt. Im manchen Ausführungsformen bewirkt das nicht-transitorische, computerlesbare Medium, dass die Test-Rechenvorrichtung Permutationen von Werten für die erste Eingabe auf Basis der ersten Eingabeart bestimmt, einen Mechanismus zum Zuweisen von Werten für die zweite Eingabe auf Basis der zweiten Eingabeart bestimmt und den Testfall mit der zustandsbasierten Eingabe und der nicht-zustandsbasierten Eingabe durchspielt, wobei das Durchspielen des Testfalls das Anwenden der Permutationen von Werten für die erste Eingabe auf den Programmblock mit den Werten für die zweite Eingabe beinhaltet.
  • Diese und zusätzliche Merkmale, die von den Ausführungsformen der vorliegenden Offenbarung geschaffen werden, werden aus der folgenden ausführlichen Beschreibung in Zusammenschau mit den Zeichnungen besser verständlich werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die in den Zeichnungen dargestellten Ausführungsformen dienen als Erläuterung und als Beispiele und sollen die Offenbarung nicht beschränken. Die folgende ausführliche Beschreibung der erläuternden Ausführungsformen wird verständlich, wenn sie in Verbindung mit den folgenden Zeichnungen gelesen wird, wo ein gleicher Aufbau mit gleichen Bezugszahlen bezeichnet ist, und worin:
  • 1 schematisch eine Test-Rechenvorrichtung, wie sie zum Testen von Software in einem Fahrzeug verwendet werden kann, gemäß hierin offenbarten Ausführungformen darstellt;
  • 2A2C schematisch eine Steuerungsspezifikationsstruktur, die eine Mehrzahl von logischen Schichten zeigt, gemäß hierin offenbarten Ausführungsformen darstellt;
  • 3A eine logische Schaltung zur Implementierung einer Funktion in einem Fahrzeug gemäß hierin offenbarten Ausführungsformen darstellt;
  • 3B Eingaben, die aus der logischen Schaltung von 3A bestimmt werden können und die verwendet werden können, um einen Testfall zu erzeugen, gemäß hierin offenbarten Ausführungsformen darstellt;
  • 4 eine Anwenderschnittstelle, die zur Erzeugung des zustandsbasierten Testfalls verwendet werden kann, gemäß hierin offenbarten Ausführungsformen darstellt; und
  • 5 ein Ablaufschema zur Generierung eines zustandsbasierten Testfalls gemäß hierin offenbarten Ausführungsformen darstellt.
  • BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Hierin offenbarte Ausführungsformen beinhalten Systeme und Verfahren zur Generierung eines Testfalls zur Software-Validierung. Dementsprechend betreffen diese Ausführungsformen computerimplementierte Verfahren zur Generierung von Testfällen auf Basis von Modelleingabekennwerten für MC/DC. Die Ausführungsformen können zur Software-Validierung genutzt werden, um ISO-Normen/-Empfehlungen gerecht zu werden (z. B. ISO 26262). Im Allgemeinen können die Eingaben für die getestete Software in Zustandsvariable und Nicht-Zustandsvariable eingeteilt werden. Zustandsvariable in der Software können als Flag- oder Modusvariable beschrieben werden, die den Zustand eines Systems oder das Ergebnis einer Operation bezeichnen. Zustandsvariable werden in Software verwendet, um Konditionen und Entscheidungen auszudrücken. Konditionen können beispielsweise Ausdrücke sein für ein/aus, 0/1 oder dergleichen. Entscheidungen bestehen im Allgemeinen aus Konditionen, mit denen einer oder mehrere boolesche Operatoren arbeiten, beispielsweise wenn a und b „EIN” sind, und dann eine Funktion ausführen.
  • Die hierin offenbarten Testfälle können so generiert werden, dass bestimmte Konditionen zumindest einmal während des Validierungsprozesses des Testfalls zutreffen. Die Konditionen, die während der Validierung zutreffen, können die Folgenden beinhalten: jede Entscheidung versucht jedes mögliche Ergebnis zu bewirken; jede Kondition in einer Entscheidung nimmt den Wert jedes möglichen Ergebnisses an; jeder Eintritts- und Austrittspunkt wird aufgerufen; und es wird gezeigt, dass jede Kondition in einer Entscheidung das Ergebnis der Entscheidung unabhängig beeinflusst.
  • Nicht-Zustandsvariable beinhalten Rechenwerte, Regelwerte und Sensorwerte. Für Nicht-Zustandsvariable können hierin offenbarte Ausführungsformen Mechanismen nutzen wie Konstante, Zufall, zufällige ganze Zahl, Rampe, Sequenz, Transition und Permutation und dergleichen, um Testfallwerte zum Testen von Software bereitzustellen.
  • In manchen Ausführungsformen können Pseudo-Zustandsvariable als Zustandsvariable behandelt werden. Eine Pseudo-Zustandsvariable ist eine Nicht-Zustandsvariable, die in einer Entscheidung auf eine Weise verwendet wird, die einer Zustandsvariablen analog ist. Zum Beispiel kann eine Funktion ausgeführt werden, wenn eine Nicht-Zustandsvariable größer ist als ein Schwellenwert (z. B. kann eine Nicht-Zustandsvariable einen Bereich von 0–200 aufweisen, und eine Entscheidung kann getroffen werden, wenn die Nicht-Zustandsvariable größer ist als 50). Eine Pseudo-Zustandsvariable kann aus der Nicht-Zustandsvariable durch Zuweisen diskreter Werte erstellt werden, so dass sie sich wie eine Zustandsvariable verhält. Zum Beispiel kann die Variable in manchen Ausführungsformen auf 2 Zustände gesetzt werden: 50 = Ein und 51 = Aus.
  • Infolgedessen bestimmen hierin offenbarte Ausführungsformen, welche Eingaben als zustandsbasierte Eingaben und als nicht-zustandsbasierte Eingaben erkannt werden können. Die zustandsbasierten Eingaben können für jede Permutation eines Eingabewerts, die für diese zustandsbasierte Eingabe möglich ist, getestet werden. Außerdem können die nicht-zustandsbasierten Eingaben unter Verwendung einer Zufallszahl, einer Reihe von Zahlen und/oder anderer Werte getestet werden. Auf Basis dieser Eingabebestimmungen und Eingabewertauswahlen kann Fahrzeug-Software mit voller MC/DC effizienter getestet werden.
  • Nun wird auf die Zeichnungen Bezug genommen, von denen 1 schematisch eine Test-Rechenvorrichtung 112 darstellt, die gemäß hierin offenbarten Ausführungsformen zum Testen von Fahrzeug-Software 114c verwendet werden kann. In der dargestellten Ausführungsform beinhaltet die Test-Rechenvorrichtung 112 einen Prozessor 130, Eingabe-/Ausgabe-Hardware 132, Netzschnittstellen-Hardware 134, eine Datenspeicherungskomponente 136 und die Speicherkomponente 140. Die Speicherkomponente 140 kann als flüchtiger und/oder als nicht-flüchtiger Speicher konfiguriert sein und kann als solcher einen Speicher mit wahlfreiem Zugriff (einschließlich SRAM, DRAM und/oder anderer Arten von RAM), Flash-Speicher, einen sicheren digitalen (SD) Speicher, Register, Compact Disks (CD), Digital Versatile Disks (DVD) und/oder andere Arten von nicht-transitorischen, computerlesbaren Medien beinhalten. Abhängig von der jeweiligen Ausführungsform kann ein nicht-transitorisches, computerlesbares Medium in der Test-Rechenvorrichtung 112 und/oder außerhalb der Test-Rechenvorrichtung 112 angesiedelt sein.
  • Außerdem kann die Speicherkomponente 140 Betriebslogik 142, die Fahrzeug-Softwaretestlogik 144a, die Testfalllogik 144b und die Fahrzeug-Software 144c speichern. Die Fahrzeug-Software 144c kann die Software sein, die getestet wird. Ebenso können die Fahrzeug-Softwaretestlogik 144a und die Testfalllogik 144b jeweils eine Mehrzahl von verschiedenen Logiken beinhalten, von denen jede beispielsweise als Computerprogramm, Firmware und/oder Hardware ausgeführt sein kann. Eine lokale Schnittstelle 146 ist ebenfalls in 1 enthalten und kann als Bus oder andere Schnittstelle implementiert sein, um eine Kommunikation zwischen den Komponenten der Test-Rechenvorrichtung 112 zu erleichtern.
  • Der Prozessor 130 kann jede Verarbeitungskomponente beinhalten, die dazu dient, Befehle zu empfangen und auszuführen (beispielsweise von der Datenspeicherungskomponente 136 und/oder der Speicherkomponente 140). Die Eingabe-/Ausgabe-Hardware 132 kann einen Monitor, ein Positionierungssystem, eine Tastatur, eine Maus, einen Drucker, eine Bildaufnahmevorrichtung, ein Mikrofon, einen Lautsprecher, ein Gyroskop, einen Kompass und/oder eine andere Vorrichtung zum Empfangen, Senden und/oder Darstellen von Daten beinhalten und/oder so gestaltet sein, dass sie damit über eine Schnittstelle verbunden ist. Die Netzschnittstellen-Hardware 134 kann eine beliebige kabelgebundene oer drahtlose Netz-Hardware, einschließlich einer Antenne, eines Modems, eines LAN-Ports, einer Wireless Fidelity (Wi-Fi)-Karte, einer WiMax-Karte, einer Mobilkommunikations-Hardware und/oder anderer Hardware zum Kommunizieren mit anderen Netzen und/oder Vorrichtungen beinhalten und/oder so gestaltet sein, dass sie damit kommunizieren kann. Aufgrund dieser Verbindung kann eine Kommunikation zwischen der Test-Rechenvorrichtung 112 und anderen Rechenvorrichtungen erleichtert sein.
  • Die Betriebslogik 142 kann ein Betriebssystem und/oder andere Software beinhalten, um Komponenten der Test-Rechenvorrichtung 112 zu verwalten. Ebenso kann die Fahrzeug-Softwaretestlogik 144a in der Speicherkomponente 140 angesiedelt sein und kann so konfiguriert sein, dass sie den Prozessor 130 veranlasst, einen Test der Fahrzeug-Software 144c zu implementieren. Wie nachstehend ausführlicher erörtert wird, kann der Test, der von der Fahrzeug-Softwaretestlogik 144a implementiert wird, dafür da sein, zu bestimmen, dass die Fahrzeug-Software 144c fehlerfrei programmiert worden ist. Außerdem kann die Testfalllogik 144b so gestaltet sein, dass sie den Prozessor 130 veranlasst, einen Testfall zum Testen der Fahrzeug-Software 144c zu generieren. Andere Funktionen sind ebenfalls enthalten und werden nachstehend ausführlicher beschrieben.
  • Man beachte, dass die in 1 dargestellten Komponenten lediglich Beispiele sind und den Bereich der Offenbarung nicht beschränken sollen. Obwohl die in 1 dargestellten Komponenten in der Test-Rechenvorrichtung 112 angesiedelt sind, ist dies lediglich ein Beispiel. In manchen Ausführungsformen kann eine oder können mehrere von den Komponenten außerhalb der Test-Rechenvorrichtung 112 angesiedelt sein. Man beachte, dass die Test-Rechenvorrichtung 112 in 1 zwar als einzelne Vorrichtung dargestellt ist, dies aber ebenfalls lediglich ein Beispiel ist. In manchen Ausführungsformen können die Fahrzeug-Softwaretestlogik 144a und die Testfalllogik 144b in verschiedenen Vorrichtungen angesiedelt sein.
  • Außerdem sind zwar die Test-Rechenvorrichtung 112 so dargestellt, dass die Fahrzeug-Softwaretestlogik 144a und die Testfalllogik 144b separate logische Komponenten sind, aber dies ist ebenfalls ein Beispiel. In manchen Ausführungsformen kann eine einzige Logik die Test-Rechenvorrichtung 112 veranlassen, die beschriebenen Funktionen auszuführen.
  • 2A2C stellen schematisch eine Steuerungsspezifikationsstruktur, die eine Mehrzahl von logischen Schichten in der Fahrzeug-Software 144c zeigt, gemäß hierin offenbarten Ausführungsformen dar. Genauer zeigt 2A eine Anwendungsebene der Fahrzeug-Software 144c. Die Fahrzeug-Software 144c kann eine Mehrzahl von Anfangseingaben 210 beinhalten, die an einen Zustandsblock 212 geschickt werden. Die Zustandsblöcke 212 können diese Eingaben verarbeiten und Daten an einen Funktionsblock 214 schicken. Der Funktionsblock 214 kann die Daten weiterverarbeiten. Dies kann fortgesetzt werden, bis das gewünschte Ergebnis erhalten wird und an einen oder mehrere von den Ausgaben 216 geschickt wird. Obwohl in 2A nur zwei Verarbeitungsebenen (Blöcke 212 und 214) dargestellt sind, sei demgemäß klargestellt, dass mehr oder weniger Ebenen verwendet werden können, um die gewünschte Funktion im Fahrzeug 102 und/oder einer Fahrzeugrechenvorrichtung 104 zu implementieren.
  • 2B stellt den Funktionsblock 214 von 2A (z. B. die Funktionsschicht) dar. Genauer weist der dargestellte Funktionsblock 214 eine von den Anfangseingaben 210 von 2A ebenso wie die beiden Ausgaben aus den Zustandsblöcken 212 auf. Der Funktionsblock 214 beinhaltet eine Mehrzahl von Modulblöcken für die Weiterverarbeitung von Daten gemäß der Fahrzeug-Software 144c. Die Funktionsblockausgaben 226 sind ebenfalls dargestellt und können zum nächsten Block in 2A geschickt werden.
  • 2C zeigt den Modulblock 224 von 2B. Genauer können Eingaben 232 an einen Block 234 ausgegeben werden, der die Daten weiterverarbeiten kann. Diese Daten können dann von anderen Blöcken erneut verarbeitet werden und an eine Ausgabe 236 geschickt werden. Diese Ausgabe 236 kann dann weiter zu anderen Blöcken einer Anwendungsschicht, Blöcken einer Funktionsschicht geschickt und/oder an eine Ausgabe geschickt werden.
  • 2A stellt eine Mehrzahl von Blöcken in der Anwendungsschicht dar, von denen jede Verarbeitungskomponenten innerhalb dieser Blöcke beinhalten kann. Die Verarbeitungskomponenten in der Anwendungsschicht sind in der Funktionsschicht in 2B detailliert dargestellt. Ebenso kann jeder von den Funktionsblöcken in 2B zusätzliche Verarbeitungskomponenten beinhalten, die in der Modulschicht von 2C dargestellt sind. Um die Fahrzeug-Software 144c (1) zu implementieren, führt die Fahrzeugrechenvorrichtung 104 (ebenfalls 1) daher die Logik in jeder dieser Schichten aus. Beim Testen der Fahrzeug-Software 144c testet die Test-Rechenvorrichtung 112 somit jeden von den Blöcken in jeder von den Schichten, um sicherzustellen, dass die Fahrzeug-Software 144c fehlerfrei programmiert ist.
  • Man beachte, dass die Begriffe Eingabe, erste Eingabe, zweite Eingabe usw. hierin verwendet werden können, um Eingaben in die Fahrzeug-Software 144c oder andere Werte zu bezeichnen, die an einen logischen Block der Fahrzeug-Software 144c geschickt werden können. Somit kann der Begriff Eingabe verwendet werden, um irgendeinen Wert zu bezeichnen, der an eine logische Komponente gesendet wird.
  • 3A stellt eine logische Schaltung 300 zur Implementierung einer Funktion in einem Fahrzeug gemäß hierin offenbarten Ausführungsformen dar. Genauer kann die logische Schaltung 300 eine Logik innerhalb eines der Blöcke in der Anwendungsschicht, der Funktionsschicht und/oder der Modulschicht darstellen, die jeweils in 3A, 3B und 3C abgebildet sind. Wie dargestellt, beinhaltet die logische Schaltung 300 Eingaben 302a, 302b (gemeinsam als „Eingaben 302” bezeichnet). Die Eingaben 302 können die Form von binären Eingaben (als „Flags” erkannt), wo der Eingabewert eine von zwei Möglichkeiten darstellt (wie 0/1, ein/aus, usw.), Moduseingaben, wo die Eingabe eine von einer begrenzten Anzahl von Möglichkeiten ist, und/oder einer variablen Eingabe haben, wo die Eingabe eine von einer unendlichen Anzahl von Möglichkeiten (oder von einer sehr großen Zahl von Möglichkeiten) ist. Demgemäß kann bestimmt werden, dass die Flags und die Moduseingaben zustandsbasierte Eingaben sind, und sie können somit entsprechend getestet werden. Im aktuellen Beispiel wurde bestimmt, dass die Eingaben 302a beides Flags (binäre Eingaben) sind, während bestimmt wurde, dass die Eingabe 304 eine variable Eingabe ist. Es wurde bestimmt, dass die Eingabe 306 eine Moduseingabe ist.
  • Man beachte, dass die Bestimmung einer Eingabeart, wie einer ersten Eingabeart, einer zweiten Eingabeart usw., für jeden von den Blöcken in sowohl der Anwendungsschicht, der Funktionsschicht als auch der Modulschicht, die in 3A3C dargestellt sind, getroffen werden kann. Zusätzlich zur Bestimmung der Eingabeart können die möglichen Eingabewerte auch für jede von den Eingaben bestimmt werden.
  • Sobald die Eingabearten und Eingabewerte bestimmt worden sind, kann die Test-Rechenvorrichtung 112 einen Testfall für jeden von den Blöcken in 3A3C erzeugen. Genauer können die Testfälle als Logik erzeugt werden, die Permutationen von Werten (beispielsweise jede Permutation von zustandsbasierten Eingaben in der Fahrzeug-Software 144c) implementiert. Abhängig von der jeweiligen Ausführungsform kann das Testen der variablen Eingaben das Implementieren eines Mechanismus zum Testen eines Untersatzes möglicher Werte beinhalten. Als Beispiel kann ein Zufallswert für jede Permutation der zustandsbasierten Eingabewerte verwendet werden. Andere Mechanismen können verwendet werden, wie oben beschrieben.
  • Im vorliegenden Beispiel beinhaltet die logische Schaltung 300 einen logischen „und”-Operator 310, der die Eingaben 302 empfängt. Die Ausgabe des logischen „und”-Operators 310 wird zusammen mit den Werten 0 und 100 an einen ersten Schalter 312 geschickt. Der erste Schalter 312 macht eine Ausgabe an einen Multiport-Schalter 314. Ebenso werden die Eingaben 302 an einen logischen „oder”-Operator 316 geschickt. Die Ausgabe an den logischen „oder”-Operators 316 wird an einen zweiten Schalter 318 geschickt, der die Eingabe 304 empfängt, ebenso wie „0”. Der zweite Schalter 318 macht eine Ausgabe an den Multiport-Schalter 314. Der Multiport-Schalter 314 empfängt die Ausgaben vom ersten Schalter 312 und vom zweiten Schalter 318, ebenso wie den Wert „0” und die Eingabe 306. Der Multiport-Schalter 314 wählt eine gewünschte Ausgabe 320 aus.
  • 3B stellt Eingaben dar, die aus der logischen Schaltung 300 von 3A bestimmt werden können und die gemäß hierin offenbarten Ausführungsformen verwendet werden können, um einen Testfall zu erzeugen. Wie für die logische Schaltung 300 von 3A dargestellt ist, kann die Tabelle 340 bereitgestellt werden, um zu zeigen, dass jede von den Eingaben in dem Testfall implementiert wird, wenn die Fahrzeug-Software 144c getestet wird. Wie dargestellt, beinhalten die Eingaben in diesem Beispiel eine Moduseingabe, zwei Flag-Eingaben und eine variable Eingabe. Demgemäß werden die drei zustandsbasierten Eingaben in allen Permutationen von eingegebenen Werten implementiert. Außerdem wird die variable Eingabe als Zufallswert für jede von den Zustandspermutationen der zustandsbasierten Eingaben implementiert.
  • Sobald der Testfall entwickelt worden ist, kann die Test-Rechenvorrichtung 112 bestimmen, ob der Testfall eine MC/DC jenseits eines vorgegebenen Schwellenwerts erreicht (z. B. 95%, 100% usw.). Falls der Testfall eine vorgegebene MC/DC erreicht, kann der Testfall in der Fahrzeug-Software 144c implementiert werden, um zu bestimmen, ob die Fahrzeug-Software 144c ordnungsgemäß programmiert worden ist.
  • 4 stellt eine Anwenderschnittstelle 430 dar, die gemäß hierin offenbarten Ausführungsformen zur Erzeugung des zustandsbasierten Testfalls verwendet werden kann. Wie dargestellt kann die Test-Rechenvorrichtung 112 die Anwenderschnittstelle 430 zur Erzeugung eines neuen Testfalls bereitstellen. Der Anwender kann die Eingaben für jeden von den Blöcken in 2A2C bestimmen und einen Eingabenamen in der Eingabespalte 432 identifizieren. In der Sequenzspalte 434 kann der Anwender die verwendete Eingabeart identifizieren, ebenso wie die möglichen Werte für diese Eingabeart.
  • Zum Beispiel hat der Anwender in der ersten Zeile eine Eingabe mit dem Namen „flag1” eingegeben, die als zustandsbasierte Eingabe mit den möglichen Werten 0 und 1 verwendet wird. In der zweiten Zeile wird eine Eingabe mit dem Namen „mode1” als zustandsbasierte Eingabe mit den möglichen Werten 0, 2 und 4 verwendet. In der dritten Zeile wird eine Eingabe mit dem Namen „var1” als zufällige Eingabe mit möglichen Werten von 0 bis 100 verwendet. Andere Eingaben können abhängig von der jeweils getesteten Fahrzeug-Software implementiert und vorgesehen werden.
  • Man beachte, dass die Sequenzbezeichnungen, die in 4 abgebildet sind, nur Beispiele sind. Genauer können Bezeichnungen wie Konstante, Zufall, zufällige ganze Zahl, Rampe (z. B. eskalierende Werte), Sequenz (z. B. ein Muster), Transition (z. B. eine Transitionsdatensequenz über einer vorgegebenen Zeit), Permutation (z. B. die Erzeugung eindeutiger Permutationen für mehrere Eingaben) und/oder andere verwendet werden. Man beachte außerdem, dass in 4 zwar nur eine einzige Sequenz dargestellt ist, dass manche Ausführungsformen aber eine Mehrzahl von Sequenzen verwenden können, um unterschiedlichen Werten der Eingaben gerecht zu werden.
  • Ebenfalls in 4 enthalten ist eine Sequenz-Hinzufügungsoption 436, eine Sequenz-Weglassungsoption 438, eine Eingabe-Hinzufügungsoption 440, eine Eingabe-Weglassungsoption 442 und eine Testfall-Zeichnungsoption 444. Die Sequenz-Hinzufügungsoption 436 kann verwendet werden, um dem aktuellen Testfall eine Sequenz hinzuzufügen. Ebenso kann die Sequenz-Weglassungsoption 438 verwendet werden, um eine aktuelle Sequenz wegzulassen. Die Eingabe-Hinzufügungsoption 440 kann verwendet werden, um zusätzliche Eingaben zu dem Testfall hinzuzufügen, während die Eingabe-Weglassungsoption 442 verwendet werden kann, um eine bereits vorhandene Eingabe in dem Testfall wegzulassen. Die Testfall-Zeichnungsoption 444 kann verwendet werden, um eine grafische Darstellung des Testfalls bereitzustellen, um zu bestimmen, ob der Testfall eine angemessene MC/DC aufweist.
  • Ebenfalls in 4 enthalten ist eine Testfalldatei-Ladeoption 446, eine Option 448 zum Laden eines neuen Testfalls, eine Testfalldatei-Speicheroption 450, eine Testfall-Generierungs- und -Speicherungsoption 452 und eine Option 454 zum Hinzufügen eines Testfalls zu einem Modell-Signal-Builder. Genauer kann die Testfalldatei-Ladeoption 446 ausgewählt werden, um einen bereits vorhanden Testfall für den aktuellen Test zu verwenden. Die Option 448 zum Laden eines neuen Testfalls kann ausgewählt werden, um einen neuen Testfall zu beginnen. Die Testfalldatei-Speicheroption 450 kann ausgewählt werden, um den aktuellen Testfall zu speichern. Die Testfall-Generierungs- und -Speicherungsoption 452 kann ausgewählt werden, um den vollständigen Testfall für die Implementierung zu generieren und um den Testfall zu speichern. Die Option 454 zum Hinzufügen eines Testfalls zu einem Modell-Signal-Builder kann ausgewählt werden, um den Testfall zum Modell-Signal-Builder hinzuzufügen.
  • 5 stellt ein Ablaufschema zur Generierung eines zustandsbasierten Testfalls gemäß hierin offenbarten Ausführungsformen dar. Wie in Bock 550 dargestellt ist, können ein Programmblock, beispielsweise ein Anwendungsschichtblock, ein Funktionsschichtblock und/oder ein Mudulschichtblock in der Fahrzeug-Software 144 zum Testen ausgewählt werden. Wie oben erörtert, kann der Anwender mit der Anwenderschnittstelle 430 interagieren, um den Programmblock zu identifizieren. Im Block 552 können Eingaben und eine Eingabeart für das Modul bestimmt werden. Als Beispiel kann diese Bestimmung durch die Test-Rechenvorrichtung 112 durchgeführt werden, die mögliche Eingabewerte für die Eingabe identifiziert und dann die Eingabeart bestimmt. Ebenso kann die Bestimmung von der Test-Rechenvorrichtung 112 durchgeführt werden, welche die Eingabeart von einem Anwender empfangt. Unabhängig davon können die Eingaben eine zustandsbasierte Eingabe und eine nicht-zustandsbasierte Eingabe beinhalten. Im Block 554 können eindeutige Permutationen von Eingabewerten für die zustandsbasierten Eingaben bestimmt werden. Im Block 556 kann ein Mechanismus zum Zuweisen von nicht-zustandsbasierten Eingabewerten für die nicht-zustandsbasierten Eingaben bestimmt werden. Als Beispiel kann der Anwender in der Anwenderschnittstelle 430 angeben, ob die nicht-zustandsbasierten Eingabe Zufallswerte, Reihen und/oder andere Mechanismen sein werden. Im Block 558 kann der Testfall erzeugt und mit jedem von den zustandsbasierten Eingabewerten und den nicht-zustandsbasierten Eingabewerten durchgespielt werden. Im Block 560 können die Ergebnisse aus dem Testfall analysiert werden. Im Block 562 kann eine Bestimmung dahingehend getroffen werden, ob die Ziel-MC/DC erreicht worden ist. Falls nicht, kann das Ablaufschema zu Block 552 zurückkehren. Falls MC/DC erreicht wird, kann der Testfall in Block 564 validiert werden und verwendet werden, um die Fahrzeug-Software 144c zu testen.
  • Es sei klargestellt, dass hierin zwar eine Fahrzeug-Software 144c erörtert wird, dass der Bereich der vorliegenden Offenbarung aber nicht bloß auf eine Fahrzeug-Software beschränkt ist. Genauer können hierin offenbarte Ausführungsformen zum Testen jeder Art von Software verwendet werden, wo zumindest ein Teil der Eingaben in Programmblöcke als zustandsbasierte Eingaben identifiziert werden kann.
  • Wie oben dargestellt werden verschiedene Ausführungsformen für die zustandsbasierte Testfallgenerierung zur Software-Validierung offenbart. Genauer können die hierin offenbarten Ausführungsformen Anwendern die Fähigkeit verleihen, einen vorgegebenen Grad an MC/DC für einen Testfall zu erreichen, ohne Gefahr zu laufen, Mathematik hoher Ordnung anwenden zu müssen. Demgemäß kann der vorgegebene Grad an MC/DC leichter und effizienter erreicht werden als in heutigen Systemen.
  • Obwohl hierin bestimmte Ausführungsformen und Aspekte der vorliegenden Offenbarung dargestellt und beschrieben worden sind, können andere Änderungen und Modifikationen durchgeführt werden, ohne vom Gedanken und Bereich der Offenbarung abzuweichen. Darüber hinaus wurden hierin zwar verschiedene Aspekte beschrieben, aber diese Aspekte müssen in der Permutation nicht verwendet werden. Demgemäß sollen somit die beigefügten Ansprüche all diese Änderungen und Modifikationen, die im Bereich der hierin gezeigten und beschriebenen Ausführungsformen liegen, abdecken.
  • Es sollte nunmehr klar sein, dass hierin offenbarte Ausführungsformen Systeme, Verfahren und nicht-transitorische, computerlesbare Medien zum Bestimmen einer Temperaturkalibrierung beinhalten. Wie oben beschrieben sind diese Ausführungsformen so konfiguriert, dass sie einen dynamischen Glättungswert bestimmen, der auf Fahrzeuggeschwindigkeit, Kühlmitteltemperatur und/oder anderen Kriterien basiert. Es sei außerdem klargestellt, dass diese Ausführungsformen nur Beispiele sind und den Bereich der Offenbarung nicht beschränken sollen.

Claims (20)

  1. Verfahren für die zustandsbasierte Testfallgenerierung zur Software-Validierung, umfassend: Bestimmen einer ersten Eingabe und einer ersten Eingabeart für einen Programmblock von Software zur Erzeugung eines Testfalls durch eine Test-Rechenvorrichtung, wobei die erste Eingabeart eine zustandsbasierte Eingabe beinhaltet; Bestimmen von Permutationen von Werten für die erste Eingabe auf Basis der ersten Eingabeart durch die Test-Rechenvorrichtung; Implementieren des Testfalls mit der zustandsbasierten Eingabe durch die Test-Rechenvorrichtung, wobei die Implementierung des Testfalls das Anwenden der Permutationen von Werten für die erste Eingabe auf den Programmblock beinhaltet; Bestimmen, ob der Testfall einen vorgegebenen Grad an Modified Condition/Decision Coverage (MC/DC) erreicht, durch die Test-Rechenvorrichtung; und Bereitstellen einer Angabe, ob der Testfall den vorgegebenen Grad an MC/DC erreicht, durch die Test-Rechenvorrichtung.
  2. Verfahren nach Anspruch 1, ferner umfassend: Bestimmen einer zweiten Eingabe und einer zweiten Eingabeart für den Programmblock durch die Test-Rechenvorrichtung, wobei die zweite Eingabeart eine nicht-zustandsbasierte Eingabe beinhaltet, und wobei das Implementieren des Testfalls ferner das Auswählen eines Wertes für die nicht-zustandsbasierte Eingabe für jede Permutation der ersten Eingabe gemäß mindestens einer der folgenden beinhaltet: Konstante, Zufall, zufällige ganze Zahl, Rampe, Sequenz, Transition und Permutation.
  3. Verfahren nach Anspruch 1, ferner das Bestimmen des vorgegebenen Grades an MC/DC durch die Test-Rechenvorrichtung umfassend.
  4. Verfahren nach Anspruch 1, ferner das Bestimmen des Programmblocks für die Software zur Erzeugung des Testfalls durch die Test-Rechenvorrichtung umfassend.
  5. Verfahren nach Anspruch 1, ferner das Bestimmen des Testfalls für alle Programmblöcke der Software durch die Test-Rechenvorrichtung umfassend.
  6. Verfahren nach Anspruch 1, ferner das Verwenden des Testfalls zur Bestimmung, ob die Software ordnungsgemäß programmiert worden ist, durch die Test-Rechenvorrichtung umfassend.
  7. Verfahren nach Anspruch 1, ferner die Bereitstellung einer Anwenderschnittstelle für einen Anwender, um die erste Eingabe und die erste Eingabeart eingeben zu können, durch die Test-Rechenvorrichtung umfassend.
  8. System für die Generierung eines zustandsbasierten Testfalls für die Software-Validierung, aufweisend: eine Test-Rechenvorrichtung, die einen Speicher aufweist, der Logik speichert, die, wenn sie durch die Test-Rechenvorrichtung ausgeführt wird, bewirkt, dass die Test-Rechenvorrichtung zumindest Folgendes durchführt: Bestimmen einer ersten Eingabe und einer ersten Eingabeart für einen Programmblock von Fahrzeug-Software zur Erzeugung eines Testfalls, wobei die erste Eingabeart eine zustandsbasierte Eingabe beinhaltet; Bestimmen einer zweiten Eingabe und einer zweiten Eingabeart für den Programmblock, wobei die zweite Eingabeart eine nicht-zustandsbasierte Eingabe beinhaltet; Bestimmen von Permutationen von Werten für die erste Eingabe auf Basis der ersten Eingabeart; Bestimmen eines Mechanismus für die Zuweisung von Werten für die zweite Eingabe auf Basis der zweiten Eingabeart; Implementieren des Testfalls mit der zustandsbasierten Eingabe und der nicht-zustandsbasierten Eingabe, wobei das Implementieren des Testfalls das Anwenden von Permutationen von Werten für die erste Eingabe auf den Programmblock mit den Werten der zweiten Eingabe beinhaltet; Bestimmen, ob der Testfall einen vorgegebenen Grad an Modified Condition/Decision Coverage (MC/DC) erreicht; und Bereitstellen einer Angabe, ob der Testfall den vorgegebenen Grad an MC/DC erreicht.
  9. System nach Anspruch 8, wobei der Mechanismus zum Zuweisen von Werten für die zweite Eingabe mindestens eine der folgenden Eingabearten beinhaltet: Konstante, Zufall, zufällige ganze Zahl, Rampe, Sequenz, Transition und Permutation.
  10. System nach Anspruch 8, wobei die Logik ferner bewirkt, dass die Test-Rechenvorrichtung eine Anwenderschnittstelle bereitstellt, um die erste Eingabe, die erste Eingabeart, die zweite Eingabe und die zweite Eingabeart zu empfangen.
  11. System nach Anspruch 10, wobei die Anwenderschnittstelle ferner eine Testfall-Zeichnungsoption beinhaltet, um eine grafische Darstellung des Testfalls bereitzustellen.
  12. System nach Anspruch 10, wobei die Anwenderschnittstelle ferner eine Sequenz-Hinzufügungsoption beinhaltet, um eine Mehrzahl von Sequenzen zum Testen der ersten Eingabe zu erzeugen.
  13. System nach Anspruch 8, wobei die Logik ferner bewirkt, dass die Test-Rechenvorrichtung den vorgegebenen Grad an MC/DC bestimmt.
  14. System nach Anspruch 8, ferner eine Fahrzeugrechenvorrichtung beinhaltend, welche die Fahrzeug-Software speichert, wobei die Fahrzeugrechenvorrichtung konfiguriert ist, um mindestens eine(n) der Folgenden mit der Test-Rechenvorrichtung zu kommunizieren: Fahrzeug-Software und Testfall.
  15. Nicht-transitorisches, computerlesbares Medium, das eine Logik speichert, die, wenn sie durch eine Test-Rechenvorrichtung ausgeführt wird, bewirkt, dass die Test-Rechenvorrichtung zumindest Folgendes ausführt: Auswählen eines Programmblocks aus Fahrzeug-Software eines Fahrzeugs, das getestet werden soll; Bestimmen einer ersten Eingabe und einer ersten Eingabeart für den Programmblock zum Erzeugen eines Testfalls, wobei die erste Eingabeart eine zustandsbasierte Eingabe beinhaltet; Bestimmen einer zweiten Eingabe und einer zweiten Eingabeart für den Programmblock, wobei die zweite Eingabeart eine nicht-zustandsbasierte Eingabe beinhaltet; Bestimmen von Permutationen von Werten für die erste Eingabe auf Basis der ersten Eingabeart; Bestimmen eines Mechanismus für die Zuweisung von Werten für die zweite Eingabe auf Basis der zweiten Eingabeart; Implementieren des Testfalls mit der zustandsbasierten Eingabe und der nichtzustandsbasierten Eingabe, wobei das Implementieren des Testfalls das Anwenden von Permutationen von Werten für die erste Eingabe auf den Programmblock mit den Werten für die zweite Eingabe beinhaltet; Bestimmen, ob der Testfall einen vorgegebenen Grad an Modified Condition/Decision Coverage (MC/DC) erreicht; und Bereitstellen einer Angabe, ob der Testfall den vorgegebenen Grad an MC/DC erreicht.
  16. Nicht-transitorisches, computerlesbares Medium nach Anspruch 15, wobei die Logik ferner bewirkt, dass die Test-Rechenvorrichtung den vorgegebenen Grad an MC/DC bestimmt.
  17. Nicht-transitorisches, computerlesbares Medium nach Anspruch 15, wobei die nicht-zustandsbasierte Eingabe mindestens eine der folgenden Eingabearten umfasst: Konstante, Zufall, zufällige ganze Zahl, Rampe, Sequenz, Transition und Permutation.
  18. Nicht-transitorisches, computerlesbares Medium nach Anspruch 15, wobei die Logik ferner bewirkt, dass die Test-Rechenvorrichtung eine Anwenderschnittstelle bereitstellt, um die erste Eingabe, die erste Eingabeart, die zweite Eingabe und die zweite Eingabeart zu empfangen.
  19. Nicht-transitorisches, computerlesbares Medium nach Anspruch 15, wobei die Logik ferner bewirkt, dass die Test-Rechenvorrichtung eine Anwenderschnittstelle bereitstellt, um die erste Eingabe, die erste Eingabeart, die zweite Eingabe und die zweite Eingabeart zu empfangen.
  20. Nicht-transitorisches, computerlesbares Medium nach Anspruch 19, wobei die Anwenderschnittstelle ferner eine Option zur Erzeugung einer Mehrzahl von Sequenzen zum Testen der ersten Eingabe beinhaltet.
DE112013004307.6T 2012-08-30 2013-05-13 Systeme und Verfahren für eine zustandsbasierte Testfallgenerierung zur Software-Validierung Ceased DE112013004307T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/599,351 2012-08-30
US13/599,351 US9971676B2 (en) 2012-08-30 2012-08-30 Systems and methods for state based test case generation for software validation
PCT/US2013/040757 WO2014035495A1 (en) 2012-08-30 2013-05-13 Systems and methods for state based test case generation for software validation

Publications (1)

Publication Number Publication Date
DE112013004307T5 true DE112013004307T5 (de) 2015-05-21

Family

ID=50184087

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013004307.6T Ceased DE112013004307T5 (de) 2012-08-30 2013-05-13 Systeme und Verfahren für eine zustandsbasierte Testfallgenerierung zur Software-Validierung

Country Status (4)

Country Link
US (1) US9971676B2 (de)
JP (1) JP6215949B2 (de)
DE (1) DE112013004307T5 (de)
WO (1) WO2014035495A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10108536B2 (en) 2014-12-10 2018-10-23 General Electric Company Integrated automated test case generation for safety-critical software
US9940222B2 (en) 2015-11-20 2018-04-10 General Electric Company System and method for safety-critical software automated requirements-based test case generation
US20180253677A1 (en) * 2017-03-01 2018-09-06 Gregory James Foster Method for Performing Dynamic Data Analytics
CN107748721A (zh) * 2017-11-27 2018-03-02 中国航空无线电电子研究所 一种测试用例集自动生成方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934934B1 (en) 1999-08-30 2005-08-23 Empirix Inc. Method and system for software object testing
EP1283422A1 (de) 2001-08-07 2003-02-12 Lucent Technologies Inc. Testumgebung für die Bestätigung eines Prüflings
US7644398B2 (en) 2001-12-19 2010-01-05 Reactive Systems, Inc. System and method for automatic test-case generation for software
US7024589B2 (en) * 2002-06-14 2006-04-04 International Business Machines Corporation Reducing the complexity of finite state machine test generation using combinatorial designs
US6904578B2 (en) 2002-11-13 2005-06-07 Fujitsu Limited System and method for verifying a plurality of states associated with a target circuit
US7478365B2 (en) 2004-01-13 2009-01-13 Symphony Services Corp. Method and system for rule-based generation of automation test scripts from abstract test case representation
US7623981B2 (en) * 2004-03-05 2009-11-24 Vfs Technologies Limited Testing of embedded systems
US7197382B2 (en) 2004-04-19 2007-03-27 Ford Global Technologies, Llc Method and system for determining engine state of a hybrid electric vehicle
US20070028219A1 (en) 2004-10-15 2007-02-01 Miller William L Method and system for anomaly detection
US7441236B2 (en) 2004-10-27 2008-10-21 Bae Systems Land & Armaments L.P. Software test environment for regression testing ground combat vehicle software
US20060101397A1 (en) * 2004-10-29 2006-05-11 Microsoft Corporation Pseudo-random test case generator for XML APIs
US7970594B2 (en) 2005-06-30 2011-06-28 The Mathworks, Inc. System and method for using model analysis to generate directed test vectors
US8473913B2 (en) * 2006-01-11 2013-06-25 Hitachi Data Systems Corporation Method of and system for dynamic automated test case generation and execution
WO2008124038A1 (en) 2007-04-03 2008-10-16 Ldra Technology, Inc. Automated management of software requirements verification
US20090006897A1 (en) * 2007-06-27 2009-01-01 Microsoft Corporation Automated service testing
JP2009181292A (ja) * 2008-01-30 2009-08-13 Toyota Motor Corp Mc/dcパターン生成装置
KR101470319B1 (ko) 2008-02-15 2014-12-08 삼성전자주식회사 컴포넌트 모델 기반의 가상 소프트웨어 플랫폼을 생성하는방법, 이를 이용하여 소프트웨어 플랫폼 아키텍처를검증하는 방법 및 그 장치
JP5451034B2 (ja) * 2008-11-06 2014-03-26 日立マクセル株式会社 テスト計画表作成装置及びそのプログラム
US8612938B2 (en) 2009-01-05 2013-12-17 Tata Consultancy Services Limited System and method for automatic generation of test data to satisfy modified condition decision coverage
JP5164920B2 (ja) * 2009-05-13 2013-03-21 日本電信電話株式会社 テストデータ生成方法及び装置及びプログラム
US8271950B2 (en) * 2009-07-06 2012-09-18 Microsoft Corporation Test generation from captured user interface status
US20110083121A1 (en) * 2009-10-02 2011-04-07 Gm Global Technology Operations, Inc. Method and System for Automatic Test-Case Generation for Distributed Embedded Systems
US8382575B2 (en) * 2010-09-17 2013-02-26 Speilo Manufacturing ULC System and method for identifying errors in slot machine and video lottery terminal games
JP5303531B2 (ja) * 2010-09-28 2013-10-02 株式会社日立製作所 組込システムの保守支援装置

Also Published As

Publication number Publication date
JP2015526826A (ja) 2015-09-10
JP6215949B2 (ja) 2017-10-18
US20140068339A1 (en) 2014-03-06
US9971676B2 (en) 2018-05-15
WO2014035495A1 (en) 2014-03-06

Similar Documents

Publication Publication Date Title
DE102007028226B4 (de) Auswertungsverfahren für eine zeitliche Sequenz von Röntgenbildern und hiermit korrespondierende Gegenstände
DE102017005964A1 (de) Techniken zum Auswählen von Objekten in Bildern
DE112013004307T5 (de) Systeme und Verfahren für eine zustandsbasierte Testfallgenerierung zur Software-Validierung
DE102013213047A1 (de) System, Verfahren und Computerprogrammprodukt zum Testen von Vorrichtungsparametern
DE102013104320A1 (de) Flexible Aufteilung der I/O Kanäle einer Hardware Kompomente
DE112018006377T5 (de) Verschmelzen spärlich besetzter kernels zur approximation eines vollen kernels eines neuronalen faltungsnetzes
DE112014001359T5 (de) Prädiktives System zum Bereitstellen von Unternehmensanwendungen
DE102015016413A1 (de) Leiterprogrammabrufvorrichtung, die dazu fähig ist, Leiterschaltungen basierend auf vorgegebenen Signaloperationsbedingungen abzurufen
DE102016007651A1 (de) Numerische Steuerung mit Funktion zur automatischen Auswahl eines Speicherungsziels für ein Bearbeitungsprogramm
DE102013225997A1 (de) Verfahren zum Ermitteln eines Modellwertsaus einem Random-Forest-Modell
DE1916109A1 (de) Anordnung zur Bestimmung von Eckpunkten aus einer Vielzahl von eine empirische Form beschreibenden Datenpunkten
DE10056825C2 (de) Verfahren, Vorrichtung und Computerprogramm zum Erzeugen eines Zufallstestcodes
DE602004001718T2 (de) Verfahren zur Echtzeitkorrektur nicht funktionierender Pixel in der digitalen Radiographie
EP3705993B1 (de) System und verfahren zum auffinden und identifizieren von rechenknoten in einem netzwerk
DE112018006331B4 (de) Testfallgenerierungsvorrichtung, Testfallgenerierungsverfahren und Testfallgenerierungsprogramm
DE102015218589A1 (de) Verfahren und Vorrichtung zum Betreiben eines Many-Core-System
DE102017104049B4 (de) Verfahren und vorrichtung zum überprüfen der zuverlässigkeit eines chips
DE102018222801A1 (de) Verfahren und Vorrichtung zum Vermessen eines zu testenden Systems
DE102018213052A1 (de) Verfahren und Vorrichtung zum Ermitteln einer Erklärungskarte
WO2022128992A1 (de) Verfahren zur verifizierung eines implementierten neuronalen netzwerks
DE102019131639B4 (de) System zum Bereitstellen eines Erklärungsdatensatzes für ein KI-Modul
DE202021105594U1 (de) System zur automatischen Auswahl und/oder Bewertung mindestens eines KI-Moduls und zur Klassifikation und/oder Regression von Eingangsdaten, ein computerlesbares Speichermedium und ein System zur Klassifikation und/oder Regression von Eingangsdaten
DE102022115101A1 (de) Automatisierter entwurf von architekturen künstlicher neuronaler netze
DE102016202757A1 (de) Task-Sequenzer
DE102021204343A1 (de) Steuergerät zum Erzeugen von Trainingsdaten zum Trainieren eines Algorithmus des maschinellen Lernens

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: TOYOTA MOTOR ENGINEERING & MANUFACTURING NORTH, US

Free format text: FORMER OWNER: TOYOTA MOTOR ENGINEERING & MANUFACTURING NORTH AMERICA INC., ERLANGER, KY., US

R082 Change of representative

Representative=s name: KUHNEN & WACKER PATENT- UND RECHTSANWALTSBUERO, DE

R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: TOYOTA MOTOR ENGINEERING & MANUFACTURING NORTH, US

Free format text: FORMER OWNER: TOYOTA MOTOR ENGINEERING & MANUFACTURING NORTH AMERICA, INC., ERLANGER, KY., US

R082 Change of representative

Representative=s name: KUHNEN & WACKER PATENT- UND RECHTSANWALTSBUERO, DE

R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final