DE112018006331B4 - Testfallgenerierungsvorrichtung, Testfallgenerierungsverfahren und Testfallgenerierungsprogramm - Google Patents

Testfallgenerierungsvorrichtung, Testfallgenerierungsverfahren und Testfallgenerierungsprogramm Download PDF

Info

Publication number
DE112018006331B4
DE112018006331B4 DE112018006331.3T DE112018006331T DE112018006331B4 DE 112018006331 B4 DE112018006331 B4 DE 112018006331B4 DE 112018006331 T DE112018006331 T DE 112018006331T DE 112018006331 B4 DE112018006331 B4 DE 112018006331B4
Authority
DE
Germany
Prior art keywords
test case
steps
equivalent
case generation
value
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.)
Active
Application number
DE112018006331.3T
Other languages
English (en)
Other versions
DE112018006331T5 (de
Inventor
Madoka Baba
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112018006331T5 publication Critical patent/DE112018006331T5/de
Application granted granted Critical
Publication of DE112018006331B4 publication Critical patent/DE112018006331B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/3688Test management for test execution, e.g. scheduling of test suites
    • 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/3676Test management for coverage analysis
    • 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/3692Test management for test results analysis

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)

Abstract

Testfallgenerierungsvorrichtung, um Software zu analysieren, um einen Prozess von einem Schritt für jede Eingabe eines Wertes auszuführen, dadurch generierend, als einen Testfall, eine Folge von Werten, die für einen Test der Software eingegeben werden, wobei die Testfallgenerierungsvorrichtung umfasst:eine Äquivalenter-Schritt-Prüfungseinheit, um zu bestimmen, dass in Bezug auf eine Zustandsvariable, die zwischen Prozessen einer Vielzahl von Schritten geteilt wird und einen Wert gemäß einem Ausführungsergebnis eines Prozesses in jedem Schritt enthält, wenn die Prozesse der Vielzahl von Schritten sequentiell ausgeführt werden, wenn der Wert der Zustandsvariablen nach Ausführung eines der Vielzahl von Schritten und der Wert der Zustandsvariablen nach Ausführung eines anderen Schritts gleich sind, diese zwei Schritte äquivalente Schritte sind; undeine Testfallgenerierungseinheit, um die Software zu analysieren unter Ausschluss eines der zwei Schritte, für die durch die Äquivalenter-Schritt-Prüfungseinheit bestimmt ist, die äquivalenten Schritte zu sein, wodurch der in den Testfall einzubeziehende Wert generiert wird.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf eine Testfallgenerierungsvorrichtung, ein Testfallgenerierungsverfahren und ein Testfallgenerierungsprogramm.
  • Stand der Technik
  • Eingebettete Echtzeit-Software zum Durchführen verschiedener Steuerungen wird in einer Steuervorrichtung für ein Automobil, einen Industrieroboter oder dergleichen installiert. Eine Fehlfunktion der wie oben erwähnten Software könnte zu einem tödlichen Unfall führen. Daher ist es notwendig, vor der Auslieferung einen entsprechenden Test durchzuführen. Sowohl die ISO26262, die eine Norm für die funktionale Sicherheit von Automobilen ist, als auch die DO-178C, die eine Norm für die funktionale Sicherheit von Flugzeugen ist, verlangen zum Beispiel, dass ein Testverfahren usw., die für jeden Testschritt anzuwenden ist, als Testanforderungen definiert ist, und dass ein Test gemäß diesen Testanforderungen durchgeführt wird. Als ein Beispiel für die Testanforderungen für einen Einheitentest wird verlangt, dass durch die Generierung eines Testfalls auf Grundlage einer Äquivalenzpartitionierung oder einer Grenzwertanalyse der Test so ausgeführt wird, dass eine Anforderung abgedeckt ist, und gleichzeitig verlangt wird, dass der Testfall die Struktur eines Quellcodes der Testzielsoftware abdeckt. In der Struktur des Quellcodes wird jede Anweisungszeile, die einen Prozess beschreibt, oder jeder Zweig, der durch ein if-Statement, ein for-Statement und dergleichen ausgedrückt wird, als ein Kriterium verwendet. Das zu verwendende Kriterium ist je nach der Testzielsoftware unterschiedlich. Dieses Kriterium wird als ein strukturelles Abdeckungskriterium bezeichnet. Wenn die Anweisungszeile als das strukturelle Abdeckungskriterium verwendet wird, wird eine Anweisungsabdeckungsrate gemessen, die angibt, wie viele Codes, die in der Testzielsoftware enthalten sind, gemäß dem Testfall ausgeführt wurden. Wenn der Zweig, der durch das if-Statement oder dergleichen ausgedrückt ist, als das strukturelle Abdeckungskriterium verwendet wird, wird eine Zweigabdeckungsrate gemessen, die angibt, ob jedes Verzweigungsziel, das in den Codes enthalten ist, ausgeführt wurde. Falls die Anweisungsabdeckungsrate oder die Zweigabdeckungsrate ausreichend hoch ist, wird bestimmt, dass der Test angemessen ist.
  • Im Allgemeinen hat eingebettete Echtzeit-Software eine Vielzahl von Zuständen, wie einen Anfangszustand, einen Ausführungszustand und einen Beendigungsvorbereitungszustand. In einer solchen Software kann die Struktur eines Quellcodes nur durch die einmalige Eingabe eines Testfalls nicht abgedeckt sein, so dass mehrfache Testfalleingaben erforderlich werden können. Eine Ausführungseinheit einer Testzielsoftware wird als ein Schritt bezeichnet. Die einmalige Eingabe des Testfalls ist zum Beispiel ein Schritt.
  • In den letzten Jahren ist der Quellcode der eingebetteten Echtzeit-Software immer größer und komplexer geworden. Daher ist eine Erhöhung der Anzahl der Schritte für die manuelle Generierung eines Testfalls, der sich über eine Vielzahl von Schritten erstreckt, um die Struktur des Quellcodes abzudecken und gleichzeitig die Anforderungsspezifikation der Software zu erfüllen, zu einem Problem geworden.
  • In Patentliteratur 1 wird ein Verfahren zur automatischen Generierung eines Testfalls offengelegt, der sich über eine Vielzahl von Schritten für einen Einheitentest erstreckt, um einer Erhöhung der Anzahl der Schritte Rechnung zu tragen.
  • In Patentliteratur 2 wird ein Verfahren des Reduzierens der Anzahl der Male der Wiederholung offengelegt, falls sich ein Prozess durch diese Wiederholung nicht ändert, in einem Teil eines Benchmark-Programms, in dem der gleiche Prozess wiederholt durchgeführt wird.
  • In Patentliteratur 3 wird ein Verfahren des Beschleunigens der Simulation offenbart. Falls bei diesem Verfahren der interne Zustand eines bestimmten Prozessors vor Ausführung eines Verarbeitungsblocks gegenüber dem Zustand, bei dem der Verarbeitungsblock zuvor ein Verarbeitungsziel wurde, unverändert bleibt, wird der Prozess des Verarbeitungsblocks nicht durchgeführt, und die zu der früheren Zeit erhaltenen Informationen werden genutzt, wodurch die Simulation beschleunigt wird.
  • Liste zitierter Schriften
  • Patentliteratur
    • Patentliteratur 1: JP 2014-063415 A
    • Patentliteratur 2: JP 2003-316612 A
    • Patentliteratur 3: WO2015-045472 A
  • Zusammenfassung der Erfindung
  • Technisches Problem
  • Bei dem Verfahren in Patentliteratur 1 wird mit Hilfe eines beschränkten Modells analysiert, ob der Testfall, der die Testanforderungen von einem ersten Schritt bis zum Erreichen der maximalen Anzahl der im Voraus festgelegten Schritte sequentiell erfüllt, generiert werden kann. Wenn es eine Anforderung oder einen Zweig gibt, der nicht abgedeckt wurde, wird die Anzahl der Schritte erhöht, um die Analyse für die Generierung des Testfalls zu wiederholen. Es sei angenommen, dass dieses Verfahren auf Software angewendet wurde, die konfiguriert ist, für einen bestimmten Zeitraum in Standby zu bleiben, bis ein Zustandsübergang eintritt. In diesem Fall findet während des Standby keine Zustandsänderung statt, selbst wenn irgendeine Eingabe durchgeführt wurde. Eine neue Struktur ist somit nicht abgedeckt. Infolgedessen wird in einem Schritt, der dem Standby entspricht, auch dann kein neuer Testfall generiert, wenn die Analyse für die Testfallgenerierung durchgeführt wird. Eine Analysezeit, die für die Prüfung des begrenzten Modells benötigt wird, hat die Tendenz, durch eine Erhöhung der Anzahl der Schritte exponentiell zu steigen. Daher kann sich die Analysezeit verlängern, so dass ein Zeitraum für die Testfallgenerierung möglicherweise nicht innerhalb einer praktischen Zeit bleibt, selbst wenn der neue Testfall nicht generiert wird. Um diese Analysezeit zu verkürzen, kann ein Verfahren in Betracht gezogen werden, das einen Wert eines Zählers, der konfiguriert ist, eine Standby-Zeit zu zählen, gezielt auf einen kleinen Wert ändert, wodurch die Anzahl der für die Testgenerierung erforderlichen Schritte reduziert wird. Um jedoch den Zählwert vor dem Eintreten des Zustandsübergangs auf einen angemessenen Wert zu ändern, müssen Einzelheiten der Spezifikationsinformationen erfasst werden. Wenn eine Vielzahl von Standby-Zeiten vorgesehen sind, kann der Zählwert auf einen falschen Wert gesetzt sein, und als eine Folge davon kann ein Testfall für die Software generiert werden, deren Verhalten so verändert wurde, dass es sich von dem unterscheidet, was zu erwarten ist.
  • Bei dem Verfahren in Patentliteratur 2 wird bestimmt, ob oder ob nicht in einer bestimmten Ausführungsumgebung eine Änderung eines internen Zustands vorhanden ist. Es wird nicht in Betracht gezogen, ob für einen bestimmten Prozess bestimmt ist, in einer Umgebung, in der sich eine externe Eingabe ändert, konstant keine interne Zustandsänderung zu haben.
  • In dem Verfahren in Patentliteratur 3 wird selbst dann, falls ein Eingabewert vor Ausführung eines Verarbeitungsblocks in einem internen Zustand enthalten ist, bestimmt, dass Prozesse, die diesen Verarbeitungsblock verwenden, nur in dem internen Zustand, der einen bestimmten Eingabewert enthält, äquivalent sind. Wenn also ein Eingabewert für einen vorherigen Schritt und ein Eingabewert für einen aktuellen Schritt unterschiedlich sind, kann für die Prozesse des vorherigen Schritts und des aktuellen Schritts nicht bestimmt werden, äquivalent zu sein.
  • Die DE 11 2016 006 297 offenbart eine Testdaten-Erzeugungsvorrichtung. Diese bestimmt unter Verwendung als ein Zielmuster jeder der Kombinationen aus mehreren Eingangsbedingungen, mehreren Ausgangsbedingungen und mehreren Ankunftspunkten, wobei an jedem das Erreichen eines Prozesses durch ein auf einer Software-Struktur basierendes Testverfahren bestätigt wird, ob die Erzeugung eines Testdatensatzes möglich ist. Der Testdatensatz ist aus den Werten der Eingangs- und Ausgangssignale gebildet und ermöglicht das gleichzeitige Überprüfen eines Ankunftspunktes und einer Eingangs-Ausgangs-Bedingung, die ein Paar aus einer Eingangsbedingung und einer Ausgangsbedingung in dem Zielmuster ist. Hierbei identifiziert die Testdatensatz-Erzeugungsvorrichtung einen Satz von Testdatensätzen, die das Überprüfen jeder der mehreren Eingangsbedingungen, jeder der mehreren Ausgangsbedingungen und jedes der mehreren Ankunftspunkte ermöglichen.
  • Wie oben beschrieben, können die herkömmlichen Verfahren nicht auf die Generierung eines Testfalls, der sich über eine Vielzahl von Schritten erstreckt, für Software, wie eingebettete Echtzeit-Software, angewandt werden, bei der eine Eingabe von einer externen Vorrichtung zwischen den Schritten wechselt.
  • Eine Aufgabe der vorliegenden Erfindung ist die Verkürzung der Zeit, die für die Generierung eines Testfalls, der sich über eine Vielzahl von Schritten erstreckt, benötigt wird.
  • Lösung des Problems
  • Diese Aufgabe wird durch die Testfallgenerierungsvorrichtung, das Testfallgenerierungsverfahren und das Testfallgenerierungsprogramm gemäß einem der Ansprüche gelöst.
  • Eine Testfallgenerierungsvorrichtung gemäß einem Aspekt der vorliegenden Erfindung ist eine Testfallgenerierungsvorrichtung, um Software zu analysieren, um einen Prozesses von einem Schritt für jede Eingabe eines Wertes auszuführen, wodurch als ein Testfall eine Folge von Werten generiert wird, die für einen Test der Software eingegeben werden.
  • Vorteilhafte Wirkungen der Erfindung
  • In der vorliegenden Erfindung ist ein Prozess des Generierens eines Werts, der in den Testfall einzubeziehen ist, durch Analysieren der Software für den einen der zwei Schritte, für die bestimmt ist, die äquivalenten Schritte zu sein, weggelassen. Dadurch kann die für die Generierung des Testfalls benötigte Zeit, die sich über die Vielzahl der Schritte erstreckt, reduziert werden.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das eine Konfiguration einer Testfallgenerierungsvorrichtung gemäß einer ersten Ausführungsform darstellt.
    • 2 ist ein Flussdiagramm, das Operationen der Testfallgenerierungsvorrichtung gemäß der ersten Ausführungsform darstellt.
    • 3 ist ein Flussdiagramm, das Operationen der Testfallgenerierungsvorrichtung gemäß der ersten Ausführungsform darstellt.
    • 4 ist ein Diagramm, darstellend das Programm von Testzielsoftware gemäß der ersten Ausführungsform.
    • 5 ist ein Diagramm, darstellend Abdeckungszielteile, die in dem Programm der Testzielsoftware gemäß der ersten Ausführungsform enthalten sind.
    • 6 ist ein Diagramm, das eine Wrapper-Funktion darstellt, die durch eine Wrapper-Funktion-Generierungseinheit der Testfallgenerierungsvorrichtung gemäß der ersten Ausführungsform generiert wird.
    • 7 ist ein Flussdiagramm, das Operationen einer Testfallgenerierungsvorrichtung gemäß einer zweiten Ausführungsform darstellt.
    • 8 ist ein Flussdiagramm, das Operationen der Testfallgenerierungsvorrichtung gemäß der zweiten Ausführungsform darstellt.
    • 9 ist ein Diagramm, darstellend das Programm von Testzielsoftware gemäß der zweiten Ausführungsform.
    • 10 ist ein Diagramm, darstellend Abdeckungszielteile, die in dem Programm der Testzielsoftware gemäß der zweiten Ausführungsform enthalten sind.
    • 11 ist ein Diagramm, das eine Wrapper-Funktion darstellt, die durch eine Wrapper-Funktion-Generierungseinheit der Testfallgenerierungsvorrichtung gemäß der zweiten Ausführungsform generiert wird.
    • 12 ist ein Diagramm, das eine Wrapper-Funktion darstellt, die durch die Wrapper-Funktion-Generierungseinheit der Testfallgenerierungsvorrichtung gemäß der zweiten Ausführungsform generiert wird.
  • Beschreibung von Ausführungsformen
  • Eine Ausführungsform der vorliegenden Erfindung wird nachfolgend unter Bezugnahme auf die Zeichnungen erläutert. In den Zeichnungen sind gleiche oder gleichwertige Teile mit den gleichen Bezugszeichen versehen. In der Beschreibung der Ausführungsformen wird auf die Beschreibung eines gleichen oder gleichwertigen Teils in geeigneter Weise verzichtet oder vereinfacht. Die vorliegende Erfindung ist nicht auf die nachfolgend erläuterten Ausführungsformen beschränkt und verschiedene Modifikationen sind nach Bedarf möglich. So können zum Beispiel zwei oder mehr Ausführungsformen unter den Ausführungsformen, die im Folgenden beschrieben werden, in Kombination umgesetzt sein. Alternativ kann eine Ausführungsform oder eine Kombination aus zwei oder mehr Ausführungsformen unter den Ausführungsformen, die im Folgenden beschrieben werden, teilweise umgesetzt sein.
  • Erste Ausführungsform
  • Diese Ausführungsform wird unter Verwendung der 1 bis 6 beschrieben.
  • *** Konfigurationsbeschreibung ***
  • Eine Konfiguration einer Testfallgenerierungsvorrichtung 10 gemäß dieser Ausführungsform wird unter Bezugnahme auf 1 erläutert.
  • Die Testfallgenerierungsvorrichtung 10 ist ein Computer. Die Testfallgenerierungsvorrichtung 10 umfasst einen Prozessor 11 und umfasst andere Hardware, wie einen Speicher 12, eine Kommunikationseinrichtung 13 und eine Eingabe-/Ausgabeeinrichtung 14. Der Prozessor 11 ist über Signalleitungen mit der anderen Hardware verbunden und steuert diese andere Hardware.
  • Die Testfallgenerierungsvorrichtung 10 umfasst eine Programminformationen-Eingabeeinheit 15, eine Zustandsvariablen-Extrahierungseinheit 16, eine Struktur-Extrahierungseinheit 17 und eine Wrapper-Funktion-Generierungseinheit 18, eine Äquivalenter-Schritt-Prüfungseinheit 19 und eine Testfallgenerierungseinheit 20 als funktionale Elemente. Funktionen der Programminformationen-Eingabeeinheit 15, der Zustandsvariablen-Extrahierungseinheit 16, der Struktur-Extrahierungseinheit 17 und der Wrapper-Funktion-Generierungseinheit 18, der Äquivalenter-Schritt-Prüfungseinheit 19 und der Testfallgenerierungseinheit 20 sind durch Software implementiert.
  • Der Prozessor 11 ist eine Einrichtung, um ein Testfallgenerierungsprogramm auszuführen. Das Testfallgenerierungsprogramm ist ein Programm, um Funktionen der Programminformationen-Eingabeeinheit 15, der Zustandsvariablen-Extrahierungseinheit 16, der Struktur-Extrahierungseinheit 17 und der Wrapper-Funktion-Generierungseinheit 18, der Äquivalenter-Schritt-Prüfungseinheit 19 und der Testfallgenerierungseinheit 20 zu implementieren. Der Prozessor 11 ist zum Beispiel eine CPU. „CPU“ ist eine Abkürzung für Central Processing Unit (= Zentrale Verarbeitungseinheit).
  • Der Prozessor 12 ist eine Einrichtung, um das Testfallgenerierungsprogramm zu speichern. Der Speicher 12 ist zum Beispiel ein RAM, ein Flash-Speicher oder eine Kombination aus diesen Speichern. „RAM“ ist eine Abkürzung für Radom Access Memory (=Direktzugriffsspeicher). Das Programm der Testzielsoftware und Spezifikationsinformationen der Testzielsoftware sind ebenfalls im Speicher 12 gespeichert. Obwohl die Testzielsoftware Software eines beliebigen Typs sein kann, ist die Testzielsoftware in dieser Ausführungsform eingebettete Software.
  • Die Kommunikationseinrichtung 13 umfasst einen Empfänger, um Daten zu empfangen, die in das Testfallgenerierungsprogramm eingegeben werden, und einen Übertrager, um Daten zu übertragen, die aus dem Testfallprogramm ausgegeben werden. Die Kommunikationseinrichtung 13 ist zum Beispiel ein Kommunikationschip oder eine NIC. „NIC“ ist eine Abkürzung für Network Interface Card (= Netzwerkschnittstellenkarte).
  • Die Eingabe-/Ausgabeeinrichtung 14 ist mit einer vom Benutzer zu bedienenden Eingabeeinrichtung zur Eingabe der Daten in das Testfallgenerierungsprogramm und einer Anzeige zum Anzeigen der vom Testfallgenerierungsprogramm ausgegebenen Daten auf einem Bildschirm verbunden. Die Eingabeeinrichtung ist eine Maus, eine Tastatur, ein Berührungsfeld oder eine Kombination aus einigen oder allen dieser Einrichtungen. Die Anzeige ist zum Beispiel eine LCD. „LCD“ ist eine Abkürzung für Liquid Crystal Display (= Flüssigkristallanzeige). Die Anzeige wird insbesondere zum Anzeigen eines durch die Testfallgenerierungseinheit 20 generierten Testfalls verwendet.
  • Das Testfallgenerierungsprogramm wird aus dem Speicher 12 in den Prozessor 11 geladen und dann durch den Prozessor 11 ausgeführt. Ein OS sowie das Testfallgenerierungsprogramm sindim Speicher 12 gespeichert. „OS“ 11 führt das Testfallgenerierungsprogramm aus, während das OS ausgeführt wird. Ein Teil oder das gesamte Testfallgenerierungsprogramm kann in das OS eingebunden sein.
  • Das Testfallgenerierungsprogramm und das OS können in einer Hilfsspeichereinrichtung gespeichert sein. Die Hilfsspeichereinrichtung ist zum Beispiel ein HDD, ein Flash-Speicher oder eine Kombination aus diesen Speichern. HDD ist eine Abkürzung für Hard Disk Drive (= Festplatte). Wenn das Testfallgenerierungsprogramm und das OS in der Hilfsspeichereinrichtung gespeichert sind, werden das Testfallgenerierungsprogramm und das OS in den Speicher 12 geladen und dann durch den Prozessor 11 ausgeführt.
  • Die Testfallgenerierungsvorrichtung 10 kann eine Vielzahl von Prozessoren umfassen, die den Prozessor 11 ersetzen. Diese Vielzahl von Prozessoren teilt sich die Ausführung des Testfallgenerierungsprogramms. Jeder Prozessor ist zum Beispiel eine CPU.
  • Daten, Informationen, Signalwerte und Variablenwerte, die durch das Testfallgenerierungsprogramm verwendet, verarbeitet oder ausgegeben werden, werden im Speicher 12, in der Hilfsspeichereinrichtung oder in einem Register oder einem Cache-Speicher im Prozessor 11 gespeichert.
  • Das Testfallgenerierungsprogramm ist ein Programm, um einen Computer zu veranlassen, Prozesse auszuführen, die durch die Programminformationen-Eingabeeinheit 15, die Zustandsvariablen-Extrahierungseinheit 16, die Struktur-Extrahierungseinheit 17, die Wrapper-Funktion-Generierungseinheit 18, die Äquivalenter-Schritt-Prüfungseinheit 19 und die Testfallgenerierungseinheit 20 als ein Programminformationen-Eingabeprozess, ein Zustandsvariable-Extrahierungsprozess, ein Struktur-Extrahierungsprozess, ein Wrapper-Funktion-Generierungsprozess, ein Äquivalenter-Schritt-Prüfungsprozess und ein Testfallgenerierungsprozess durchzuführen sind. Das Testfallgenerierungsprogramm kann auf einem computerlesbaren Medium aufgezeichnet und dann bereitgestellt sein, kann auf einem Aufzeichnungsmedium gespeichert und dann bereitgestellt sein oder als ein Programmprodukt bereitgestellt sein.
  • Die Testfallgenerierungsvorrichtung 10 kann aus einem einzigen Computer oder einer Vielzahl von Computern bestehen. Wenn die Testfallgenerierungsvorrichtung 10 aus der Vielzahl von Computern besteht, können die Funktionen der Programminformationen-Eingabeeinheit 15, der Zustandsvariablen-Extrahierungseinheit 16, der Struktur-Extrahierungseinheit 17 und der Wrapper-Funktion-Generierungseinheit 18, der Äquivalenter-Schritt-Prüfungseinheit 19 und der Testfallgenerierungseinheit 20 auf die jeweiligen Computer verteilt sein und dann implementiert sein.
  • ***Beschreibung der Operationen***
  • Eine Übersicht über Operationen der Testfallgenerierungsvorrichtung 10 gemäß dieser Ausführungsform wird unter Bezugnahme auf 1 beschrieben. Die Operationen der Testfallgenerierungsvorrichtung 10 entsprechen einem Testfallgenerierungsverfahren gemäß dieser Ausführungsform.
  • Die Programminformationen-Eingabeeinheit 15 lädt aus dem Speicher 12 das Programm der Testzielsoftware, Zählerspezifikationsinformationen, Eingabespezifikationsinformationen und die Informationen über die maximale Anzahl der Schritte oder lädt von extern das Programm der Testzielsoftware, die Zählerspezifikationsinformationen, die Eingabespezifikationsinformationen und die Informationen über die maximale Anzahl der Schritte über die Kommunikationseinrichtung 13 oder die Eingabe-/Ausgabeeinrichtung 14.
  • Die Zustandsvariablen-Extrahierungseinheit 16 analysiert das durch die Programminformationen-Eingabeeinheit 15 geladene Programm, extrahiert die im Programm enthaltenen Zustandsvariablen und speichert dann die Zustandsvariablen im Speicher 12. Jede Zustandsvariable ist eine Variable, wie zum Beispiel eine globale Variable, die zwischen den Schritten zu halten ist, selbst wenn ein Programm über die mehreren Schritte ausgeführt wurde. Das heißt, die Zustandsvariable ist eine Variable, die zwischen Prozessen der mehreren Schritte geteilt wird und einen Wert entsprechend dem Ausführungsergebnis eines Prozesses in jedem Schritt enthält, da die Prozesse in den mehreren Schritten sequentiell ausgeführt werden. Diese Zustandsvariable speichert einen Wert, der einen Modus anzeigt, wie einen Anfangszustand oder einen Normalzustand. Die Zustandsvariablen-Extrahierungseinheit 16 unterscheidet zwischen den extrahierten Zustandsvariablen die Variable, die eine Rolle eines Zählers hat, basierend auf den Zählerspezifikationsinformationen, die durch die Programminformationen-Eingabeeinheit 15 geladen werden. Danach werden die Zustandsvariablen unter Ausschluss des Zählers als eine Prüfungsziel- oder mehr betragen. Falls eine Vielzahl von Prüfungszielzustandsvariablen vorhanden ist, gibt VAR eine Gruppe der Variablen an.
  • Obwohl das Programm der Testzielsoftware analysiert wird, um die Zustandsvariablen durch die Zustandsvariablen-Extrahierungseinheit 16 zu extrahieren, können Zustandsvariablenlisteninformationen von extern geladen werden.
  • Die Struktur-Extrahierungseinheit 17 extrahiert einen oder mehr abzudeckende Zielteile, die in dem durch die Programminformationen-Eingabeeinheit 15 geladenen Programm enthalten sind, gemäß einem für einen Test zu verwendenden strukturellen Abdeckungskriterium.
  • Die Wrapper-Funktion-Generierungseinheit 18 ruft das Testzielprogramm auf und generiert eine Wrapper-Funktion zum Speichern des Werts der Prüfungszielzustandsvariablen nach Ausführung jedes Schrittes als eine für jeden Schritt unterschiedliche Variable. In dieser Ausführungsform wird davon ausgegangen, dass die Variable, die den Wert der Prüfungszielzustandsvariablen nach Ausführung eines X-ten Schrittes gespeichert hat, durch VAR_X angegeben ist.
  • Die Äquivalenter-Schritt-Prüfungseinheit 19 prüft durch ein formales Verfahren, ob Ausführung eines bestimmten Schrittes und Ausführung eines unmittelbar vorausgehenden Schrittes funktional äquivalent sind. Falls VAR_X nach Ausführung eines bestimmten Schritts X und VAR_ (X - 1) nach Ausführung von Schritt (X - 1) konstant den gleichen Wert haben, bestimmt die Äquivalenter-Schritt-Prüfungseinheit 19, dass Schritt X und Schritt (X - 1) äquivalente Schritte sind. Es wird jedoch angenommen, dass X ein Wert nicht kleiner als zwei und nicht mehr als die maximale Anzahl der Schritte ist.
  • Die Testfallgenerierungseinheit 20 generiert einen Testfall, der konfiguriert ist, das eine oder mehr Abdeckungsziel/e, das/die durch die Struktur-Extrahierungseinheit 17 extrahiert wurde/n, abzudecken, gemäß einem durch die Äquivalenter-Schritt-Prüfungseinheit 19 erhaltenen Ergebnis, und gibt den Testfall aus.
  • Einzelheiten der Operationen der Testfallgenerierungsvorrichtung 10 gemäß dieser Ausführungsform werden unter Bezugnahme auf die 2 und 3 beschrieben.
  • In Schritt S101 lädt die Programminformationen-Eingabeeinheit 15 das Programm der Testzielsoftware, die Zählerspezifikationsinformationen, die Eingabespezifikationsinformationen und die Informationen über die maximale Anzahl der Schritte und fährt dann mit Schritt S102 fort. Die Zählerspezifikationsinformationen und die Eingabespezifikationsinformationen können von einem Benutzer auf Grundlage einer Softwarespezifikation manuell eingestellt werden, können automatisch eingestellt werden, unter Verwendung einer in einem definierten Format beschriebenen Spezifikation, oder können durch Analysieren des Programms eingestellt werden, um eine Variable automatisch auszuwählen, die als ein Auslöser für einen Zustandsübergang verwendet wird. Die maximale Anzahl der Schritte ist die Anzahl der Schritte, die notwendig sind, um das Programm der Testzielsoftware abzudecken, und es wird in dieser Ausführungsform angenommen, dass die maximale Anzahl der Schritte wie die Zählerspezifikationsinformationen und so weiter extrahiert wird.
  • In Schritt S102 analysiert die Zustandsvariablen-Extrahierungseinheit 16 das geladene Programm, extrahiert die im Programm enthaltenen Zustandsvariablen und fährt mit Schritt S103 fort.
  • In Schritt S103 legt die Zustandsvariablen-Extrahierungseinheit 16, aus den extrahierten Zustandsvariablen, eine oder mehr Variablen unter Ausschluss des Zählers, der durch die Zählerspezifikationsinformationen angezeigt ist, als die Prüfungszielzustandsvariable fest und fährt dann mit Schritt S104 fort.
  • In Schritt S104 extrahiert die Struktur-Extrahierungseinheit 17 den einen oder mehr Abdeckungszielteil/e, der/die im Programm der Testzielsoftware enthalten ist/sind, gemäß dem zu verwendenden strukturellen Abdeckungskriterium und fährt dann mit Schritt S105 fort. Wenn jeder Zweig als das strukturelle Abdeckungskriterium für die Ausführung des Tests verwendet wird und eine Zweigabdeckungsrate gemessen wird, extrahiert die Struktur-Extrahierungseinheit 17 jeden Zweig, der im Programm enthalten ist, in Schritt S104. Wenn zum Beispiel ein if-Statement verwendet wird, werden zwei Teile, die ein Fall sind, für den bestimmt ist, WAHR zu sein, und ein Fall, für den bestimmt ist, FALSCH zu sein, als die Abdeckungsziele extrahiert. Da Schritt S104 keine Abhängigkeit zu jedem von Schritt S102, Schritt S103 und Schritt S105 hat, kann Schritt S104 durch Ändern der Ausführungsreihenfolge von Schritt S104 ausgeführt werden oder parallel zu einem von Schritt S102, Schritt S103 und Schritt S105 ausgeführt werden.
  • In Schritt S105 generiert die Wrapper-Funktion-Generierungseinheit 18 die Wrapper-Funktion für die Äquivalenter-Schritt-Prüfung und fährt dann mit Schritt S106 fort.
  • In Schritt S106 prüft die Äquivalenter-Schritt-Prüfungseinheit 19 die Äquivalenz zwischen den Schritten durch das formale Verfahren, wobei die Wrapper-Funktion als eine Entry-Funktion verwendet wird. Insbesondere prüft die Äquivalenter-Schritt-Prüfungseinheit 19, ob oder ob nicht die Werte der Prüfungszielzustandsvariablen VAR_X nach der Ausführung von Schritt X und der Prüfungszielzustandsvariablen VAR_ (X - 1) nach der Ausführung von Schritt (X - 1) konstant der gleiche Wert sind, unabhängig vom Wert einer Eingabevariablen, die in den Eingabespezifikationsinformationen enthalten ist. X nimmt einen Wert zwischen 2 und der maximalen Anzahl der Schritte an, der die Anzahl der Schritte angibt. Falls dann VAR_X und VAR_(X - 1) den gleichen Wert haben, bestimmt die Äquivalenter-Schritt-Prüfungseinheit 19, dass Schritt X und Schritt (X -1) die äquivalenten Schritte sind. Falls es einen Fall gibt, in dem VAR_X und VAR_ (X - 1) nicht den gleichen Wert haben, bestimmt die Äquivalenter-Schritt-Prüfungseinheit 19, dass Schritt X und Schritt (X-1) nicht-äquivalent sind. Nachdem die Äquivalenter-Schritt-Prüfungseinheit 19 die Prüfung von einem ersten Schritt bis zum Erreichen der maximalen Anzahl der Schritte durchgeführt hat, fährt die Äquivalenter-Schritt-Prüfungseinheit 19 mit Schritt S107 fort.
  • In Schritt S107 setzt die Testfallgenerierungseinheit 20 eine Variable i auf 1 und fährt dann mit Schritt S108 fort.
  • In Schritt S108 bestimmt die Testfallgenerierungseinheit 20, ob der Wert der Variablen i größer ist als die maximale Anzahl der Schritte oder ob es einen Abdeckungszielteil gibt. Wenn der Wert der Variablen i größer ist als die maximale Anzahl der Schritte, wurde/n der/die Schritt(e) für die Testfallgenerierung beendet. Damit beendet die Testfallgenerierungseinheit 20 den Vorgang. Falls es keinen Abdeckungszielteil gibt, obwohl der Wert der Variablen i gleich ist wie oder kleiner ist als die maximale Anzahl der Schritte, bestimmt die Testfallgenerierungseinheit 20, dass die Testfallgenerierung nicht notwendig ist, und beendet dann den Vorgang. Andernfalls fährt die Testfallgenerierungseinheit 20 mit Schritt S109 fort.
  • In Schritt S109 bezieht sich die Testfallgenerierungseinheit 20 auf ein Ergebnis der Äquivalenter-Schritt-Prüfung in Schritt S106. Falls für Schritt i und Schritt (i - 1) bestimmt wurde, äquivalente Schritte zu sein, sind Prozesse von Schritt S110 und Schritt S111 nicht notwendig. Somit fährt die Testfallgenerierungseinheit 20 mit Schritt S112 fort. Falls Schritt i und Schritt (i - 1) nicht die äquivalenten Schritte oder nicht-äquivalenten Schritte sind, fährt die Testfallgenerierungseinheit 20 mit Schritt S110 fort. Falls i = 1, bestimmt die Testfallgenerierungseinheit 20 jedoch, dass Schritt i und Schritt (i - 1) konstant nicht-äquivalent sind, da es kein Ergebnis der Äquivalenter-Schritt-Prüfung gibt, und fährt dann mit Schritt S110 fort.
  • In Schritt S110 analysiert die Testfallgenerierungseinheit 20 den bis Schritt (i - 1) noch nicht abgedeckten Abdeckungszielteil oder den einen oder mehr in Schritt S104 extrahierten Abdeckungszielteil/e, falls i = 1, unter Verwendung des formalen Verfahrens, und generiert dadurch den Testfall. Insbesondere analysiert die Testfallgenerierungseinheit 20, ob die durch die Programminformationen-Eingabeeinheit 15 geladene Eingabevariable einen Eingabewert annehmen kann, der den bis Schritt (i - 1) noch nicht abgedeckten Abdeckungszielteil oder einen des einen oder mehr Abdeckungszielteils/en durchläuft, und gibt den Eingabewert als den Testfall aus, falls der Eingabewert wie oben erwähnt vorhanden ist. Wenn es als ein Ergebnis der Analyse keinen Eingabewert gibt, kann der Testfall in diesem Schritt möglicherweise nicht generiert werden. Dann fährt die Testfallgenerierungseinheit 20 mit Schritt S111 fort.
  • Falls in Schritt S111 der Testfall in Schritt S110 generiert wurde, schließt die Testfallgenerierungseinheit 20 aus dem einen oder mehr Abdeckungszielteil/en den Teil aus, der durch den Testfall durchlaufen wurde. Dann fährt die Testfallgenerierungseinheit 20 mit Schritt S112 fort.
  • In Schritt S112 erhöht die Testfallgenerierungseinheit 20 die Variable i um eins und geht dann zurück zu Schritt S108.
  • In dieser Ausführungsform führt die Äquivalenter-Schritt-Prüfungseinheit 19 Äquivalente-Schritt-Prüfungen vom ersten Schritt bis zum Erreichen der maximalen Anzahl der Schritte auf einmal, in Schritt S106, aus. Als ein Variationsbeispiel kann vorgesehen sein, dass die Äquivalenter-Schritt-Prüfungseinheit 19 prüft, ob Schritt i und Schritt (i -1) zwischen Schritt S108 und Schritt S109 äquivalent sind, und die Äquivalenter-Schritt-Prüfung, die Abdeckungszielteilanalyse und die Testfallgenerierungsschritt werden für jeden Schritt wiederholt.
  • Wie oben beschrieben, analysiert die Testfallgenerierungsvorrichtung 10 in dieser Ausführungsform die Testzielsoftware, die Software ist, die den Prozess eines Schrittes für jede Eingabe eines Wertes ausführt, wodurch eine Menge von Werten generiert wird, die für einen Test der Software eingegeben werden, als den Testfall. Falls bei dieser Generierung der Wert der Zustandsvariablen VAR nach Ausführung eines der mehreren Schritte, die sich die Zustandsvariable VAR teilen, und der Wert der Zustandsvariablen VAR nach Ausführung des Prozesses eines anderen Schritts gleich sind, bestimmt die Äquivalenter-Schritt-Prüfungseinheit 19, dass diese zwei Schritte äquivalente Schritte sind. Die Testfallgenerierungseinheit 20 schließt einen der zwei Schritte, für die durch die Äquivalenter-Schritt-Prüfungseinheit 19 bestimmt wurde, äquivalente Schritte zu sein, aus und analysiert dann die Testzielsoftware, wodurch der in den Testfall einzubeziehende Wert generiert wird.
  • In dieser Ausführungsform bestimmt die Äquivalenter-Schritt-Prüfungseinheit 19, dass jede Kombination von zwei aufeinanderfolgenden Schritten der mehreren Schritte aus den äquivalenten Schritten gebildet ist. Der „eine der zwei Schritte, für die durch die Äquivalenter-Schritt-Prüfungseinheit 19 bestimmt wurde, äquivalente Schritte zu sein,“ ist der Schritt aus den zwei Schritten, für die durch die Äquivalenter-Schritt-Prüfungseinheit 19 bestimmt wurde, äquivalente Schritte zu sein, dessen Prozess später ausgeführt werden soll. Das heißt, die Testfallgenerierungseinheit 20 schließt den Schritt, dessen Prozess später ausgeführt werden soll, aus den zwei Schritten aus, für die die durch die Äquivalenter-Schritt-Prüfungseinheit 19 bestimmt wurde, die äquivalenten Schritte zu sein, und analysiert dann die Testzielsoftware und generiert dadurch den Wert, der in den Testfall einzubeziehen ist.
  • In dieser Ausführungsform analysiert die Testfallgenerierungseinheit 20 die Testzielsoftware sequentiell, Schritt für Schritt, unter Ausschluss des einen der zwei Schritte, für die durch die Äquivalenter-Schritt-Prüfungseinheit 19 bestimmt wurde, die äquivalenten Schritte zu sein, bis das Abdeckungskriterium für den Test der Testzielsoftware erfüllt ist, wodurch der in den Testfall einzubeziehende Wert generiert wird.
  • In dieser Ausführungsform analysiert die Zustandsvariablen-Extrahierungseinheit 16 die Testzielsoftware, um aus den Variablen, die zwischen den mehreren Schritten geteilt werden und Werte entsprechend dem Ergebnis des Prozesses jedes Schritts enthalten, eine zweite Variable unter Ausschluss einer ersten Variablen, als die Zustandsvariable VAR zu extrahieren. Die erste Variable macht den Prozess eines nachfolgenden Schrittes anders, je nachdem, ob die erste Variable einen Schwellenwert erreicht. Bei dieser Gelegenheit bestimmt die Zustandsvariablen-Extrahierungseinheit 16 die erste Variable auf Grundlage der Informationen, die die Spezifikation der ersten Variable angeben, die in die Programminformationen-Eingabeeinheit 15 eingegeben wurde. Als ein Variationsbeispiel kann die Zustandsvariablen-Extrahierungseinheit 16 die erste Variable durch Analysieren der Testzielsoftware bestimmen. In dieser Ausführungsform entspricht die Zählervariable der ersten Variablen und die Zustandsvariable VAR entspricht der zweiten Variablen. Die Zählerspezifikationsinformationen entsprechen den Informationen, die die Spezifikation der ersten Variablen angeben.
  • Die Operationen der Testfallgenerierungsvorrichtung 10 werden unter Verwendung eines konkreten Beispiels beschrieben.
  • Im folgenden Beispiel wird ein Teil des Programms der Testzielsoftware verwendet, der in 4 dargestellt ist. In der Spezifikation dieses Programms wird davon ausgegangen, dass ein Zähler durch cnt, Eingabevariablen durch b und c und die maximale Anzahl von Schritten durch 4 angegeben ist. Es wird angenommen, dass als das strukturelle Abdeckungskriterium für die Ausführung eines Tests die Zweigabdeckung verwendet wird.
  • Die Programminformationen-Eingabeeinheit 15 lädt das Programm der Testzielsoftware, Zählerspezifikationsinformationen, Eingabespezifikationsinformationen und die maximale Anzahl der Schritte. Obwohl das Programm nur zwei Funktionen enthält, die in diesem Beispiel func und func_init sind, kann das Programm eine Gruppe einer Vielzahl von Funktionen oder eine Vielzahl von Dateien sowie eine Datei enthalten, in der nur eine Funktion beschrieben wurde. Als Informationen über den Zähler, der aufgrund der Ausführung von einem Schritt um eins erhöht werden soll, um bis zum Durchführen eines Zustandsübergangs in Stand-By zu bleiben, ist eine durch cnt angegebene Zustandsvariable in den Zählerspezifikationsinformationen enthalten. Informationen zu den Eingabevariablen b und c des Programms der Testzielsoftware sind in den Eingabespezifikationsinformationen enthalten. Die maximale Anzahl der Schritte ist auf 4 festgelegt.
  • Wenn diese einzelnen Informationen geladen werden, extrahiert die Zustandsvariablen-Extrahierungseinheit 16 Zustandsvariablen, die im Testzielprogramm enthalten sind. Es wird hier angenommen, dass d und cnt extrahiert werden. Die Zustandsvariablen-Extrahierungseinheit 16 identifiziert, dass aus diesen Zustandsvariablen die Prüfungszielzustandsvariable VAR d ist, basierend auf den Zählerspezifikationsinformationen.
  • Die Struktur-Extrahierungseinheit 17 extrahiert aus dem Programm der Testzielsoftware insgesamt vier Teile als abzudeckenden Zweig, da es zwei if-Statements gibt, und jedes if-Statement zwei Zweige hat, die WAHR und FALSCH sind. 5 zeigt den Zweig, der in Bezug auf das in 4 dargestellte Programm durch P1 bis P4 abgedeckt werden soll.
  • Die Wrapper-Funktion-Generierungseinheit 18 generiert eine Wrapper-Funktion für eine Äquivalenter-Schritt-Prüfung. Ein Beispiel für diese Wrapper-Funktion ist in 6 dargestellt. Für jeden Schritt wird eine Unterscheidung vorgenommen, wobei angenommen wird, dass X = 1, 2, 3, 4 ist und Eingabewerte für die Eingabevariablen b und c des Programms der Testzielsoftware durch b_X und c_X angegeben sind. Der Wert einer Prüfungszielzustandsvariablen nach der Ausführung jedes Schrittes ist in der Variablen VAR_X gespeichert. Die letzten drei ASSERT-Statements sind ein Beispiel für Anweisungen für die Äquivalenter-Schritt-Prüfung. Bei diesen ASSERT-Statements handelt es sich jeweils um eine Anweisung zum Prüfen, ob die Prüfungszielzustandsvariable VAR_X und eine Prüfungszielzustandsvariable VAR_ (X - 1) in einem Fall gleich sind, in dem jede der Eingabevariablen b und c jeden möglichen Wert annehmen kann.
  • Die Äquivalenter-Schritt-Prüfungseinheit 19 führt die Prüfung durch das formale Verfahren aus, wobei diese Wrapper-Funktion als eine Entry-Funktion verwendet wird. Falls ein Gegenbeispiel für eines der ASSERT-Statements gefunden wurde, bestimmt die Äquivalenter-Schritt-Prüfungseinheit 19, dass Schritte, bei denen das Gegenbeispiel gefunden wurde, nicht-äquivalent sind. Beispielsweise ist das finale Statement der ASSERT-Statements ein Statement, um zu prüfen, ob der Wert der Prüfungszielzustandsvariablen nach Ausführung eines dritten Schritts und der Wert der Prüfungszielvariablen nach Ausführung eines vierten Schritts gleich sind. Das heißt, das finale Statement der ASSERT-Statements ist ein Statement, um zu prüfen, dass der Wert der Prüfungszielzustandsvariablen unverändert bleibt, selbst wenn jede der Eingabevariablen b_ 1 bis b_4 und Eingabevariablen c_1 bis c_4 zur Ausführung des dritten Schritts und Ausführung des vierten Schritts ein beliebiger Wert gegeben wird. Falls das Gegenbeispiel für diese Prüfung ausgegeben wurde, kann der Wert der Prüfungszielzustandsvariablen geändert werden. Daher wird für den dritten Schritt und den vierten Schritt bestimmt, nicht-äquivalent zu sein. Falls das Gegenbeispiel nicht ausgegeben wird, kann für den dritten Schritt und den vierten Schritt bestimmt sein, äquivalent zu sein. In diesem Beispiel wird angenommen, dass ein erster Schritt und ein zweiter Schritt äquivalent sind und dass es für jeden der anderen Schritte keinen äquivalenten Schritt gibt.
  • Im ersten Schritt bestimmt die Testfallgenerierungseinheit 20, ob oder ob nicht eine Analyse für die Testfallgenerierung durchgeführt werden soll, unter Verwendung eines Ergebnisses der Prüfung durch die Äquivalenter-Schritt-Prüfungseinheit 19. Da für den ersten Schritt bestimmt ist, konstant keinen nicht-äquivalenten Schritt zu haben, führt die Testfallgenerierungseinheit 20 die Analyse der durch die Struktur-Extrahierungseinheit 17 extrahierten Abdeckungszielteile durch und führt die Testfallgenerierung durch. Dadurch kann ein Testfall generiert werden. Falls der generierte Testfall P4 in den in 5 dargestellten Abdeckungszielteilen erfüllt, schließt die Testfallgenerierungseinheit 20 P4 aus den Abdeckungszielteilen aus und fährt mit dem zweiten Schritt fort. Da der zweite Schritt zum ersten Schritt äquivalent ist und auf dem Ergebnis der Äquivalenter-Schritt-Prüfung basiert, sind Analyse und Testfallgenerierung nicht notwendig. Somit geht die Testfallgenerierungseinheit 20 sofort zum dritten Schritt über. Da der dritte Schritt ein Schritt ist, der zum zweiten Schritt nicht-äquivalent ist, führt die Testfallgenerierungseinheit 20, wie im ersten Schritt, Analyse der Abdeckungszielteile P1 bis P3 und die Testfallgenerierung durch. Dadurch kann ein Testfall generiert werden. Falls P1 und P3 abgedeckt wurden, ist der Rest der Abdeckungszielteile P2. Die Testfallgenerierungseinheit 20 geht zum vierten Schritt über und führt, wie im dritten Schritt, Analyse und Testfallgenerierung durch. Da die maximale Anzahl der Schritte 4 ist, führt die Testfallgenerierungseinheit 20 keinen Prozess mehr durch und beendet die Prozesse.
  • Durch Ausführen der Äquivalenter-Schritt-Prüfung, um Äquivalenz zwischen den Schritten zu bestimmen, und Durchführen der Analyse und der Testfallgenerierung entsprechend dem Ergebnis der oben erwähnten Äquivalenter-Schritt-Prüfung, wird die Analyse für die Testfallgenerierung im zweiten Schritt nicht durchgeführt, und es kann zum nächsten Schritt übergegangen werden. Eine Analysezeit kann dadurch verkürzt werden. Falls die Äquivalenter-Schritt-Prüfung im Vergleich zu diesem Fall nicht durchgeführt wird, werden die Analyse und die Testfallgenerierung in jedem von dem ersten Schritt bis zum vierten Schritt ausgeführt. Als ein Ergebnis gibt es keinen Eingabewert, der die Abdeckungszielteile im zweiten Schritt neu durchläuft. Dadurch wird die Testfallgenerierung durchgeführt, so dass eine nicht notwendige Analysezeit in Anspruch genommen wird.
  • Ferner wird durch das automatische Bestimmen der Äquivalenz zwischen den Schritten wie oben beschrieben, unter Verwendung des formalen Verfahrens, die Notwendigkeit des Durchführens einer Operation des manuellen Änderns des Schwellenwerts des Zählers eliminiert. Eine Testfallgenerierungszeit kann dadurch in einer praktischen Zeit gehalten werden, ohne das Verhalten der Testzielsoftware zu verändern. Darüber hinaus kann das folgende Problem vermieden werden. Das heißt durch Setzen eines Zählerwertes auf einen fehlerhaften Wert, wenn der Zählerwert manuell geändert wurde, wird ein Testfall für das Programm generiert, das konfiguriert ist, sich anders zu verhalten als erwartet, so dass kein angemessener Testfall generiert werden kann.
  • Beschreibung der Wirkungen dieser Ausführungsform
  • In dieser Ausführungsform wird in Bezug auf den einen der zwei Schritte, für die bestimmt wurde, die äquivalenten Schritte zu sein, der Prozess des Analysierens der Software, um den in den Testfall einzubeziehenden Wert zu generieren, weggelassen. Dadurch kann die für die Generierung des Testfalls benötigte Zeit, die sich über die mehreren Schritte erstreckt, reduziert werden.
  • In dieser Ausführungsform umfasst die Testfallgenerierungsvorrichtung 10, um den Testfall zu generieren, der sich über die mehreren Schritte erstreckt, die Äquivalenter-Schritt-Prüfungseinheit 19 und die Testfallgenerierungseinheit 20. Die Äquivalenter-Schritt-Prüfungseinheit 19 prüft, ob ein inferner Zustand zwischen den Schritten äquivalent ist, auch wenn ein beliebiger Wert als eine Eingabe gegeben ist. Auf Grundlage der durch die Äquivalenter-Schritt-Prüfungseinheit 19 vom ersten Schritt bis zum Erreichen der maximalen Anzahl der Schritte in Reihenfolge sequentiell erhaltenen Ergebnisse führt die Testfallgenerierungseinheit 20 keine Analyse für die Testfallgenerierung und die Testfallgenerierung in dem Schritt durch, falls der Schritt zum unmittelbar vorhergehenden Schritt äquivalent ist, und fährt mit dem nachfolgenden Schritt fort. Falls der Schritt mit dem unmittelbar vorhergehenden Schritt nicht äquivalent, führt die Testfallgenerierungseinheit 20 die Analyse und die Testfallgenerierung durch.
  • Gemäß dieser Ausführungsform, falls für jeden internen Zustand zwischen nach Ausführung eines bestimmten Schritts und nach Ausführung eines anderen Schritts bestimmt wurde, äquivalent zu sein, wird keine Analyse zur automatischen Testfallgenerierung für diesen Schritt durchgeführt. Eine Zeit, die für die automatische Testfallgenerierung benötigt wird, kann dadurch reduziert werden. Ferner kann durch Durchführen der automatischen Testfallgenerierung ohne Veränderung des Verhaltens der Testzielsoftware der für die Testzielsoftware geeignete Test durchgeführt werden.
  • Wenn in dieser Ausführungsform der interne Zustand zwischen nach der Ausführung des bestimmten Schritts und nach der Ausführung des anderen Schritts unverändert bleibt, selbst wenn der beliebige Wert für die Eingabe in das Programm der Testzielsoftware in jedem Schritt zu einem Zeitpunkt der automatischen Generierung des Testfalls, der sich über die mehreren Schritte erstreckt, gegeben ist, wird für diese zwei Schritte bestimmt, äquivalent zu sein. Dann entfällt die Analyse für die automatische Generierung des Testfalls in dem Schritt.
  • In dieser Ausführungsform wird vor der Analyse für die Testfallgenerierung für jeden Schritt geprüft, ob die Interner-Zustand-Variablen unter Weglassung des Zählers in jedem der Schritte und im unmittelbar vorhergehenden Schritt für jeden Eingabewert konstant äquivalent sind. In dem Schritt, für den bestimmt ist, zum unmittelbar vorhergehenden Schritt äquivalent zu sein, wird die Analyse für die Testfallgenerierung und die Generierung, die Zeit erfordern, nicht durchgeführt. Die Zeit, die für die automatische Testfallgenerierung benötigt wird, kann dadurch reduziert werden.
  • In dieser Ausführungsform werden durch die automatische Bestimmung, ob oder ob nicht ein bestimmter Schritt und der unmittelbar vorangehende Schritt durch das formale Verfahren äquivalent sind, die Kosen für die manuelle Änderung reduziert, und gleichzeitig kann folgendes Problem gelöst werden: Das Problem, dass durch eine fehlerhafte manuelle Änderung kein zufriedenstellender Testfall generiert werden kann und somit der Test nicht angemessen ausgeführt werden kann.
  • In dieser Ausführungsform ist die Variable, durch die der Prozess der Testzielsoftware durch Erreichen des Schwellenwertes verändert wird, nicht in der Zustandsvariablen enthalten. Insbesondere kann selbst in dem Programm, das eine Zustandsvariable enthält, die konfiguriert ist, sich für jeden Schritt zu ändern, um das Programm für einen bestimmten Zeitraum bis zum Eintreten eines Zustandsübergangs in Stand-By zu halten, durch Verwendung der Zustandsvariablen unter Ausschluss des Zählers für die Äquivalenter-Schritt-Prüfung, bestimmt werden, dass die Schritte während des Standby äquivalente Schritte sind. Die Zeit, die für die Testfallgenerierung benötigt wird, kann dadurch reduziert werden.
  • In dieser Ausführungsform wird die Variable, mit der der Prozess der Testzielsoftware durch Erreichen des Schwellenwertes verändert werden soll, aus den formal beschriebenen Spezifikationsinformationen automatisch extrahiert oder durch die Operationsanalyse des Programms der Testzielsoftware automatisch extrahiert. Insbesondere durch Extrahieren der Zählerspezifikationsinformationen einschließlich des Zählers, der die Zustandsvariable ist, die durch Bezugnehmen auf die formal geschriebene Spezifikation oder durch die Analyse des Programms der Testzielsoftware aus dem Äquivalenter-Schritt-Prüfungsziel auszuschließen ist, entfällt die Arbeit des manuellen Einstellens der Zählerspezifikationsinformationen. Die Zeit, die für die Testfallgenerierung benötigt wird, kann dadurch reduziert werden.
  • Alternative Konfiguration
  • In dieser Ausführungsform sind die Funktionen der Programminformationen-Eingabeeinheit 15, der Zustandsvariablen-Extrahierungseinheit 16, der Struktur-Extrahierungseinheit 17 und der Wrapper-Funktion-Generierungseinheit 18, der Äquivalenter-Schritt-Prüfungseinheit 19 und der Testfallgenerierungseinheit 20 durch die Software implementiert. Als ein Variationsbeispiel können die Funktionen der Programminformationen-Eingabeeinheit 15, der Zustandsvariablen-Extrahierungseinheit 16, der Struktur-Extrahierungseinheit 17 und der Wrapper-Funktion-Generierungseinheit 18, der Äquivalenter-Schritt-Prüfungseinheit 19 und der Testfallgenerierungseinheit 20 durch eine Kombination aus Software und Hardware implementiert sein. Das heißt, ein Teil der Funktionen der Programminformationen-Eingabeeinheit 15, der Zustandsvariablen-Extrahierungseinheit 16, der Struktur-Extrahierungseinheit 17, der Wrapper-Funktion-Generierungseinheit 18, der Äquivalenter-Schritt-Prüfungseinheit 19 und der Testfallgenerierungseinheit 20 kann durch dedizierte Hardware implementiert sein, und die übrigen Funktionen der Programminformationen-Eingabeeinheit 15, der Zustandsvariablen-Extrahierungseinheit 16, der Struktur-Extrahierungseinheit 17, der Wrapper-Funktion-Generierungseinheit 18, der Äquivalenter-Schritt-Prüfungseinheit 19 und der Testfallgenerierungseinheit 20 können durch die Software implementiert sein.
  • Bei der dedizierten Hardware handelt es sich zum Beispiel um eine Einzelschaltung, eine Verbundschaltung, einen programmierten Prozessor, einen parallel-programmierten Prozessor, eine Logik-IC, ein GA, ein FPGA, eine ASIC oder eine Kombination einiger oder aller dieser Teile der Hardware. „IC“ ist eine Abkürzung für Integrated Circuit (= Integrierte Schaltung). „GA“ ist eine Abkürzung für Gate Array = Gatteranaordnung). „FPGA“ ist eine Abkürzung für Field-Programmable Gate Array (= Feldprogrammierbare Gatteranordnung). „ASIC“ ist eine Abkürzung für Application Specific Integrated Circuit (= Anwendungsspezifische Integrierte Schaltung).
  • Sowohl der Prozessor 11 als auch die dedizierte Hardware sind Verarbeitungsschaltkreise. Das heißt, unabhängig davon, ob die Funktionen der Programminformationen-Eingabeeinheit 15, der Zustandsvariablen-Extrahierungseinheit 16, der Struktur-Extrahierungseinheit 17, der Wrapper-Funktion-Generierungseinheit 18, der Äquivalenter-Schritt-Prüfungseinheit 19 und der Testfallgenerierungseinheit 20 durch die Software oder die Kombination der Software und der Hardware implementiert sind, sind die Operationen der Programminformationen-Eingabeeinheit 15, der Zustandsvariablen-Extrahierungseinheit 16, der Struktur-Extrahierungseinheit 17, der Wrapper-Funktion-Generierungseinheit 18, der Äquivalenter-Schritt-Prüfungseinheit 19 und der Testfallgenerierungseinheit 20 durch die Verarbeitungsschaltung implementiert.
  • Zweite Ausführungsform
  • In dieser Ausführungsform wird hauptsächlich ein Unterschied zur ersten Ausführungsform unter Verwendung von 7 bis 12 beschrieben.
  • *** Konfigurationsbeschreibung ***
  • Da eine Konfiguration einer Testfallgenerierungsvorrichtung 10 gemäß dieser Ausführungsform die gleiche ist wie die in der ersten Ausführungsform, die in 1 dargestellt ist, wird auf eine Beschreibung der Konfiguration der Testfallgenerierungsvorrichtung 10 verzichtet.
  • ***Beschreibung der Operationen***
  • Eine Übersicht über Operationen der Testfallgenerierungsvorrichtung 10 gemäß dieser Ausführungsform wird unter Bezugnahme auf 12 beschrieben. Die Operationen der Testfallgenerierungsvorrichtung 10 entsprechen einem Testfallgenerierungsverfahren gemäß dieser Ausführungsform.
  • Die Programminformationen-Eingabeeinheit 15 lädt aus einem Speicher 12 oder von extern über eine Kommunikationseinrichtung 13 oder eine Eingabe-/Ausgabeeinrichtung 14 das Programm der Testzielsoftware, die Rückkopplungssteuerungsspezifikationsinformationen, Eingabespezifikationsinformationen und Informationen über die maximale Anzahl von Schritten.
  • Die Zustandsvariablen-Extrahierungseinheit 16 analysiert das durch die Programminformationen-Eingabeeinheit 15 geladene Programm, extrahiert die im Programm enthaltenen Zustandsvariablen und speichert dann die Zustandsvariablen im Speicher 12. Die Zustandsvariablen-Extrahierungseinheit 16 unterscheidet zwischen den extrahierten Zustandsvariablen die Variable, die einen Rückkopplungssteuerungsbetrag anzeigt, basierend auf der durch die Programminformationen-Eingabeeinheit 15 geladenen Rückkopplungssteuerungsspezifikationsinformationen. Diese Variable wird anschließend als eine Zustandsvariable CTRL bezeichnet. Eine oder mehr Zustandsvariablen unter Ausschluss der Zustandsvariablen CTRL wird/werden als eine Zustandsvariable VAR bezeichnet.
  • Die Wrapper-Funktion-Generierungseinheit 18 ruft das Testzielprogramm auf und generiert eine Wrapper-Funktion, um den Wert der Prüfungszielzustandsvariablen VAR und den Wert der Zustandsvariablen CTRL nach Ausführung jedes Schrittes als eine für jeden Schritt unterschiedliche Variable zu speichern. In dieser Ausführungsform wird davon ausgegangen, dass die Variable, die den Wert der Zustandsvariablen VAR nach Ausführung eines X-ten Schrittes gespeichert hat, durch VAR_X angegeben wird, und die Variable, die den Wert der Zustandsvariablen CTRL gespeichert hat, durch CTRL_X angegeben wird.
  • Die Äquivalenter-Schritt-Prüfungseinheit 19 prüft durch das formale Verfahren, ob die Ausführung eines bestimmten Schrittes und die Ausführung eines anderen Schrittes funktional äquivalent sind. Falls VAR_X nach Ausführung eines bestimmten Schritts X und VAR_Y nach Ausführung von Schritt Y konstant den gleichen Wert haben, bestimmt die Äquivalenter-Schritt-Prüfungseinheit 19, dass Schritt X und Schritt Y äquivalente Schritte in Bezug auf die Zustandsvariable VAR sind. Es wird jedoch davon ausgegangen, dass X und Y voneinander verschiedene Werte sind und jeweils ein Wert von nicht weniger als 1 und nicht mehr als die maximale Anzahl der Schritte sind. Die Äquivalenter-Schritt-Prüfungseinheit 19 führt eine ähnliche Prüfung auch in Bezug auf die Zustandsvariable CTRL durch. Falls VAR_X und VAR_Y in Bezug auf alle Zustandsvariablen gleich sind und CTRL_X und CTRL_Y in Bezug auf alle Zustandsvariablen oder die Zustandsvariable VAR und die Zustandsvariable CTRL gleich sind, bestimmt die Äquivalenter-Schritt-Prüfungseinheit 19 nach Ausführung von Schritt X und Schritt Y, dass Schritt X und Schritt Y vollständig äquivalente Schritte sind.
  • Eine Testfallgenerierungseinheit 20 generiert einen Testfall, der konfiguriert ist, eines oder mehr der Abdeckungsziele, die durch die Struktur-Extrahierungseinheit 17 extrahiert wurden, abzudecken gemäß einem durch die Äquivalenter-Schritt-Prüfungseinheit 19 erhaltenen Ergebnis, und gibt den Testfall aus.
  • Einzelheiten der Operationen der Testfallgenerierungsvorrichtung 10 gemäß dieser Ausführungsform werden unter Bezugnahme auf die 7 und 8 beschrieben.
  • In Schritt S201 lädt die Programminformationen-Eingabeeinheit 15 das Programm der Testzielsoftware, die Rückkopplungssteuerungsspezifikationsinformationen, die Eingabespezifikationsinformationen und die maximale Anzahl der Schritte und fährt dann mit Schritt S202 fort. Die Rückkopplungssteuerungsspezifikationsinformationen können von einem Benutzer auf Grundlage einer Softwarespezifikation manuell eingestellt sein, können automatisch eingestellt sein, unter Verwendung einer in einem definierten Format beschriebenen Spezifikation, oder können durch Analysieren des Programms eingestellt sein, um eine Variable, die als ein Auslöser für einen Zustandsübergang verwendet wird, auszuwählen.
  • In Schritt S202 analysiert die Zustandsvariablen-Extrahierungseinheit 16 das geladene Programm, extrahiert die im Programm enthaltenen Zustandsvariablen und fährt mit Schritt S203 fort.
  • In Schritt S203 legt die Zustandsvariablen-Extrahierungseinheit 16 aus den extrahierten Variablen eine oder mehr Variablen unter Ausschluss der Zustandsvariablen CTRL, die durch die Rückkopplungssteuerungsspezifikationsinformationen angezeigt ist, als die Zustandsvariable VAR fest und fährt dann mit Schritt S204 fort. Die Zustandsvariable CTRL ist die Variable, die den Rückkopplungssteuerungsbetrag angibt. Die Zustandsvariable CTRL ist zum Beispiel eine Variable in einem Programm, um einen Steuerungsbetrag eines zu steuernden Motors oder dergleichen zu berechnen, um ein Ergebnis der Berechnung zu speichern. Wenn der Steuerungsbetrag in einem bestimmten Schritt berechnet wird, wird die Zustandsvariable CTRL verwendet, wenn der Steuerungsbetrag in einem vorhergehenden Schritt verwendet wird oder dergleichen. Diese Variable wird verwendet, um eine abrupte Änderung des Motorsteuerungsbetrags oder dergleichen zu unterdrücken und dadurch eine sanfte Steuerung oder dergleichen zu implementieren.
  • In Schritt S204 extrahiert die Struktur-Extrahierungseinheit 17 den einen oder mehr Abdeckungszielteil/e, der/die im Programm der Testzielsoftware enthalten ist/sind, gemäß dem zu verwendenden strukturellen Abdeckungskriterium und fährt dann mit Schritt S205 fort. Da Schritt S204 keine Abhängigkeit zu Schritt S202, Schritt S203 und Schritt S205 hat, kann Schritt S204 durch Ändern der Ausführungsreihenfolge von Schritt S204 ausgeführt werden oder parallel zu einem von Schritt S202, Schritt S203 und Schritt S205 ausgeführt werden.
  • In Schritt S205 generiert die Wrapper-Funktion-Generierungseinheit 18 die Wrapper-Funktion für die Äquivalenter-Schritt-Prüfung und fährt dann mit Schritt S206 fort.
  • In Schritt S206 prüft die Äquivalenter-Schritt-Prüfungseinheit 19 die Äquivalenz zwischen den Schritten in Bezug auf die Zustandsvariable VAR durch das formale Verfahren, wobei die Wrapper-Funktion als eine Entry-Funktion verwendet wird. Insbesondere prüft die Äquivalenter-Schritt-Prüfungseinheit 19, ob oder ob nicht der Wert der Zustandsvariablen VAR_X nach Ausführung von Schritt X und der Wert der Zustandsvariablen VAR_ Y nach Ausführung von Schritt Y unabhängig vom Wert einer Eingabevariablen, die in den Eingabespezifikationsinformationen enthalten ist, konstant der gleiche Wert sind. X und Y nehmen Werte an, die sich voneinander unterscheiden und jeweils einen Wert zwischen 1 und der maximalen Anzahl der Schritte annehmen, was die Anzahl der Schritte angibt. Falls dann VAR_X und VAR_Y den gleichen Wert haben, bestimmt die Äquivalenter-Schritt-Prüfungseinheit 19, dass Schritt X und Schritt Y äquivalente Schritte in Bezug auf die Zustandsvariable VAR sind. Falls es einen Fall gibt, in dem VAR_X und VAR_Y nicht den gleichen Wert haben, bestimmt die Äquivalenter-Schritt-Prüfungseinheit 19, dass Schritt X und Schritt Y nicht-äquivalent sind. Nachdem die Äquivalenter-Schritt-Prüfungseinheit 19 die Prüfung von einem ersten Schritt bis zum Erreichen der maximalen Anzahl der Schritte ausgeführt hat, fährt die Äquivalenter-Schritt-Prüfungseinheit 19 mit Schritt S207 fort.
  • In Schritt S207 prüft die Äquivalenter-Schritt-Prüfungseinheit 19, ob die in Bezug auf die Zustandsvariable VAR als äquivalent bestimmten Schritte auch in Bezug auf die Zustandsvariable CTRL oder die komplex äquivalenten Schritte äquivalent sind. Falls VAR_X und VAR_Y gleich sind und Schritt X und Schritt Y zum Beispiel in Bezug auf die Zustandsvariable VAR als äquivalent bestimmt sind, prüft die Äquivalenter-Schritt-Prüfungseinheit 19, ob CTRL_X und CTRL_Y ebenfalls den gleichen Wert haben, so dass Schritt X und Schritt Y die vollständig äquivalenten Schritte werden. Danach fährt die Äquivalenter-Schritt-Prüfungseinheit 19 mit Schritt S208 fort.
  • In Schritt S208 setzt die Testfallgenerierungseinheit 20 eine Variable i auf 1 und fährt dann mit Schritt S209 fort.
  • In Schritt S209 bestimmt die Testfallgenerierungseinheit 20, ob der Wert der Variablen i größer ist als die maximale Anzahl der Schritte oder ob es einen Abdeckungszielteil gibt. Wenn der Wert der Variablen i größer ist als die maximale Anzahl der Schritte, wurde/n der/die Schritt(e) für die Testfallgenerierung beendet. Damit beendet die Testfallgenerierungseinheit 20 den Vorgang. Falls es keinen Abdeckungszielteil gibt, obwohl der Wert der Variablen i gleich ist wie oder kleiner ist als die maximale Anzahl der Schritte, bestimmt die Testfallgenerierungseinheit 20, dass die Testfallgenerierung nicht notwendig ist, und beendet dann den Vorgang. Andernfalls fährt die Testfallgenerierungseinheit 20 mit Schritt S210 fort.
  • In Schritt S210 bezieht sich die Testfallgenerierungseinheit 20 auf ein Ergebnis der Äquivalenter-Schritt-Prüfung in Schritt S207. Die Testfallgenerierungseinheit 20 prüft, ob ein Schritt j vorhanden ist, der zum Schritt i vollständig äquivalent ist. j ist ein Wert kleiner als i. Falls es einen Schritt j gibt, der zu Schritt i vollständig äquivalent ist, bestimmt die Testfallgenerierungseinheit 20, dass alle Zustandsübergänge ausgeführt wurden, und beendet dann den Vorgang. Falls es keinen Schritt j gibt, der zu Schritt i vollständig äquivalent ist, bestimmt die Testfallgenerierungseinheit 20, dass es einen Zustand gibt, der nicht erreicht wurde, und fährt dann mit Schritt S211 fort.
  • In Schritt S211 bezieht sich die Testfallgenerierungseinheit 20 auf ein Ergebnis der Äquivalenter-Schritt-Prüfung in Bezug auf die Zustandsvariable VAR in Schritt S206. Falls für Schritt i und Schritt (i - 1) bestimmt wurde, äquivalente Schritte zu sein, sind die Prozesse von Schritt S212 und Schritt S213 nicht notwendig. Somit fährt die Testfallgenerierungseinheit 20 mit Schritt S214 fort. Falls Schritt i und Schritt (i - 1) nicht die äquivalenten Schritte oder nicht-äquivalente Schritte sind, fährt die Testfallgenerierungseinheit 20 mit Schritt S212 fort. Falls allerdings i = 1, bestimmt die Testfallgenerierungseinheit 20, dass Schritt i und Schritt (i - 1) konstant nicht-äquivalent sind, da es kein Ergebnis der Äquivalenter-Schritt-Prüfung gibt, und fährt dann mit Schritt S212 fort.
  • In Schritt S212 analysiert die Testfallgenerierungseinheit 20 den bis Schritt (i - 1) noch nicht abgedeckten Abdeckungszielteil oder den einen oder mehr in Schritt S204 extrahierten Abdeckungszielteil/e, falls i = 1, unter Verwendung des formalen Verfahrens, und generiert so den Testfall. Insbesondere analysiert die Testfallgenerierungseinheit 20, ob die von der Programminformationen-Eingabeeinheit 15 geladene Eingabevariable einen Eingabewert annehmen kann, der den Abdeckungszielteil durchläuft, der bis Schritt (i - 1) noch nicht abgedeckt wurde, oder einen des einen oder mehr Abdeckungszielteils/en, und gibt den Eingabewert als den Testfall aus, falls der Eingabewert wie oben erwähnt vorhanden ist. Falls es als ein Ergebnis der Analyse keinen Eingabewert gibt, kann der Testfall in diesem Schritt möglicherweise nicht generiert werden. Dann fährt die Testfallgenerierungseinheit 20 mit Schritt S213 fort.
  • Falls der Testfall in Schritt S213 in Schritt S212 generiert wurde, schließt die Testfallgenerierungseinheit 20 aus dem einen oder mehr Abdeckungszielteil/en den Teil aus, der durch den Testfall durchlaufen wurde. Dann fährt die Testfallgenerierungseinheit 20 mit Schritt S214 fort.
  • In Schritt S214 erhöht die Testfallgenerierungseinheit 20 eine Variable i um eins und fährt dann mit Schritt S209 fort.
  • In dieser Ausführungsform analysiert die Zustandsvariablen-Extrahierungseinheit 16 wie oben beschrieben die Testzielsoftware, wodurch aus den Variablen, die zwischen den mehreren Schritten geteilt werden und Werte entsprechend dem Ergebnis des Prozesses jedes Schritts enthalten, eine zweite Variable unter Ausschluss einer ersten Variablen, als die Zustandsvariable VAR extrahiert wird. Die erste Variable macht den Prozess eines nachfolgenden Schrittes anders, je nachdem, ob die erste Variable einen Schwellenwert erreicht. Bei dieser Gelegenheit bestimmt die Zustandsvariablen-Extrahierungseinheit 16 die erste Variable auf Grundlage der Informationen, die die Spezifikation der ersten Variable angeben, die in die Programminformationen-Eingabeeinheit 15 eingegeben wurde. Als ein Variationsbeispiel kann die Zustandsvariablen-Extrahierungseinheit 16 die erste Variable durch Analysieren der Testzielsoftware bestimmen. In dieser Ausführungsform entspricht die Zustandsvariable CTRL der ersten Variablen und die Zustandsvariable VAR entspricht der zweiten Variablen. Die Rückkopplungssteuerungsspezifikationsinformationen entsprechen den Informationen, die die Spezifikation der ersten Variablen angeben.
  • Wenn in dieser Ausführungsform die Werte der Zustandsvariablen VAR und der Zustandsvariablen CTRL nach Ausführung eines der mehreren Schritte jeweils gleich den Werten der Zustandsvariablen VAR und der Zustandsvariablen CTRL nach Ausführung des Prozesses eines anderen Schritts in Bezug auf beide, die Zustandsvariable VAR und die Zustandsvariable CTRL, sind, bestimmt die Äquivalenter-Schritt-Prüfungseinheit 19, dass diese zwei Schritte vollständig äquivalente Schritte sind. Das heißt, die Äquivalenter-Schritt-Prüfungseinheit 19 bestimmt, ob jede Kombination von zwei Schritten, die aus den mehreren Schritten erhalten wird, aus den vollständig äquivalenten Schritten gebildet ist. Die Testfallgenerierungseinheit 20 analysiert die Testzielsoftware sequentiell, Schritt für Schritt, unter Ausschluss eines der zwei Schritte, für die durch die Äquivalenter-Schritt-Prüfungseinheit 19 bestimmt wurde, die äquivalenten Schritt zu sein, bis zum Ankommen an dem Wert aus den zwei Schritten, für die durch die Äquivalenter-Schritt-Prüfungseinheit 19 bestimmt wurde, die vollständig äquivalenten Schritte zu sein, welcher Schritt später ausgeführt werden soll, wodurch ein in den Testfall aufzunehmender Wert generiert wird.
  • Die Operationen derTestfallgenerierungsvorrichtung 10 werden anhand eines konkreten Beispiels beschrieben.
  • Im folgenden Beispiel wird ein Teil des Programms der Testzielsoftware verwendet, der in 9 dargestellt ist. In der Spezifikation dieses Programms wird davon ausgegangen, dass die Variable, die den Rückkopplungssteuerungsbetrag angibt, durch a angegeben ist, Eingabevariablen durch b und c angegeben sind und die maximale Anzahl der Schritte 5 ist. Es wird angenommen, dass als das strukturelle Abdeckungskriterium für die Ausführung eines Tests die Zweigabdeckung verwendet wird.
  • Die Programminformationen-Eingabeeinheit 15 lädt das Programm der Testzielsoftware, Rückkopplungssteuerungsspezifikationsinformationen, Eingabespezifikationsinformationen und Informationen über die maximale Anzahl der Schritte. Die Rückkopplungssteuerungsspezifikationsinformationen umfassen die Zustandsvariable a. Die Eingabespezifikationsinformationen enthalten Informationen über die Eingabevariablen b und c im Programm der Testzielsoftware. Die maximale Anzahl der Schritte ist auf 5 festgelegt.
  • Wenn diese Informationen geladen werden, extrahiert die Zustandsvariablen-Extrahierungseinheit 16 die Zustandsvariablen, die im Testzielprogramm enthalten sind. Es wird hier angenommen, dass a und d extrahiert werden. Die Zustandsvariablen-Extrahierungseinheit 16 identifiziert, dass die Zustandsvariable VAR d ist und die Zustandsvariable CTRL a ist, basierend auf den Rückkopplungssteuerungsspezifikationsinformationen.
  • Da es ein if-Statement gibt und das if-Statement zwei Zweige hat, die WAHR und FALSCH sind, extrahiert die Struktur-Extrahierungseinheit 17 aus dem Programm der Testzielsoftware mindestens diese zwei Teile als abzudeckenden Zweig. 10 zeigt den Zweig, der in Bezug auf das in 9 dargestellte Programm durch P1 bis P2 abgedeckt werden soll. Es wird davon ausgegangen, dass auch ein unterschiedlicher Abdeckungsteil in dem Programm enthalten ist, der weggelassen ist.
  • Die Wrapper-Funktion-Generierungseinheit 18 generiert jede Wrapper-Funktion für die Äquivalenter-Schritt-Prüfung. Ein Beispiel für diese Wrapper-Funktion ist in 11 und 12 dargestellt. Für jeden Schritt wird eine Unterscheidung gemacht, wobei angenommen wird, dass X = 1, 2, 3, 4 und 5 ist und Eingabewerte für die Eingabevariablen b und c des Programms der Testzielsoftware durch b_X und c_X angegeben sind. Die letzten 20 Zeilen des ASSERT-Statements sind Anweisungen zum Ausführen der Äquivalenter-Schritt-Prüfung zwischen den jeweiligen Schritten in Bezug auf die Zustandsvariable VAR und der Äquivalenter-Schritt-Prüfung zwischen den jeweiligen Schritten in Bezug auf die Zustandsvariable CTRL. Die Anweisungen sind hier alle beschrieben, um die Wrapper-Funktionen einmal zu generieren.
  • Die Äquivalenter-Schritt-Prüfungseinheit 19 führt die Äquivalenter-Schritt-Prüfung in Bezug auf die Zustandsvariable VAR für jede der ersten 10 Zeilen der ASSERT-Statements durch das formale Verfahren aus, wobei diese Wrapper-Funktion als eine Entry-Funktion verwendet wird. In diesem Beispiel wird angenommen, dass Gegenbeispiele für die Prüfungen in Bezug auf die ASSSERT-Statements einschließlich VAR_3 gefunden wurden und daher die Schritte als nicht-äquivalent in Bezug auf VAR_3 bestimmt sind und dass die übrigen ASSERT-Statements keine Gegenbeispiele haben. Das heißt, es wird angenommen, dass ein erster Schritt, ein zweiter Schritt, ein vierter Schritt und ein fünfter Schritt in Bezug auf die Zustandsvariable VAR äquivalent sind, und dass nur ein dritter Schritt zu den anderen Schritten nicht-äquivalent ist. Die Äquivalenter-Schritt-Prüfungseinheit 19 prüft, ob diese vier Schritte auch in Bezug auf die Zustandsvariable CTRL äquivalent sind und vollständig äquivalente Schritte sind. Die für diese Prüfung zu verwendenden ASSERT-Statements sind Statements ohne CTRL 3 in den finalen 10 Zeilen. In diesem Beispiel wird davon ausgegangen, dass keine Gegenbeispiele für die Prüfung in Bezug auf die ASSERT-Statements gefunden werden, um zu prüfen, ob CTRL_1 konstant gleich CTRL_4 ist und dass CTRL_2 konstant gleich CTRL_5 ist, und dass ein Gegenbeispiel für jedes der übrigen ASSERT-Statements gefunden wird. Das heißt, der erste Schritt und der vierte Schritt sind die vollständig äquivalenten Schritte in Bezug auf jede Zustandsvariable, selbst wenn ein beliebiger Eingabewert in jedem von dem ersten Schritt und dem vierten Schritt zur Ausführung eingegeben wird, und der zweite Schritt und der fünfte Schritt sind die vollständig äquivalenten Schritte in Bezug auf jede Zustandsvariable, die äquivalent sind, selbst wenn ein beliebiger Eingabewert in jeden von dem zweiten Schritt und den fünften Schritt zur Ausführung eingegeben wird.
  • Im ersten Schritt bestimmt die Testfallgenerierungseinheit 20 anhand der Ergebnisse der Prüfungen durch die Äquivalenter-Schritt-Prüfungseinheit 19, ob oder ob nicht eine Analyse für die Testfallgenerierung durchgeführt werden soll. Da für den ersten Schritt bestimmt ist, konstant keinen nicht-äquivalenten Schritt zu haben, führt die Testfallgenerierungseinheit 20 die Analyse der durch die Struktur-Extrahierungseinheit 17 extrahierten Abdeckungszielteile durch und führt die Testfallgenerierung durch. Dadurch kann ein Testfall generiert werden. Wenn der generierte Testfall einem der in 10 dargestellten Abdeckungszielteile genügt, schließt die Testfallgenerierungseinheit 20 diesen Teil aus den Abdeckungszielteilen aus und fährt dann mit dem zweiten Schritt fort. In diesem Beispiel wird angenommen, dass nur der Abdeckungszielteil P2 ausgeschlossen ist und P1 als der Abdeckungszielteil verbleibt. Die Testfallgenerierungseinheit 20 prüft, ob der zweite Schritt ein Schritt ist, der zum ersten Schritt vollständig äquivalent ist, durch Beziehen auf das Ergebnis der Äquivalenter-Schritt-Prüfung. Da der zweite Schritt zum ersten Schritt nicht vollständig äquivalent ist, prüft die Testfallgenerierungseinheit 20, ob der zweite Schritt in Bezug auf die Zustandsvariable VAR zum ersten Schritt äquivalent ist. Da der zweite Schritt in Bezug auf die Zustandsvariable zum ersten Schritt äquivalent ist, sind Analyse und Testfallgenerierung nicht erforderlich. Somit geht die Testfallgenerierungseinheit 20 sofort zum dritten Schritt über. Der dritte Schritt hat keinen vollständig äquivalenten Schritt und keinen Schritt, der in Bezug auf die Zustandsvariable VAR äquivalent ist. Daher führt die Testfallgenerierungseinheit 20 Analyse und Testfallgenerierung durch. Dadurch kann ein Testfall generiert werden. Falls der generierte Testfall einen der in 10 dargestellten Abdeckungszielteile durchläuft, wird dieser Abdeckungszielteil aus den Abdeckungszielteilen ausgeschlossen, und die Testfallgenerierungseinheit 20 fährt dann mit dem vierten Schritt fort. In diesem Beispiel wird angenommen, dass, obwohl der Abdeckungszielteil P1 im dritten Schritt abgedeckt wurde, der unterschiedliche Abdeckungszielteil verbleibt. Die Testfallgenerierungseinheit 20 prüft, ob der vierte Schritt zu jedem von dem ersten Schritt bis zum dritten Schritt vollständig äquivalent ist, durch Beziehen auf die Ergebnisse der Äquivalenter-Schritt-Prüfung. Da überprüft werden kann, ob der vierte Schritt zum ersten Schritt äquivalent ist, bestimmt die Testfallgenerierungseinheit 20, dass jeder übergangsfähige Zustand ausgeführt wurde, und beendet die Prozesse.
  • Beschreibung der Wirkung der Ausführungsform
  • Wenn in dieser Ausführungsform bestimmt wird, dass jeder mögliche Zustand erreicht wurde, bevor die maximale Anzahl der Schritte in der Testzielsoftware erreicht ist, deren Zustände in einer Schleife durchlaufen werden, sind die Prozesse in dieser Ausführungsform beendet, selbst wenn der nicht abgedeckte Abdeckungszielteil verbleibt. Das heißt, wenn ein bestimmter Schritt nach der Ausführung des Prozesses dieses Schritts zum Schritt äquivalent ist, der vor diesem Schritt liegt, werden die Prozesse vor Erreichen des maximalen Schritts beendet. Durch diese Anordnung werden nicht notwendige Analysen für die Testfallgenerierung nicht durchgeführt, so dass eine Analysezeit stärker reduziert werden kann als in einem Fall, in dem die Analyse so lange durchgeführt wird, bis die maximale Anzahl der Schritte erreicht ist. Der nicht abgedeckte Abdeckungszielteil ist ein Teil, der einbezogen wird, wenn ein Code, der selbst dann nicht-ausführbar ist, wenn irgendein Wert eingegeben wird, wie zum Beispiel ein toter Code, vorhanden ist.
  • Bezugszeichenliste
  • 10
    Testfallgenerierungsvorrichtung;
    11
    Prozessor;
    12
    Speicher;
    13
    Kommunikationseinrichtung;
    14
    Eingabe-/Ausgabeeinrichtung;
    15
    Programminformationen-Eingabeeinheit;
    16
    Zustandsvariablen-Extrahierungseinheit;
    17
    Struktur-Extrahierungseinheit;
    18
    Wrapper-Funktion-Generierungseinheit;
    19
    Äquivalenter-Schritt-Prüfungseinheit;
    20
    Testfallgenerierungseinheit.

Claims (9)

  1. Testfallgenerierungsvorrichtung, um Software zu analysieren, um einen Prozess von einem Schritt für jede Eingabe eines Wertes auszuführen, dadurch generierend, als einen Testfall, eine Folge von Werten, die für einen Test der Software eingegeben werden, wobei die Testfallgenerierungsvorrichtung umfasst: eine Äquivalenter-Schritt-Prüfungseinheit, um zu bestimmen, dass in Bezug auf eine Zustandsvariable, die zwischen Prozessen einer Vielzahl von Schritten geteilt wird und einen Wert gemäß einem Ausführungsergebnis eines Prozesses in jedem Schritt enthält, wenn die Prozesse der Vielzahl von Schritten sequentiell ausgeführt werden, wenn der Wert der Zustandsvariablen nach Ausführung eines der Vielzahl von Schritten und der Wert der Zustandsvariablen nach Ausführung eines anderen Schritts gleich sind, diese zwei Schritte äquivalente Schritte sind; und eine Testfallgenerierungseinheit, um die Software zu analysieren unter Ausschluss eines der zwei Schritte, für die durch die Äquivalenter-Schritt-Prüfungseinheit bestimmt ist, die äquivalenten Schritte zu sein, wodurch der in den Testfall einzubeziehende Wert generiert wird.
  2. Testfallgenerierungsvorrichtung nach Anspruch 1, ferner umfassend: eine Zustandsvariablen-Extrahierungseinheit, um die Software zu analysieren, dadurch extrahierend, als die Zustandsvariable, eine zweite Variable aus einer Vielzahl von Variablen unter Ausschluss einer ersten Variablen, die Vielzahl von Variablen zwischen den Prozessen der Vielzahl von Schritten geteilt werden und Werte enthalten gemäß dem Ausführungsergebnis des Prozesses jedes Schrittes, wobei die erste Variable dazu dient, den Prozess eines nachfolgenden Schrittes anders zu machen, je nachdem, ob die erste Variable einen Schwellenwert erreicht.
  3. Testfallgenerierungsvorrichtung nach Anspruch 2, ferner umfassend: eine Programminformationen-Eingabeeinheit, in die Informationen, angebend eine Spezifikation der ersten Variablen, eingegeben werden, wobei die Zustandsvariablen-Extrahierungseinheit die erste Variable bestimmt auf Grundlage der in die Programminformationen-Eingabeeinheit eingegebenen Informationen.
  4. Testfallgenerierungsvorrichtung nach Anspruch 2, wobei die Zustandsvariablen-Extrahierungseinheit die Software analysiert, wodurch die erste Variable bestimmt wird.
  5. Testfallgenerierungsvorrichtung nach einem der Ansprüche 1 bis 4, wobei die Testfallgenerierungseinheit die Software sequentiell analysiert unter Ausschluss des einen der zwei Schritte, für die durch die Äquivalenter-Schritt-Prüfungseinheit bestimmt ist, die äquivalenten Schritte zu sein, Schritt für Schritt, bis ein Abdeckungskriterium für den Test der Software erfüllt ist.
  6. Testfallgenerierungsvorrichtung nach einem der Ansprüche 1 bis 5, wobei die Äquivalenter-Schritt-Prüfungseinheit bestimmt, ob jede Kombination von zwei aufeinanderfolgenden Schritten der Vielzahl von Schritten äquivalente Schritte sind, und wobei die Testfallgenerierungseinheit die Software analysiert unter Ausschluss des Schrittes, dessen Prozess später ausgeführt werden soll, aus den zwei Schritten, für die durch die Äquivalenter-Schritt-Prüfungseinheit bestimmt ist, die äquivalenten Schritte zu sein, wodurch der in den Testfall einzubeziehende Wert generiert wird.
  7. Testfallgenerierungsvorrichtung nach einem der Ansprüche 1 bis 5, wobei die Äquivalenter-Schritt-Prüfungseinheit bestimmt, dass in Bezug auf beide, die Zustandsvariable und die Variable, die den Prozess des nachfolgenden Schritts anders macht, je nachdem, ob die Variable den Schwellenwert erreicht, wenn Werte der Zustandsvariablen und der Variablen nach Ausführung eines der Vielzahl von Schritten jeweils gleich den Werten der Zustandsvariablen und der Variablen nach Ausführung eines anderen Schritts sind, diese zwei Schritte vollständig äquivalente Schritte sind, und wobei bis zum Ankommen an dem Schritt, dessen Prozess später auszuführen ist, aus den zwei Schritten, für die durch die Äquivalenter-Schritt-Prüfungseinheit bestimmt ist, die vollständig äquivalenten Schritte zu sein, die Testfallgenerierungseinheit die Software sequentiell analysiert unter Ausschluss des einen der zwei Schritte, für die durch die Äquivalenter-Schritt-Prüfungseinheit bestimmt ist, die äquivalenten Schritte zu sein, Schritt für Schritt, wodurch der in den Testfall einzubeziehende Wert generiert wird.
  8. Testfallgenerierungsverfahren des Analysierens von Software, um einen Prozess von einem Schritt für jede Eingabe eines Wertes auszuführen, dadurch generierend, als einen Testfall, eine Folge von Werten, die für einen Test der Software eingegeben werden, wobei das Testfallgenerierungsverfahren umfasst: eine Äquivalenter-Schritt-Prüfungseinheit, bestimmend, dass in Bezug auf eine Zustandsvariable, die zwischen Prozessen einer Vielzahl von Schritten geteilt wird und einen Wert gemäß einem Ausführungsergebnis eines Prozesses in jedem Schritt enthält, wenn die Prozesse der Vielzahl von Schritten sequentiell ausgeführt werden, wenn der Wert der Zustandsvariablen nach Ausführung eines der Vielzahl von Schritten und der Wert der Zustandsvariablen nach Ausführung eines anderen Schritts gleich sind, diese zwei Schritte äquivalente Schritte sind; und eine Testfallgenerierungseinheit, analysierend die Software unter Ausschluss eines der zwei Schritte, für die durch die Äquivalenter-Schritt-Prüfungseinheit bestimmt ist, die äquivalenten Schritte zu sein, wodurch der in den Testfall einzubeziehende Wert generiert wird.
  9. Testfallgenerierungsprogramm des Analysierens von Software, um einen Prozess von einem Schritt für jede Eingabe eines Wertes auszuführen, dadurch generierend, als einen Testfall, eine Folge von Werten, die für einen Test der Software eingegeben werden, wobei das Testfallgenerierungsprogramm einen Computer veranlasst, auszuführen: einen Äquivalenter-Schritt-Prüfungsvorgang des Bestimmens, dass in Bezug auf eine Zustandsvariable, die zwischen Prozessen einer Vielzahl von Schritten geteilt wird und einen Wert gemäß einem Ausführungsergebnis eines Prozesses in jedem Schritt enthält, wenn die Prozesse der Vielzahl von Schritten sequentiell ausgeführt werden, wenn der Wert der Zustandsvariablen nach Ausführung eines der Vielzahl von Schritten und der Wert der Zustandsvariablen nach Ausführung eines anderen Schritts gleich sind, diese zwei Schritte äquivalente Schritte sind; und einen Testfallgenerierungsvorgang des Analysierens der Software unter Ausschluss eines der zwei Schritte, für die durch die Äquivalenter-Schritt-Prüfungseinheit bestimmt ist, die äquivalenten Schritte zu sein, wodurch der in den Testfall einzubeziehende Wert generiert wird.
DE112018006331.3T 2018-01-17 2018-01-17 Testfallgenerierungsvorrichtung, Testfallgenerierungsverfahren und Testfallgenerierungsprogramm Active DE112018006331B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/001227 WO2019142266A1 (ja) 2018-01-17 2018-01-17 テストケース生成装置、テストケース生成方法およびテストケース生成プログラム

Publications (2)

Publication Number Publication Date
DE112018006331T5 DE112018006331T5 (de) 2020-08-27
DE112018006331B4 true DE112018006331B4 (de) 2022-05-05

Family

ID=67300958

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018006331.3T Active DE112018006331B4 (de) 2018-01-17 2018-01-17 Testfallgenerierungsvorrichtung, Testfallgenerierungsverfahren und Testfallgenerierungsprogramm

Country Status (5)

Country Link
US (1) US11347628B2 (de)
JP (1) JP6723483B2 (de)
CN (1) CN111566625B (de)
DE (1) DE112018006331B4 (de)
WO (1) WO2019142266A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4416598A1 (de) * 2021-10-14 2024-08-21 INTEL Corporation Vorrichtung, vorrichtung, verfahren und computerprogramm zur erzeugung von testfällen zur verifizierung von hardwareanweisungen einer hardwarevorrichtung in einem hypervisor
CN114238113A (zh) * 2021-12-17 2022-03-25 Oppo广东移动通信有限公司 应用测试方法及相关装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316612A (ja) 2002-04-25 2003-11-07 Fujitsu Ltd 縮小プログラム自動作成装置
JP2014063415A (ja) 2012-09-24 2014-04-10 Mitsubishi Electric Corp テストケース自動生成装置及びテストケース自動生成プログラム
WO2015045472A1 (ja) 2013-09-24 2015-04-02 富士通株式会社 シミュレーション装置、シミュレーション方法およびシミュレーションプログラム
DE112016006297T5 (de) 2016-02-24 2018-10-31 Mitsubishi Electric Corporation Testfall-Erzeugungsvorrichtung und Testfall-Erzeugungsprogramm

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05151023A (ja) 1991-11-27 1993-06-18 Mitsubishi Electric Corp 情報制御装置
JPH11219293A (ja) 1998-02-02 1999-08-10 Nec Eng Ltd アドレストレース方法及びトレーサメモリ制御装置
US7801715B2 (en) * 2003-08-11 2010-09-21 The Mathworks, Inc. System and method for block diagram simulation context restoration
CN1908892A (zh) * 2005-08-01 2007-02-07 王彤 测试用例设计方法和系统
FR2921170B1 (fr) * 2007-09-14 2018-01-12 Airbus Operations Procede de generation automatique de programmes de test d'un logiciel de fonctionnement d'un systeme embarque a bord d'un aeronef, et dispositif de mise en oeuvre
JP5198132B2 (ja) 2008-04-23 2013-05-15 大日本スクリーン製造株式会社 状態遷移テスト支援装置、状態遷移テスト支援プログラム、および状態遷移テスト支援方法
JP2010140084A (ja) * 2008-12-09 2010-06-24 Toshiba Corp 検査モデル生成装置、モデル検査装置、及び検査モデル生成方法
JP5321286B2 (ja) 2009-06-26 2013-10-23 富士通株式会社 プログラムモデル検査方法、プログラムモデル検査プログラム
JP5123350B2 (ja) * 2010-04-20 2013-01-23 株式会社シーイーシー テストケース作成システム、方法およびプログラム
CN102385551B (zh) * 2010-08-31 2015-04-29 西门子公司 一种筛选测试用例的方法、装置及系统
US20130090911A1 (en) * 2011-10-05 2013-04-11 International Business Machines Corporation Modeling Test Space for System Behavior Using Interchangeable Designations
JP2015069400A (ja) * 2013-09-30 2015-04-13 日立オートモティブシステムズ株式会社 ソフトウェアテストシステム
CN105095085B (zh) * 2015-08-25 2018-01-19 暨南大学 一种基于web的软件测试实训系统及方法
US9830255B2 (en) * 2015-12-03 2017-11-28 Wipro Limited System and method for optimizing test suite comprising plurality of test cases
US10353810B2 (en) * 2016-10-04 2019-07-16 Sap Se Software testing with minimized test suite

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316612A (ja) 2002-04-25 2003-11-07 Fujitsu Ltd 縮小プログラム自動作成装置
JP2014063415A (ja) 2012-09-24 2014-04-10 Mitsubishi Electric Corp テストケース自動生成装置及びテストケース自動生成プログラム
WO2015045472A1 (ja) 2013-09-24 2015-04-02 富士通株式会社 シミュレーション装置、シミュレーション方法およびシミュレーションプログラム
DE112016006297T5 (de) 2016-02-24 2018-10-31 Mitsubishi Electric Corporation Testfall-Erzeugungsvorrichtung und Testfall-Erzeugungsprogramm

Also Published As

Publication number Publication date
WO2019142266A1 (ja) 2019-07-25
US20200364137A1 (en) 2020-11-19
CN111566625A (zh) 2020-08-21
CN111566625B (zh) 2024-01-09
JP6723483B2 (ja) 2020-07-15
JPWO2019142266A1 (ja) 2020-04-16
DE112018006331T5 (de) 2020-08-27
US11347628B2 (en) 2022-05-31

Similar Documents

Publication Publication Date Title
DE69223787T2 (de) System fuer qualitative schlussfolgerung mit paralleler verarbeitung
DE112017007656T5 (de) Verschobene aktualisierung von datenbank-hashcode in einer blockchain
DE2515297A1 (de) Pruefsystem fuer logische netzwerke mit simulatororientiertem fehlerpruefgenerator
DE2753062A1 (de) Einrichtung zur durchfuehrung programmierter befehle
DE112012005014T5 (de) Ausführen arithmetischer Operationen unter Verwendung sowohl von großen als auch kleinen Gleitkommawerten
EP3188053A1 (de) Verfahren zum konfigurieren einer co-simulation für ein gesamtsystem
DE112018006331B4 (de) Testfallgenerierungsvorrichtung, Testfallgenerierungsverfahren und Testfallgenerierungsprogramm
EP0580663A1 (de) Verfahren zur verifikation datenverarbeitender systeme.
DE10038499A1 (de) Verfahren und System für die verbesserte Entwicklungsprüfung mittels angepasster Ablaufverfolgung
DE10000451A1 (de) Taktsignalanalyseeinrichtung und Taktsignalanalyseverfahren
DE112013007083T5 (de) Programmanalysevorrichtung, Programmanalyseverfahren und Programmanalyseprogramm
DE3854636T2 (de) Automatischer Prüfprozess für logische Geräte.
EP3812949A1 (de) Konfigurierbarer digitaler zwilling
DE102019210562A1 (de) Verfahren und Vorrichtung zum Prüfen von Software
EP3942372B1 (de) Verfahren zur validierung von systemparametern eines energiesystems, verfahren zum betrieb eines energiesystems sowie energiemanagementsystem für ein energiesystem
DE102015102034A1 (de) Verfahren zum Analysieren von Ergebnissen in einem Entwurfsautomatisierungsablauf für elektronische Systeme, Computersystem und Computerprogrammprodukt
DE102012210482A1 (de) Verfahren und System zum Migrieren von Geschäftsprozessinstanzen
EP1745375A1 (de) Verfahren zur bestimmung von verklemmungen in nebenläufigen prozessen
DE10056825C2 (de) Verfahren, Vorrichtung und Computerprogramm zum Erzeugen eines Zufallstestcodes
DE102018117881A1 (de) System und verfahren zur verwendung von business intelligence für die regelbasierte herstellugnsprozessgestaltung
DE102017104049B4 (de) Verfahren und vorrichtung zum überprüfen der zuverlässigkeit eines chips
DE112019006397T5 (de) Entwicklungsassistenzeinrichtung, entwicklungsassistenzsystem und entwicklungsassistenzverfahren
DE102014208379A1 (de) Verfahren und Vorrichtung zum Ermitteln eines Funktionswerts eines bezüglich einer Eingangsgröße invertierten datenbasierten Funktionsmodells
DE69131843T2 (de) Maschinenfehlerisolierung unter gebrauch von qualitativer physik
EP3491517B1 (de) Signalflussbasiertes computerprogramm mit direct-feedthrough-schleifen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final