DE10311864A1 - Generation of test case data for software module testing, e.g. for software modules in a motor vehicle control program, whereby data are generated using a database of standard components that are then combined appropriately - Google Patents

Generation of test case data for software module testing, e.g. for software modules in a motor vehicle control program, whereby data are generated using a database of standard components that are then combined appropriately Download PDF

Info

Publication number
DE10311864A1
DE10311864A1 DE2003111864 DE10311864A DE10311864A1 DE 10311864 A1 DE10311864 A1 DE 10311864A1 DE 2003111864 DE2003111864 DE 2003111864 DE 10311864 A DE10311864 A DE 10311864A DE 10311864 A1 DE10311864 A1 DE 10311864A1
Authority
DE
Germany
Prior art keywords
test
module
out1
targets
generic
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.)
Withdrawn
Application number
DE2003111864
Other languages
German (de)
Inventor
Jochen Bergmann
Steffen Engelfried
Ingo Hofmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE2003111864 priority Critical patent/DE10311864A1/en
Publication of DE10311864A1 publication Critical patent/DE10311864A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

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

Abstract

Method for generating test case data (M5) for functional testing of a software module has the following steps: formal description of a function of the module using standard components (M2) from a database (10); for each standard component, determination of a number of different input signal combinations or generic test targets (M3); renaming of the local names of standard component inputs as global names for the module, or concrete test targets (M4) and; consideration of the global names to generate the test data quantity. An independent claim is made for a device for generating test case data for software module testing.

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Generieren einer Testfallmenge für einen Funktionstest eines Software-Moduls.The present invention relates to a method for generating a test case set for a functional test of a software module.

Außerdem betrifft die Erfindung ein Computerprogramm, das auf einem Rechengerät, insbesondere auf einem Mikroprozessor, ablauffähig ist.The invention also relates to a computer program running on a computing device, in particular on a microprocessor, executable is.

Schließlich betrifft die vorliegende Erfindung eine Vorrichtung zum Generieren einer Testfallmenge für einen Funktionstest eines Software-Moduls.Finally, the present concerns Invention a device for generating a test case set for a Function test of a software module.

Stand der TechnikState of technology

Computerprogramme sind in der Regel nicht als eine große Software-Einheit ausgebildet, sondern umfassen meist mehrere verschiedene Funktionseinheiten, sog. Software-Module. Das gilt für Computerprogramme, die lediglich auf einem Rechengerät abgearbeitet werden, und für sog. verteilte Computerprogramme gleichermaßen, die auf mehreren Rechengeräten eines Computernetzwerks ablaufen.Computer programs are usually not as a big one Software unit trained, but usually include several different ones Functional units, so-called software modules. That applies to computer programs that only on a computing device be processed, and for So-called distributed computer programs equally, the one on several computing devices Expire computer network.

Ein Beispiel für ein solches Computerprogramm, das mehrere Module umfasst, ist ein Kraftfahrzeug-Steuerprogramm, das auf einem einzelnen Steuergerät oder auf einem Steuergeräte-Netzwerk eines Kraftfahrzeugs abgearbeitet wird (sog. Steuergeräte-Software). Die Steuergeräte-Software kann die unterschiedlichsten Funktionen erfüllen, die von reinen Komfortfunktionen bis hin zu höchst sicherheitskritischen Funktionen reicht. Beispielhaft für die verschiedenen Funktionen von Steuergeräte-Software seien hier aufgeführt: Steuerung bzw. Regelung von Temperatur, Feuchtigkeit, Zufuhr, etc. der Innenraumluft; Öffnen bzw. Schließen von Fenstern, Schiebedach, Heckklappe; die Steuerung bzw. Regelung einer Brennkraftmaschine, eines automatischen oder automatisierten Getriebes, einer Lenkunterstützung, der Traktion des Kraftfahrzeugs; sog. X-by-wire-Systeme (Steer-by-wire, brake-by-wire, shift-by-wire, etc.).An example of such a computer program, which comprises several modules is a motor vehicle control program, that on a single ECU or on an ECU network one Motor vehicle is processed (so-called control unit software). The control unit software can perform a wide variety of functions, that of pure comfort functions up to the highest safety-critical functions are sufficient. Exemplary for the different Functions of control unit software are listed here: Control or regulation of temperature, humidity, supply, etc. indoor air; to open or close of windows, sunroof, tailgate; the control or regulation of a Internal combustion engine, an automatic or automated transmission, a steering support, the Motor vehicle traction; so-called X-by-wire systems (steer-by-wire, brake-by-wire, shift-by-wire, etc.).

Beim Entwurf und der Implementierung von neuer oder überarbeiteter Steuergeräte-Software muss höchst sorgfältig gearbeitet werden, da Fehler in der Software zu äußerst kritischen Fahrsituationen führen können. Von entscheidender Bedeutung ist deshalb der Test der neuen oder überarbeiteten Steuergeräte-Software. Der Software-Test wird in der Regel modulweise ausgeführt. Beim Test werden die Eingänge eines Software-Moduls von einem Programmierer oder einem speziellen Testingenieur mit verschiedenen Eingangssignale beaufschlagt und es wird geprüft, ob sich in Abhängigkeit von den anliegenden Eingangssignalen an den Ausgängen des Moduls die richtigen Ausgangssignale einstellen.In the design and implementation of new or revised ECU software must maximum careful be worked because errors in the software can lead to extremely critical driving situations. Of The test of the new or revised control unit software is therefore of crucial importance. The software test is usually carried out in modules. The inputs of a Software module from a programmer or a special test engineer with different input signals and it is checked whether dependent on the right ones from the input signals present at the module outputs Set output signals.

Nach dem Stand der Technik gibt es keine systematische Generierung von Testfallmengen, also von Eingangssignale, mit denen ein Software-Modul während des Tests beaufschlagt wird. Vielmehr wird eine Testfallmenge für ein neues oder überarbeitetes Modul von dem Programmierer bzw. dem Testingenieur nach Gefühl generiert. Dabei greift der Programmierer bzw. der Testingenieur auf sein persönliches allgemeines Computerwissen, sein persönliches Wissen über das zu testende Software-Modul und seine persönliche Kenntnis über die Funktion, die das Modul erfüllen soll. Im Grunde genommen wird das zu testende Modul jedoch als eine Black-Box betrachtet, deren Inhalt keinen Einfluss auf den Funktionstest des Moduls hat. Eine bestimmte Testabdeckung kann auf diese Weise nicht sichergestellt werden. Vielmehr schwankt die Qualität des Funktionstests bzw. der Testfallmenge von der Erfahrung des Programmierers oder des Testingenieurs.According to the state of the art there is no systematic generation of test case quantities, i.e. of input signals which a software module while of the test. Rather, a test case set is for a new one or revised module generated by the programmer or the test engineer by feeling. The programmer or test engineer accesses his personal general Computer knowledge, his personal knowledge of that software module to be tested and his personal knowledge of the Function that the module fulfills should. Basically, the module to be tested is considered one Black box considered, the content of which does not influence the function test of the module. A certain test coverage can be done this way cannot be ensured. Rather, the quality of the functional test fluctuates or the number of test cases from the experience of the programmer or of the test engineer.

Allgemeine Vorgaben über die Testabdeckung von neu erstellter oder überarbeiteter Software lassen sich kaum aufstellen, da das zu testende Modul in der Regel noch nicht existiert hat, da es entweder komplett neu erstellt und implementiert oder überarbeitet wurde. Jedes zu testende Modul ist anders. Das gilt selbst dann, wenn zwei Software-Module die gleiche Funktion haben, aber von verschiedenen Personen erstellt oder überarbeitet wurden. Zudem sind die mit dem aus dem Stand der Technik bekannten manuellen, intuitiven Verfahren erzielbaren Testergebnisse häufig nicht reproduzierbar.General guidelines about the Leave test coverage of newly created or revised software hardly stand up because the module to be tested is usually still there did not exist because it was either completely re-created and implemented or revised has been. Each module to be tested is different. That even applies if two software modules have the same function, but different ones People created or revised were. In addition, those with the known from the prior art manual, intuitive procedures often fail to achieve test results reproducible.

Der vorliegenden Erfindung liegt die Aufgabe zugrunde, eine Testfallmenge für einen Funktionstest eines Software-Moduls derart zu generieren, dass mittels der Testfallmenge mit Sicherheit eine vorgebbare Testtiefe des Funktionstests erzielt werden kann.The present invention lies based on the task of creating a test case set for a functional test of a Generate software module in such a way that by means of the test case set achieved a definable test depth of the functional test with certainty can be.

Zur Lösung dieser Aufgabe wird ein Verfahren der eingangs genannten Art vorgeschlagen mit den nachfolgenden Verfahrensschritten:

  • – formale Beschreibung einer Funktion des Moduls durch mindestens eine Standardkomponente aus einer Datenbank;
  • – für jede Standardkomponente Ermitteln einer Anzahl von verschiedenen Kombinationen von Eingangssignalen (sog. generischen Testzielen), die erforderlich sind, um verschiedene Ausgangssignale der Standardkomponente zu erzielen, wobei die Anzahl der verschiedenen generischen Testziele abhängig ist von einer vorgebbaren Testtiefe des Funktionstests;
  • – Umbenennen der lokalen Bezeichnungen der Eingänge der Standardkomponenten in globale Bezeichnungen des Moduls (sog. konkrete Testziele); und
  • – unter Berücksichtigung der globalen Bezeichnungen des Moduls Generieren der Testfallmenge aus der zuvor ermittelten Anzahl von konkreten Testzielen, indem für das gesamte Modul eine Anzahl von verschiedenen Kombinationen von Eingangssignalen ermittelt wird, die erforderlich sind, damit alle zuvor ermittelten generischen Testziele der Standardkomponenten mindestens einmal auftreten, wobei ein Testfall mindestens ein Testziel umfasst.
To solve this problem, a method of the type mentioned at the beginning is proposed with the following method steps:
  • - formal description of a function of the module by at least one standard component from a database;
  • - For each standard component, determining a number of different combinations of input signals (so-called generic test targets) that are required to achieve different output signals of the standard component, the number of different generic test targets being dependent on a predefinable test depth of the functional test;
  • - Renaming the local names of the inputs of the standard components to global names of the module (so-called concrete test targets); and
  • - taking into account the global designations of the module, generating the test case set from the previously determined number of concrete test targets, by determining a number of different combinations of input signals for the entire module, which are necessary so that all previously determined generic test targets of the standard components occur at least once , where a test case includes at least one test target.

Vorteile der ErfindungAdvantages of invention

Gemäß der vorliegenden Erfindung wird der Funktionstest eines Software-Moduls systematisiert. Es kann eine definierte Testabdeckung erzielt werden. Zudem ist das Testverfahren reproduzierbar.According to the present invention the function test of a software module is systematized. It a defined test coverage can be achieved. It is also Test procedure reproducible.

Das Generieren der Testfallmenge wird in Teilschritte Analyse von Anforderungen, Identifikation von Testzielen, Zuordnung von Testzielen zu Testfällen und Ausgestaltung von Testfällen unterteilt, um den Test von Software auf Basis nicht formaler Anforderungen systematisch durchzuführen.The generation of the test case set is divided into steps analysis of requirements, identification of Test targets, assignment of test targets to test cases and design of test cases divided to test software based on non-formal requirements to carry out systematically.

Das erfindungsgemäße Verfahren verringert die Komplexität des Testfallentwurfs durch deren Aufteilung auf mehrere nacheinander auszuführende, klar voneinander abgegrenzte Teilschritte. Dies reduziert die Fehleranfälligkeit und führt zu Testergebnissen, die in hohem Maße reproduzierbar, vollständig, konsistent und nachvollziehbar sind. Des weiteren ist das Verfahren gut in den Entwicklungsprozess von Software integrierbar, da bei der Ausführung der Teilschritte automatisch schrittweise eine Dokumentation erstellt wird. Ausgehend von dieser Dokumentation ist es einfach möglich, Aussagen über die Testfallabdeckung der Spezifikation zu treffen. Außerdem lassen sich die Entwurfsergebnisse an Hand der Dokumentation sehr einfach einer Überprüfung (sog. Review) unterziehen.The inventive method reduces the complexity of the test case design by dividing it into several in succession to be executed, clearly separate sub-steps. This reduces the susceptibility to errors and leads to test results that are highly reproducible, complete, consistent and are understandable. Furthermore, the process is good in the development process of software can be integrated, because when executing the Documentation is created step by step becomes. Based on this documentation, it is easily possible to make statements about the Test case coverage to meet the specification. Let also the design results are very simple based on the documentation a review undergo.

Die Standardkomponenten sind in einer Datenbank oder Bibliothek abgelegt. Die Standardkomponenten umfassen bspw. elementare Funktionen (z.B. arithmetische Operationen, Kurven und Kennfelder, logische Operationen, Vergleicher, Schalter, Steuerungen), Speicherfunktionen (z.B. Lese-Zugriff, Schreib-Zugriff, Lese-und-Schreib-Zugriff), Kommunikationsfunktionen (z.B. Senden, Empfangen), dynamische Funktionen (z.B. lineare Übertragungsglieder, Rampen) und Zustandsmaschinen (z.B. Zeitgeber, Verzögerungen, Hysteresen, Trigger, Entpreller, FlipFlops, Zustandstabellen).The standard components are in one Database or library filed. The standard components include e.g. elementary functions (e.g. arithmetic operations, curves and maps, logical operations, comparators, switches, controls), Storage functions (e.g. read access, write access, Read and write access), communication functions (e.g. sending, Receiving), dynamic functions (e.g. linear transmission elements, ramps) and state machines (e.g. timers, delays, hysteresis, triggers, Debouncer, flip-flops, status tables).

Gemäß einer vorteilhaften Weiterbildung der Erfindung wird vorgeschlagen, dass die Funktion des Moduls durch mindestens eine nicht formale Anforderungsspezifikation beschrieben wird, die dann zu der formalen Beschreibung der Funktion des Moduls durch die mindestens eine Standardkomponente aus einer Datenbank aufbereitet wird. Dies entspricht einer allgemeinen textuellen Beschreibung der Funktion des zu testenden Moduls. Diese nicht formale Anforderungsspezifikation wird aufbereitet, indem über Relationen den konkreten nicht formalen Anforderungen generische Anforderungen zugewiesen werden. Jede Anforderungskomponente repräsentiert dabei verschiedene nicht formale Anforderungen gleicher Funktionalität und stellt diese in einer einheitlichen Form dar. Mit Hilfe der Relationen lässt sich die Menge aller nicht formalen Anforderungsspezifikationen in eine Menge aller aufbereiteten Spezifikationen mit den identifizierten Anforderungskomponenten als Elemente überführen.According to an advantageous development The invention proposes that the function of the module by described at least one non-formal requirement specification which then leads to the formal description of the function of the module which processes at least one standard component from a database becomes. This corresponds to a general textual description the function of the module to be tested. This non-formal requirement specification is processed by using relations the concrete non-formal requirements generic requirements be assigned to. Each requirement component represents various non-formal requirements for the same functionality and this in a uniform form. With the help of relations let yourself the set of all non-formal requirement specifications in one Quantity of all prepared specifications with the identified ones Transfer requirement components as elements.

Gemäß einer bevorzugten Ausführungsform der Erfindung wird vorgeschlagen, dass zum Ermitteln der generischen Testziele einer Standardkomponente die generischen Testziele in Abhängigkeit von der betrachteten Standardkomponente und in Abhängigkeit von der Testtiefe des Funktionstests der Datenbank entnommen werden. In der Datenbank sind jeder generischen Anforderungskomponente über weitere Relationen generische Testziele zugeordnet. Die Testziele sind dabei im Vorfeld des Funktionstests systematisch hergeleitet und in der Datenbank abgelegt worden. Für nachträgliche Änderungen und/oder Ergänzungen ist die Datenbank erweiterbar gehalten. Man erhält so eine neue Menge, welche die generischen Testziele für die zu Grunde liegende Menge aller aufbereiteten Spezifikationen bzw. Menge aller nicht formalen Anforderungsspezifikationen als Elemente enthält.According to a preferred embodiment of the Invention is proposed to determine the generic Test objectives of a standard component the generic test objectives in dependence on the considered standard component and depending on it are taken from the test depth of the functional test of the database. In the database there are each generic requirement component about others Relationships assigned generic test goals. The test goals are included systematically derived before the function test and in the Database has been filed. For subsequent changes and / or additions the database is extensible. You get a new amount, which the generic test goals for the underlying quantity of all prepared specifications or Set of all non-formal requirement specifications as elements contains.

Die Menge mit den generischen Testzielen wird dann in eine weitere Menge überführt, welche die konkreten Testziele für die Menge aller nicht formalen Anforderungsspezifikationen als Elemente enthält. Die dazu nötigen Relationen ergeben sich aus dem Vergleich der Anforderungskomponenten mit den jeweils zu Grunde liegenden nicht formalen Anforderungen.The amount with the generic test targets will then transferred to another set, which the concrete test goals for contains the set of all non-formal requirement specifications as elements. The to do so Relations result from the comparison of the requirement components with the underlying non-formal requirements.

Aus der Menge der konkreten Testziele können schließlich auf Basis der so ermittelten Testziele Testfälle für den Funktionstest des Software-Moduls erstellt werden, wobei ein Testfall auch mehr als ein Testziel berücksichtigen kann. Die verschiedenen Testfälle sind in der Testfallmenge zusammengefasst.From the set of concrete test goals can finally Test cases for the functional test of the software module are created on the basis of the test objectives determined in this way , with a test case also taking into account more than one test objective can. The different test cases are summarized in the test case set.

Zeichnungendrawings

Weiter Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in der Zeichnung dargestellt sind. Dabei bilden alle beschriebenen oder dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand der Erfindung, unabhängig von ihrer Zusammenfassung in den Patentansprüchen oder deren Rückbeziehung sowie unabhängig von ihrer Formulierung bzw. Darstellung in der Beschreibung bzw. in der Zeichnung. Es zeigen:Further features, possible applications and advantages of the invention will become apparent from the following description of embodiments of the invention, which are shown in the drawing. Make it up all described or illustrated features on their own or in any combination the subject of the invention, regardless of its summary in the claims or their relationship back as well as regardless of their formulation or presentation in the description or in the drawing. Show it:

1 ein Ablaufdiagramm eines erfindungsgemäßen Verfahrens zum Generieren einer Testfallmenge für einen Funktionstest eines Software-Moduls; 1 a flowchart of a method according to the invention for generating a test case set for a functional test of a software module;

2 eine erfindungsgemäße Vorrichtung zum Generieren einer Testfallmenge für einen Funktionstest eines Software-Moduls; 2 an inventive device for generating a test case set for a functional test of a software module;

3 bis 11 verschiedene Beispiele einer Standardkomponente zur formalen Beschreibung einer Funktion des Software-Moduls; und 3 to 11 various examples of a standard component for the formal description of a function of the software module; and

12 ein Blockschaltbild eines zu testenden Software-Moduls. 12 a block diagram of a software module to be tested.

Beschreibung der Ausführungsbeispieledescription of the embodiments

In 1 ist ein Ablaufdiagramm eines erfindungsgemäßen Verfahrens zum Generieren einer Testfallmenge für einen Funktionstest eines Software-Moduls dargestellt. Das Software-Modul kann Teil eines Computerprogramms, das lediglich auf einem Rechengerät abgearbeitet wird, oder aber Teil eines Computerprogramms sein, das auf mehreren Rechengeräten eines Computernetzwerks abläuft.In 1 A flow diagram of a method according to the invention for generating a test case set for a functional test of a software module is shown. The software module can be part of a computer program that is only processed on one computing device, or else part of a computer program that runs on several computing devices of a computer network.

Ein Beispiel für ein solches Computerprogramm, das mehrere Module umfasst, ist ein Kraftfahrzeug-Steuerprogramm, das auf einem einzelnen Steuergerät oder auf einem Steuergeräte-Netzwerk eines Kraftfahrzeugs abgearbeitet wird (sog. Steuergeräte-Software). Die Steuergeräte-Software kann die unterschiedlichsten Funktionen erfüllen, die von reinen Komfortfunktionen bis hin zu höchst sicherheitskritischen Funktionen reicht. Beispielhaft für die verschiedenen Funktionen von Steuergeräte-Software seien hier aufgeführt: Steuerung bzw. Regelung von Temperatur, Feuchtigkeit, Zufuhr, etc. der Innenraumluft; Öffnen bzw. Schließen von Fenstern, Schiebedach, Heckklappe; die Steuerung bzw. Regelung einer Brennkraftmaschine, eines automatischen oder automatisierten Getriebes, einer Lenkunterstützung, der Traktion des Kraftfahrzeugs; sog. X-by-wire-Systeme (Steer- by-wire, brake-by-wire, shift-by-wire, etc.).An example of such a computer program, which comprises several modules is a motor vehicle control program, that on a single ECU or on an ECU network one Motor vehicle is processed (so-called control unit software). The control unit software can perform a wide variety of functions, that of pure comfort functions up to the highest safety-critical functions are sufficient. Exemplary for the different Functions of control unit software are listed here: Control or regulation of temperature, humidity, supply, etc. indoor air; to open or close of windows, sunroof, tailgate; the control or regulation of a Internal combustion engine, an automatic or automated transmission, a steering support, the Motor vehicle traction; so-called X-by-wire systems (steer-by-wire, brake-by-wire, shift-by-wire, etc.).

Beim Entwurf und der Implementierung von neuer oder überarbeiteter Steuergeräte-Software muss höchst sorgfältig gearbeitet werden, da Fehler in der Software zu äußerst kritischen Fahrsituationen führen können. Von entscheidender Bedeutung ist deshalb der Test der neuen oder überarbeiteten Steuergeräte-Software. Der Software-Test wird in der Regel modulweise ausgeführt. Beim Test werden die Eingänge eines Software-Moduls von einem Programmierer oder einem speziellen Testingenieur mit verschiedenen Eingangssignale beaufschlagt und es wird geprüft, ob sich in Abhängigkeit von den anliegenden Eingangssignalen an den Ausgängen des Moduls die richtigen Ausgangssignale einstellen.In the design and implementation of new or revised ECU software must maximum careful be worked because errors in the software can lead to extremely critical driving situations. Of The test of the new or revised control unit software is therefore of crucial importance. The software test is usually carried out in modules. The inputs of a Software module from a programmer or a special test engineer with different input signals and it is checked whether dependent on the right ones from the input signals present at the module outputs Set output signals.

Das erfindungsgemäße Verfahren beginnt in einem Funktionsblock 1. Ausgangspunkt für den Testentwurf bildet eine nicht formale Anforderungsspezifikation des Software-Moduls bzw. der Steuergeräte-Software. In einem Funktionsblock 2 wird die Funktion des zu testenden Moduls durch mindestens eine nicht formale Anforderungsspezifikation beschrieben. Dies entspricht einer allgemeinen textuellen Beschreibung der Funktion des zu testenden Moduls. Die mindestens eine nicht formale Anforderungsspezifikation kann als eine Menge M1 dargestellt werden, welche die einzelnen nicht formalen Anforderungen als Elemente enthält. So ergibt sich bspw.The method according to the invention begins in a function block 1 , The starting point for the test design is a non-formal requirement specification for the software module or the control unit software. In a functional block 2 the function of the module to be tested is described by at least one non-formal requirement specification. This corresponds to a general textual description of the function of the module to be tested. The at least one non-formal requirement specification can be represented as a set M1, which contains the individual non-formal requirements as elements. For example,

Figure 00090001
Figure 00090001

Die nicht formale Anforderung a41 ist bspw.: Der Scheibenwischer wischt, wenn Zündung ein und Wischer betätigt.For example, the non-formal requirement a 41 is: The wiper wipes when the ignition is on and the wiper is pressed.

In einem Funktionsblock 3 erfolgt eine formale Beschreibung der Funktion des Moduls durch mindestens eine Standardkomponente aus einer Datenbank 10. Dazu wird die nicht formale Anforderungsspezifikation M1 zu der formalen Beschreibung der Funktion des Moduls durch die mindestens eine Standardkomponente aufbereitet. Die nicht formale Anforderungsspezifikation M1 wird aufbereitet, indem über Relationen den konkreten nicht formalen Anforderungen generische Anforderungen zugewiesen werden. Jede Anforderungskomponente repräsentiert dabei verschiedene nicht formale Anforderungen gleicher Funktionalität und stellt diese in einer einheitlichen Form dar. Mit Hilfe der Relationen lässt sich die Menge M1 aller nicht formalen Anforderungsspezifikationen in eine Menge M2 aller aufbereiteten Spezifikationen mit den identifizierten Anforderungskomponenten als Elemente überführen:

Figure 00100001
In a functional block 3 there is a formal description of the function of the module by at least one standard component from a database 10 , For this purpose, the non-formal requirement specification M1 is prepared for the formal description of the function of the module by the at least one standard component. The non-formal requirement specification M1 is prepared by assigning generic requirements to the concrete non-formal requirements. Each requirement component represents various non-formal requirements of the same functionality and represents them in a uniform form. With the help of the relations, the set M1 of all non-formal requirement specifications can be converted into a set M2 of all prepared specifications with the identified requirement components as elements:
Figure 00100001

Die zu der nicht formalen Anforderung a41 gehörende generische Anforderungskomponente ak4 ist bspw.:
Ausgangssignal A1 wird gesetzt, so lange Eingangssignale E1 und E2 gesetzt sind (logisches UND).
The generic requirement component ak 4 belonging to the non-formal requirement a 41 is, for example:
Output signal A1 is set as long as input signals E1 and E2 are set (logical AND).

Die Standardkomponenten sind in einer Datenbank 10 oder Bibliothek abgelegt. Die Standardkomponenten umfassen bspw. elementare Funktionen (z.B. arithmetische Operationen, Kurven und Kennfelder, logische Operationen, Vergleicher, Schalter, Steuerungen), Speicherfunktionen (z.B. Lese-Zugriff, Schreib-Zugriff, Lese-und-Schreib-Zugriff), Kommunikationsfunktionen (z.B. Senden, Empfangen), dynamische Funktionen (z.B. lineare Übertragungsglieder, Rampen) und Zustandsmaschinen (z.B. Zeitgeber, Verzögerer, Hysteresen, Trigger, Entpreller, FlipFlops, Zustandstabellen). Arithmetische Operationen umfassen bspw. Addition, Subtraktion, Multiplikation, Division, Absolutwertbildung. Logische Operationen umfassen bspw. AND-, OR-, NOT-Operationen. Vergleicher umfassen bspw. Größer-, Größer-Gleich-, Gleich-, Ungleich-, Kleiner-, Kleiner-Gleich-Vergleicher. Lineare Übertragungsglieder sind bspw. P-, I-, PI-, PT1-, DT1-, PDT1-Glieder. Die Zustandsmaschinen umfassen Zustandstabellen mit 2, 3, 4 oder mehr Zuständen.The standard components are in a database 10 or library. The standard components include, for example, elementary functions (e.g. arithmetic operations, curves and maps, logical operations, comparators, switches, controls), memory functions (e.g. read access, write access, read and write access), communication functions (e.g. sending , Receive), dynamic functions (eg linear transmission elements, ramps) and state machines (eg timers, delays, hysteresis, triggers, debouncers, flip-flops, state tables). Arithmetic operations include, for example, addition, subtraction, multiplication, division, and absolute value formation. Logical operations include, for example, AND, OR, NOT operations. Comparators include, for example, greater than, greater than or equal to, equal to, unequal, less than, less than or equal to comparators. Linear transmission elements are, for example, P, I, PI, PT1, DT1, PDT1 elements. The state machines include state tables with 2, 3, 4 or more states.

In den 3 bis 11 sind verschiedene Symbole von verschiedenen Standardkomponenten dargestellt. 3 zeigt ein Beispiel für einen Schalter, nämlich einen Multi-Auswahl-Schalter, bei dem einer der Eingänge In1,..., InN-1, InN in Abhängigkeit eines Zustands Cond1 und von Parametern Para1,... ParaN-1 an den Ausgang Out1 gelegt werden kann. Falls Cond1 = ParaN, ist Out1 = In1; falls Cond1 = ParaN, ist Out1 = InN-1. Der Wert InN wird an den Ausgang Out1 gelegt, falls der Zustand Cond1 keinem der Parameter Para1,..., ParaN-1 entspricht.In the 3 to 11 different symbols of different standard components are shown. 3 shows an example of a switch, namely a multi-selection switch, in which one of the inputs In1, ..., InN-1, InN can be connected to the output Out1 depending on a state Cond1 and parameters Para1, ... ParaN-1. If Cond1 = ParaN, Out1 = In1; if Cond1 = ParaN, Out1 = InN-1. The value InN is applied to the output Out1 if the Cond1 state does not correspond to any of the parameters Para1, ..., ParaN-1.

In 4 ist ein Beispiel für einen Zeitgeber dargestellt. An dem Ausgang Out1 liegt eine Zeit, die seit dem Beginn der Messung vergangen ist, an. Die Messung ist nur aktiv, so lange Cond1 = wahr; die Messung wird zurückgesetzt, indem Cond2 = wahr gesetzt wird.In 4 an example of a timer is shown. There is a time at output Out1 that has passed since the start of the measurement. The measurement is only active as long as Cond1 = true; the measurement is reset by setting Cond2 = true.

In 5 ist ein Beispiel für eine Kennlinie dargestellt. Durch diese Standardkomponente wird mittels der Kurve Para1 der Ausgang Out1 als Funktion des Eingangs In1 ermittelt.In 5 an example of a characteristic curve is shown. This standard component uses output curve Para1 to determine output Out1 as a function of input In1.

6 zeigt ein erstes Beispiel für ein lineares Übertragungsglied, nämlich ein integrierendes I-Glied. Der Wert In1 ist der Eingang eines I-Reglers mit einer Integrationskonstante Para1. 6 shows a first example of a linear transmission element, namely an integrating I-element. The value In1 is the input of an I controller with an integration constant Para1.

In 7 ist ein weiteres Beispiel für ein lineares Übertragungsglied, nämlich ein PT1-Glied, dargestellt. Der Wert In1 ist der Eingang eines PT1-Reglers mit einer Zeitkonstante Parat.In 7 Another example of a linear transmission element, namely a PT1 element, is shown. The value In1 is the input of a PT1 controller with a time constant Parat.

In 8 ist ein Beispiel für eine Speicherverwaltung, nämlich ein Lese-Zugriff, dargestellt. Der Ausgang Out1 wird in Abhängigkeit des Bits Para2 des Wertes Para1 gesetzt.In 8th an example of a memory management, namely a read access, is shown. The output Out1 is set depending on the bit Para2 of the value Para1.

9 zeigt ein Beispiel für eine Kommunikation, nämlich ein Nachricht-Senden-Befehl. Der Wert In1 wird als Nachricht Para1 gesendet. 9 shows an example of a communication, namely a send message command. The value In1 is sent as message Para1.

In 10 ist ein Beispiel für eine Zustandsmaschine, nämlich eine Zustandsmaschine mit vier Zuständen S1, S2, S3 und S4, dargestellt. Der Zustand der Maschine liegt am Ausgang Out1 an. Der Zustand der Maschine wechselt in Abhängigkeit von verschiedenen Bedingungen Cond1,..., Cond12, die an der Zustandsmaschine anliegen, und abhängig von dem alten Zustand der Maschine, der an den Eingängen Para1,..., Para4 anliegt.In 10 shows an example of a state machine, namely a state machine with four states S1, S2, S3 and S4. The state of the machine is at output Out1. The state of the machine changes depending on various conditions Cond1, ..., Cond12 that are present on the state machine and on the old state of the machine that is present on the inputs Para1, ..., Para4.

11 zeigt ein Beispiel für ein Schaltelement, nämlich für ein Schaltelement für eine alternative Auswahl. Der Wert In1 liegt am Ausgang Out1 an, falls die Bedingung Cond1 gesetzt ist. Anderenfalls wird der Wert In2 an den Ausgang Out1 angelegt. 11 shows an example of a switching element, namely for a switching element for an alternative selection. The value In1 is present at output Out1 if the condition Cond1 is set. Otherwise the value In2 is applied to the output Out1.

In einem Funktionsblock 4 wird für jede Standardkomponente eine bestimmte Anzahl von verschiedenen Kombinationen von Eingangssignalen (sog. generischen Testzielen) ermittelt, die erforderlich sind, um verschiedene Ausgangssignale der Standardkomponente zu erzielen. Die Anzahl der verschiedenen generischen Testziele ist abhängig von einer vorgebbaren Testtiefe des Funktionstests. Die generischen Testziele werden anhand einer Datenbank 10 oder Bibliothek ermittelt. In der Datenbank 10 sind die generischen Testziele in Abhängigkeit von der betrachteten Standardkomponente und in Abhängigkeit von der Testtiefe des Funktionstests abgelegt. Die Testziele sind dabei im Vorfeld des Funktionstests systematisch hergeleitet und in der Datenbank 10 abgelegt worden. Für nachträgliche Änderungen und/oder Ergänzungen ist die Datenbank 10 erweiterbar gehalten. Die generischen Testziele bilden eine neue Menge M3, welche die generischen Testziele für die zu Grunde liegende Menge aller aufbereiteten Spezifikationen bzw. die Menge aller nicht formalen Anforderungsspezifikationen als Elemente enthält.In a functional block 4 For each standard component, a certain number of different combinations of input signals (so-called generic test targets) are determined, which are required to achieve different output signals of the standard component. The number of different generic test targets depends on a predefinable test depth of the function test. The generic test goals are based on a database 10 or library determined. In the database 10 the generic test objectives are stored depending on the standard component under consideration and depending on the depth of the functional test. The test objectives are systematically derived prior to the functional test and in the database 10 been filed. The database is for subsequent changes and / or additions 10 kept expandable. The generic test targets form a new set M3, which contains the generic test targets for the underlying set of all prepared specifications or the set of all non-formal requirement specifications as elements.

Figure 00130001
Figure 00130001

Die zu der generische Anforderungskomponente ak4 aus dem obigen Beispiel gehörenden generischen Testziele für die logische UND-Verknüpfung sind:
Z41: E1 = 0, E2 = 0
Z42: E1 = 1, E2 = 0
Z43: E1 = 0, E2 = 1
Z44 : E1 = 1, E2 = 1,
wobei E1 und E2 die Eingänge der Standardkomponente sind. Die angegebenen Testziele stellen eine vollständige Testabdeckung dar. Es ist denkbar, für Software-Module, bei denen eine geringere Testtiefe ausreichend ist, nicht alle angegebenen generischen Testziele, sondern nur ausgewählte Testziele heranzuziehen.
The generic test objectives for the logical AND operation belonging to the generic requirement component ak 4 from the example above are:
Z 41 : E1 = 0, E2 = 0
Z 42 : E1 = 1, E2 = 0
Z 43 : E1 = 0, E2 = 1
Z 44 : E1 = 1, E2 = 1,
where E1 and E2 are the inputs of the standard component. The specified test objectives represent complete test coverage. It is conceivable for software modules for which a smaller test depth is sufficient not to use all of the specified generic test targets, but only selected test targets.

Bezugnehmend auf die Beispiele für eine Standardkomponente gemäß den 3 bis 11, sind für den Multi-Auswahl-Schalter gemäß 3 für zwei verschiedene Testtiefen die folgenden Testziele definiert und in der Datenbank 10 abgelegt:Referring to the examples of a standard component according to the 3 to 11 , are according to the multi-selection switch 3 The following test objectives are defined for two different test depths and in the database 10 filed:

Testtiefe 1:Test depth 1:

  • In1 ≠ In2,..., InN; Cond1 = Para1; Out1 = In1In1 ≠ In2, ..., InN; Cond1 = Para1; Out1 = In1
  • In2 ≠ In1, In3,..., InN; Cond1 = Para2; Out1 = In2In2 ≠ In1, In3, ..., InN; Cond1 = Para2; Out1 = In2
  • ......
  • InN-1 ≠ In1,..., InN; Cond1 = ParaN-1; Out1 = InN-1InN-1 ≠ In1, ..., InN; Cond1 = ParaN-1; Out1 = InN-1
  • InN ≠ In1,..., InN-1; Cond1 ≠ Para1, Para2,..., ParaN; Out1 = InNInN ≠ In1, ..., InN-1; Cond1 ≠ Para1, Para2, ..., ParaN; Out1 = InN

Testtiefe 2:test depth 2 :

  • In1 = Min (PhysVal); In2,..., InN = Max (PhysVal); Cond1 = Para1; Out1 = In1 = Min (PhysVal)In1 = Min (PhysVal); In2, ..., InN = Max (PhysVal); cond1 = Para1; Out1 = In1 = Min (PhysVal)
  • In2 = Min (PhysVal); In1, In3,..., InN = Max (PhysVal); Cond1 = Parat; Out1 = In2 = Min (PhysVal)In2 = Min (PhysVal); In1, In3, ..., InN = Max (PhysVal); cond1 = Parat; Out1 = In2 = Min (PhysVal)
  • ......
  • InN-1 = Min (PhysVal); In1,..., InN = Max (PhysVal); Cond1 = ParaN-1; Out1 = InN-1 = Min (PhysVal)InN-1 = Min (PhysVal); In1, ..., InN = Max (PhysVal); Cond1 = ParaN-1; Out1 = InN-1 = Min (PhysVal)
  • InN = Min (PhysVal); In1,..., InN-1 = Max (PhysVal); Cond1 ≠ Para1, Para2,..., ParaN; Out1 = InN = Min (PhysVal)InN = Min (PhysVal); In1, ..., InN-1 = Max (PhysVal); Cond1 ≠ Para1, Para2, ..., Paran; Out1 = InN = Min (PhysVal)
  • In1 = Max (PhysVal); In2,..., InN = Min (PhysVal); Cond1 = Para1; Out1 = In1 = Max (PhysVal)In1 = Max (PhysVal); In2, ..., InN = Min (PhysVal); Cond1 = Para1; Out1 = In1 = Max (PhysVal)
  • In2 = Max (PhysVal); In1, In3,..., InN = Min (PhysVal); Cond1 = Para2; Out1 = In2 = Max (PhysVal)In2 = Max (PhysVal); In1, In3, ..., InN = Min (PhysVal); cond1 = Para2; Out1 = In2 = Max (PhysVal)
  • ......
  • InN-1 = Max (PhysVal); In1,..., InN = Min (PhysVal); Cond1 = ParaN-1; Out1 = InN-1 = Max (PhysVal)InN-1 = Max (PhysVal); In1, ..., InN = Min (PhysVal); Cond1 = Paran-1; Out1 = InN-1 = Max (PhysVal)
  • InN = Max (PhysVal); In1,..., InN-1 = Min (PhysVal); Cond1 $ Para1, Para2,..., ParaN; Out1 = InN = Max (PhysVal), wobei Min (PhysVal) und Max(PhysVal) das Intervall aller möglicher Werte zwischen einer unteren und einer oberen Grenze der Spezifikation darstellen.InN = Max (PhysVal); In1, ..., InN-1 = Min (PhysVal); Cond1 $ Para1, Para2, ..., ParaN; Out1 = InN = Max (PhysVal), where Min (PhysVal) and Max (PhysVal) the interval of all possible values between one represent the lower and upper limits of the specification.

Für den Zeitgeber gemäß 4 sind für drei verschiedene Testtiefen die nachfolgenden Testziele definiert und in der Datenbank 10 abgelegt:According to the timer 4 the following test objectives are defined for three different test depths and in the database 10 filed:

Testtiefe 1:Test depth 1:

  • 0 < alter Wert von Out1 < Max (PhysVal); Cond1 = falsch; Cond2 = falsch; Out1 = const.0 <age Value of Out1 <Max (PhysVal); Cond1 = wrong; Cond2 = wrong; Out1 = const.
  • 0 < alter Wert von Out1 < Max (PhysVal); Cond1 = falsch; Cond2 = wahr; Out1 wird auf 0 zurückgesetzt0 <old value from Out1 <Max (PhysVal); Cond1 = wrong; Cond2 = true; Out1 is reset to 0
  • alter Wert von Out1 = 0; Cond1 = wahr; Cond2 = falsch; Out1 = Zeit seit Beginn der Messungold value of Out1 = 0; Cond1 = true; Cond2 = wrong; out1 = Time since the start of the measurement
  • 0 < alter Wert von Out1 < Max(PhysVal); Cond1 = wahr; Cond2 = falsch; Out1 = Zeit seit Beginn der Messung0 <old value from Out1 <Max (PhysVal); Cond1 = true; Cond2 = wrong; Out1 = time since the start of the measurement
  • 0 < alter Wert von Out1 < Max (PhysVal); Cond1 = wahr; 0 <old value from Out1 <Max (PhysVal); Cond1 = true;
  • Cond2 = wahr; Out1 wird auf 0 zurückgesetztCond2 = true; Out1 is reset to 0

Testtiefe 2:Test depth 2:

  • alter Wert von Out1 = 0; Cond1 = falsch; Cond2 = wahr; Out1 = 0 = const.old value of Out1 = 0; Cond1 = wrong; Cond2 = true; out1 = 0 = const.
  • alter Wert von Out1 = Max (PhysVal); Cond1 = wahr; Cond2 = falsch; Out1 = Zeit seit Beginn der Messungold value of Out1 = Max (PhysVal); Cond1 = true; Cond2 = wrong; Out1 = time since the start of the measurement
  • alter Wert von Out1 = 0; Cond1 = wahr; Cond2 = wahr; Out1 = 0 = const.old value of Out1 = 0; Cond1 = true; Cond2 = true; Out1 = 0 = const.

Testtiefe 3:Test depth 3:

  • alter Wert von Out1 = 0; Cond1 = falsch; Cond2 = falsch; Out1 = 0 = const.old value of Out1 = 0; Cond1 = wrong; Cond2 = wrong; Out1 = 0 = const.
  • alter Wert von Out1 = Max(PhysVal); Cond1 = falsch; Cond2 = falsch; Out1 = Max (PhysVal) = const.old value of Out1 = Max (PhysVal); Cond1 = wrong; Cond2 = not correct; Out1 = Max (PhysVal) = const.
  • alter Wert von Out1 = Max (PhysVal); Cond1 = falsch; Cond2 = wahr; Out1 wird auf 0 zurückgesetztold value of Out1 = Max (PhysVal); Cond1 = wrong; Cond2 = true; Out1 is reset to 0
  • alter Wert von Out1 = Max (PhysVal)-1; Cond1 = wahr; Cond2 = falsch; Out1 = Zeit seit Beginn der Messungold value of Out1 = Max (PhysVal) -1; Cond1 = true; Cond2 = not correct; Out1 = time since the start of the measurement
  • alter Wert von Out1 = Max (PhysVal); Cond1 = wahr; Cond2 = wahr; Out1 wird auf 0 zurückgesetztold value of Out1 = Max (PhysVal); Cond1 = true; Cond2 = true; Out1 is reset to 0

Für die Kennlinie gemäß 5 sind für drei verschiedene Testtiefen die nachfolgenden Testziele definiert und in der Datenbank 10 abgelegt:For the characteristic according to 5 the following test objectives are defined for three different test depths and in the database 10 filed:

Testtiefe 1:Test depth 1:

  • In1 = Abtasten Punkt k; Kurve Para1; Wert des abgetasteten Punkts ≠ 0; Out1 = Funktion (Para1, In1) ≠ 0In1 = scanning point k; Curve Para1; Value of the sampled Point ≠ 0; Out1 = function (Para1, In1) ≠ 0
  • In1 = Abtasten Punkt k; Kurve Para1; Wert des abgetasteten Punkts = 0; Out1 = 0In1 = scanning point k; Curve Para1; Value of the sampled point = 0; Out1 = 0

Testtiefe 2:Test depth 2:

  • In1 = Abtasten Punkt k; Kurve Para1; Wert des abgetasteten Punkts = Min(PhysVal); Out1 = Min (PhysVal)In1 = scanning point k; Curve Para1; Value of the sampled Points = Min (PhysVal); Out1 = Min (PhysVal)
  • In1 = Abtasten Punkt k; Kurve Para1; Wert des abgetasteten Punkts = Max (PhysVal); Out1 = Max (PhysVal)In1 = scanning point k; Curve Para1; Value of the sampled point = Max (PhysVal); Out1 = Max (PhysVal)

Testtiefe 3:Test depth 3:

  • In1 = Min (PhysVal); Out1 = Funktion (Para1, In1)In1 = Min (PhysVal); Out1 = function (Para1, In1)
  • In1 = Max (PhysVal); Out1 = Funktion (Para1, In1)In1 = Max (PhysVal); Out1 = function (Para1, In1)

Für das integrierende I-Glied gemäß 6 sind für drei verschiedene Testtiefen die nachfolgenden Testziele definiert und in der Datenbank 10 abgelegt:For the integrating I-link according to 6 the following test objectives are defined for three different test depths and in the database 10 filed:

Testtiefe 1:Test depth 1:

  • Min (PhysVal) < In1, Parat < Max (PhysVal); Out1 = Rampe mit Steigung Para1·In1Min (PhysVal) <In1, Parat <Max (PhysVal); Out1 = ramp with slope Para1 · In1

Testtiefe 2 (Grenzen des Eingangssignals In1):Test depth 2 (limits of Input signal In1):

  • In1 = Min (PhysVal); Min (PhysVal) < Para1 < Max (PhysVal); Out1 = Rampe mit Steigung Para1·In 1In1 = Min (PhysVal); Min (PhysVal) <Para1 <Max (PhysVal); Out1 = ramp with slope · In para1 1
  • In1 = Max (PhysVal); Min (PhysVal) < Para1 < Max (PhysVal); Out1 = Rampe mit Steigung Para1·In1In1 = Max (PhysVal); Min (PhysVal) <Para1 <Max (PhysVal); Out1 = ramp with slope Para1 · In 1

Testtiefe 3 (Grenzen der Konstante KI):Test depth 3 (limits of Constant AI):

  • Para1 = Min (PhysVal); Min (PhysVal) < In1 < Max (PhysVal); Out1 Rampe mit Steigung Para1·In1Para1 = Min (PhysVal); Min (PhysVal) <In1 <Max (PhysVal); Out1 ramp with slope Para1 · In1
  • Para1 = Max (PhysVal); Min (PhysVal) < In1 < Max (PhysVal); Out1 Rampe mit Steigung Para1·In1Para1 = Max (PhysVal); Min (PhysVal) <In1 <Max (PhysVal); Out1 ramp with slope Para1 · In1

Für das PT1-Glied gemäß 7 sind für drei verschiedene Testtiefen die nachfolgenden Testziele definiert und in der Datenbank 10 abgelegt:For the PT1 link according to 7 the following test objectives are defined for three different test depths and in the database 10 filed:

Testtiefe 1:Test depth 1:

  • In1 = step from 0 to X; 0 < Para1 < Max (PhysVal); Out1 = X·(1-exp(-1/Para1])In1 = step from 0 to X; 0 <Para1 <Max (PhysVal); out1 = X · (1-exp (-1 / Para1])

Testtiefe 2 (Grenzen des Eingangssignals In1):Test depth 2 (limits of Input signal In1):

In1 = step from 0 to X = Min (PhysVal); 0 < Para1 < Max (PhysVal); Out1 = X·(1-exp(-1/Para1])In1 = step from 0 to X = Min (PhysVal); 0 < Para1 <Max (PhysVal); Out1 = X · (1-exp (-1 / Para1])

In1 = step from 0 to X = Max (PhysVal); 0 < Para1 < Max (PhysVal); Out1 = X·(1-exp(-1/Para1])In1 = step from 0 to X = Max (PhysVal); 0 <Para1 <Max (PhysVal); Out1 = X · (1-exp (-1 / Para1])

Testtiefe 3 (Grenzen der Konstante T1):Test depth 3 (limits of Constant T1):

  • Para1 = 0; In1 = step from 0 to X; Out1 = X·(1-exp(-1/Para1])Para1 = 0; In1 = step from 0 to X; Out1 = X · (1-exp (-1 / Para1])
  • Para1 = Max (PhysVal); In1 = step from 0 to X; Out1 = X·(1-exp[-1/Para1])Para1 = Max (PhysVal); In1 = step from 0 to X; Out1 = X · (1-exp [-1 / Para1])

Für den Lese-Zugriff gemäß 8 sind für zwei verschiedene Testtiefen die nachfolgenden Testziele definiert und in der Datenbank 10 abgelegt:For read access according to 8th the following test objectives are defined for two different test depths and in the database 10 filed:

Testtiefe 1:Test depth 1:

  • Bit Para2 der Variablen Para1 gesetzt, alle anderen Bits nicht gesetzt; Out1 gesetztBit Para2 of the variable Para1 set, all other bits not set; Out1 set

Testtiefe 2:Test depth 2:

  • Bit Para2 der Variablen Para1 nicht gesetzt, alle anderen Bits gesetzt; Out1 nicht gesetztBit Para2 of the variable Para1 not set, all others Bits set; Out1 not set

Für den Nachricht-Senden-Befehl gemäß 9 ist das nachfolgende Testziel definiert und in der Datenbank 10 abgelegt: According to the send message command 9 the following test target is defined and in the database 10 filed:

Testtiefe 1:test depth 1 :

  • In1 ≠ Inhalt der Nachricht Para1; danach ist Inhalt der Nachricht Para1 = In1In1 ≠ content the message Para1; then the content of the message is Para1 = In1

Für die Zustandsmaschine mit vier Zuständen gemäß 10 sind für zwei Testtiefen die nachfolgenden Testziele definiert und in der Datenbank 10 abgelegt:For the state machine with four states according to 10 the following test objectives are defined for two test depths and in the database 10 filed:

Testtiefe 1 (wird Zustand richtig gewechselt?):Test depth 1 (becomes state changed correctly?):

  • Alter Wert von Out1 = Para1; Cond1 = wahr; Cond2 = Cond3 = Cond8 = Cond10 = Cond11 = falsch; Out1 = Para2Old value of Out1 = Para1; Cond1 = true; Cond2 = Cond3 = Cond8 = Cond10 = Cond11 = wrong; Out1 = Para2
  • Alter Wert von Out1 = Parat; Cond8 = wahr; Cond1 = Cond6 = Cond7 = Cond10 = Cond12 = falsch; Out1 = Para4Old value of Out1 = Parat; Cond8 = true; Cond1 = Cond6 = Cond7 = Cond10 = Cond12 = wrong; Out1 = Para4
  • Alter Wert von Out1 = Para1; Cond10 = wahr; Cond1 = Cond4 = Cond5 = Cond8 = Cond9 = falsch; Out1 = Para3Old value of Out1 = Para1; Cond10 = true; Cond1 = Cond4 = Cond5 = Cond8 = Cond9 = wrong; Out1 = Para3
  • Alter Wert von Out1 = Para2; Cond2 = wahr; Cond1 = Cond3 = Cond8 = Cond10 = Cond11 = falsch; Out1 = Para1Old value of Out1 = Para2; Cond2 = true; Cond1 = Cond3 = Cond8 = Cond10 = Cond11 = wrong; Out1 = Para1
  • Alter Wert von Out1 = Para2; Cond3 = wahr; Cond2 = Cond4 = Cond5 = Cond9 = Cond11 = falsch; Out1 = Para3Old value of Out1 = Para2; Cond3 = true; Cond2 = Cond4 = Cond5 = Cond9 = Cond11 = wrong; Out1 = Para3
  • Alter Wert von Out1 = Para2; Cond11 = wahr; Cond2 = Cond3 = Cond6 = Cond7 = Cond12 = falsch; Out1 = Para4Old value of Out1 = Para2; Cond11 = true; Cond2 = Cond3 = Cond6 = Cond7 = Cond12 = wrong; Out1 = Para4
  • Alter Wert von Out1 = Para3; Cond4 = wahr; Cond2 = Cond3 = Cond5 = Cond9 = Cond11 = falsch; Out1 = Para2Old value of Out1 = Para3; Cond4 = true; Cond2 = Cond3 = Cond5 = Cond9 = Cond11 = wrong; Out1 = Para2
  • Alter Wert von Out1 = Para3; Cond5 = wahr; Cond4 = Cond6 = Cond7 = Cond9 = Cond12 = falsch; Out1 = Para4Old value of Out1 = Para3; Cond5 = true; Cond4 = Cond6 = Cond7 = Cond9 = Cond12 = wrong; Out1 = Para4
  • Alter Wert von Out1 = Para3; Cond9 = wahr; Cond1 = Cond4 = Cond5 = Cond8 = Cond10 = falsch; Out1 = Para1Old value of Out1 = Para3; Cond9 = true; Cond1 = Cond4 = Cond5 = Cond8 = Cond10 = wrong; Out1 = Para1
  • Alter Wert von Out1 = Para4; Cond6 = wahr; Cond4 = Cond5 = Cond7 = Cond9 = Cond12 = falsch; Out1 = Para3Old value of Out1 = Para4; Cond6 = true; Cond4 = Cond5 = Cond7 = Cond9 = Cond12 = wrong; Out1 = Para3
  • Alter Wert von Out1 = Para4; Cond7 = wahr; Cond1 = Cond6 = Cond8 = Cond10 = Cond12 = falsch; Out1 = Para1Old value of Out1 = Para4; Cond7 = true; Cond1 = Cond6 = Cond8 = Cond10 = Cond12 = wrong; Out1 = Para1
  • Alter Wert von Out1 = Para4; Cond12 = wahr; Cond2 = Cond3 = Cond6 = Cond7 = Cond11 = falsch; Out1 = Para2Old value of Out1 = Para4; Cond12 = true; Cond2 = Cond3 = Cond6 = Cond7 = Cond11 = wrong; Out1 = Para2

Testtiefe 2 (wird Zustand richtig beibehalten?):Test depth 2 (becomes state correct?):

  • Alter Wert von Out1 = Para1; Cond1 = Cond8 = Cond10 = falschOld value of Out1 = Para1; Cond1 = Cond8 = Cond10 = wrong
  • Alter Wert von Out1 = Parat; Cond2 = Cond3 = Cond11 = falschOld value of Out1 = Parat; Cond2 = Cond3 = Cond11 = wrong
  • Alter Wert von Out1 = Para3; Cond4 = Cond5 = Cond9 = falschOld value of Out1 = Para3; Cond4 = Cond5 = Cond9 = wrong
  • Alter Wert von Out1 = Para4; Cond6 = Cond7 = Cond12 = falschOld value of Out1 = Para4; Cond6 = Cond7 = Cond12 = wrong

Für das Schaltelement für eine alternative Auswahl gemäß 11 sind für zwei Testtiefen die nachfolgenden Testziele definiert und in der Datenbank 10 abgelegt:For the switching element for an alternative selection according to 11 the following test objectives are defined for two test depths and in the database 10 filed:

Testtiefe 1:Test depth 1:

  • In1 ≠ In2; Cond1 = wahr; Out1 = In1In1 ≠ In2; Cond1 = true; Out1 = In1
  • In1 ≠ In2; Cond1 = falsch; Out1 = In2In1 ≠ In2; Cond1 = wrong; Out1 = In2

Testtiefe 2:Test depth 2:

  • In1 = Min (PhysVal); In2 = Max (PhysVal); Cond1 = wahr; Out1 = In1 = Min (PhysVal)In1 = Min (PhysVal); In2 = Max (PhysVal); Cond1 = true; Out1 = In1 = Min (PhysVal)
  • In1 = Min (PhysVal); In2 = Max (PhysVal); Cond1 = falsch; Out1 = In2 = Max (PhysVal)In1 = Min (PhysVal); In2 = Max (PhysVal); Cond1 = wrong; out1 = In2 = Max (PhysVal)
  • In1 = Max (PhysVal); In2 = Min (PhysVal); Cond1 = wahr; Out1 = In1 = Max (PhysVal)In1 = Max (PhysVal); In2 = Min (PhysVal); Cond1 = true; out1 = In1 = Max (PhysVal)
  • In1 = Max (PhysVal); In2 = Min (PhysVal); Cond1 = falsch; Out1 = In2 = Min (PhysVal)In1 = Max (PhysVal); In2 = Min (PhysVal); Cond1 = wrong; out1 = In2 = Min (PhysVal)

In einem nächsten Schritt wird die Menge M3 mit den generischen Testzielen in einem Funktionsblock 5 in eine weitere Menge M4 überführt, welche die konkreten Testziele z41' ,..., Z44' für die Menge aller nicht formalen Anforderungsspezifikationen als Elemente enthält. Die dazu nötigen Relationen ergeben sich aus dem Vergleich der Anforderungskomponenten mit den jeweils zu Grunde liegenden nicht formalen Anforderungen. Mit anderen Worten, werden in dem Funktionsblock 5 die lokalen Bezeichnungen E1, E2 der Eingänge der Standardkomponenten in globale Bezeichnungen „Wischer", „Zündung" des Moduls umbenannt.In a next step, the set of M3 with the generic test targets in a function block 5 transferred into a further set M4, which contains the specific test targets z 41 ', ..., Z 44 ' for the set of all non-formal requirements specifications as elements. The relationships required for this result from the comparison of the requirement components with the underlying non-formal requirements. In other words, in the function block 5 the local names E1, E2 of the inputs of the standard components have been renamed the module's global designations "Wiper", "Ignition".

Figure 00210001
Figure 00210001

Die zu den generischen Testzielen z41,..., z44 aus dem obigen Beispiel gehörenden konkreten Testziele sind bspw.:
Z41': Wischer AUS, Zündung AUS
Z42': Wischer EIN, Zündung AUS
Z43': Wischer AUS, Zündung EIN
Z44': Wischer EIN, Zündung EIN
The specific test targets belonging to the generic test targets z 41 , ..., z 44 from the example above are, for example:
Z 41 ': wiper OFF, ignition OFF
Z 42 ': wiper ON, ignition OFF
Z 43 ': wiper OFF, ignition ON
Z 44 ': wiper ON, ignition ON

Aus der Menge M4 der konkreten Testziele werden schließlich in einem Funktionsblock 6 auf Basis der ermittelten Testziele Testfälle für den Funktionstest des Software-Moduls erstellt. Ein Testfall kann auch mehr als ein Testziel berücksichtigen. Die verschiedenen Testfälle sind in einer Testfallmenge M5 zusammengefasst. In dem Funktionsblock 6 wird die Testfallmenge M5 aus der zuvor ermittelten Anzahl M4 von konkreten Testzielen unter Berücksichtigung der globalen Bezeichnungen des Moduls generiert, indem für das gesamte Modul eine Anzahl von verschiedenen Kombinationen von Eingangssignalen (sog. konkreten Testzielen) ermittelt wird, die erforderlich sind, damit alle zuvor ermittelten generischen Testziele der Standardkomponenten mindestens einmal auftreten.The set M4 of the concrete test targets will eventually become a function block 6 Test cases for the functional test of the software module created on the basis of the determined test goals. A test case can also consider more than one test goal. The various test cases are summarized in a test case set M5. In the function block 6 the test case set M5 is generated from the previously determined number M4 of specific test targets, taking into account the global designations of the module, by determining a number of different combinations of input signals (so-called concrete test targets) for the entire module, which are necessary to ensure that all of them previously Generic test objectives of the standard components determined occur at least once.

Gemäß der vorliegenden Erfindung wird der Funktionstest eines Software-Moduls systematisiert. Es kann eine definierte Testabdeckung erzielt werden. Zudem ist das Testverfahren reproduzierbar. Mittels der gemäß dem erfindungsgemäßen Verfahren generierten Testfallmenge kann mit Sicherheit eine vorgebbare Testtiefe des Funktionstests erzielt werden.According to the present invention the function test of a software module is systematized. It a defined test coverage can be achieved. It is also Test procedure reproducible. By means of the method according to the invention generated test case quantity can certainly be a predeterminable test depth of the function test can be achieved.

Das Generieren der Testfallmenge wird in Teilschritte Analyse von Anforderungen, Identifikation von Testzielen, Zuordnung von Testzielen zu Testfällen und Ausgestaltung von Testfällen unterteilt, um den Test von Software auf Basis nicht formaler Anforderungen systematisch durchzuführen.The generation of the test case set is divided into steps analysis of requirements, identification of Test targets, assignment of test targets to test cases and design of test cases divided to test software based on non-formal requirements to carry out systematically.

Das erfindungsgemäße Verfahren verringert die Komplexität des Testfallentwurfs durch deren Aufteilung auf mehrere nacheinander auszuführende, klar voneinander abgegrenzte Teilschritte. Dies reduziert die Fehleranfälligkeit und führt zu Testergebnissen, die in hohem Maße reproduzierbar, vollständig, konsistent und nachvollziehbar sind.The inventive method reduces the complexity of the test case design by dividing it into several in succession to be executed, clearly separate sub-steps. This reduces the susceptibility to errors and leads to test results that are highly reproducible, complete, consistent and are understandable.

Des weiteren ist das Verfahren gut in den Entwicklungsprozess von Software integrierbar, da bei der Ausführung der Teilschritte automatisch schrittweise eine Dokumentation erstellt wird (vgl. Funktionsblock 7). Ausgehend von dieser Dokumentation ist es einfach möglich, Aussagen über die Testfallabdeckung der Spezifikation zu treffen. Außerdem lassen sich die Entwurfsergebnisse an Hand der Dokumentation sehr einfach einer Überprüfung (sog. Review) unterziehen.Furthermore, the process can be easily integrated into the software development process, since documentation is automatically created step by step when the sub-steps are carried out (see function block 7 ). Based on this documentation, it is easy to make statements about the test case coverage of the specification. In addition, the design results can be easily checked using the documentation.

In einem Funktionsblock 8 wird dann in an sich bekannter Weise der Funktionstest des zu testenden Software-Moduls anhand der generierten Testfallmenge M5 durchgeführt. In einem Funktionsblock 9 ist das erfindungsgemäße Verfahren dann beendet.In a functional block 8th the function test of the software module to be tested is then carried out in a manner known per se on the basis of the generated test case set M5. In a functional block 9 the method according to the invention is then ended.

In einem weiteren Beispiel soll ein Software-Modul getestet werden, von dem ein grafisches Blockschaltbild in 12 dargestellt ist. Dieses umfasst zwei Standardkomponenten, einen Größer-Vergleicher 11 und eine logische UND-Verknüpfung 12. Der Größer-Vergleicher 11 hat zwei Eingänge E1, E2 und einen Ausgang. Die logische UND-Verknüpfung 12 hat zwei Eingänge E3, E4 und einen Ausgang A1. Der Ausgang des Größer-Vergleichers 11 ist als Eingang E4 an die UND-Verknüpfung 12 geführt. Das in 12 dargestellte Blockschaltbild ist eine Möglichkeit einer formalen Beschreibung des Software-Moduls, wie sie in Funktionsblock 3 des Ablaufdiagramms aus 1 erstellt wird.In another example, a software module is to be tested, of which a graphical block diagram in 12 is shown. This includes two standard components, a bigger comparator 11 and a logical AND operation 12 , The bigger comparator 11 has two inputs E1, E2 and one output. The logical AND link 12 has two inputs E3, E4 and one output A1. The output of the bigger comparator 11 is as input E4 to the AND link 12 guided. This in 12 The block diagram shown is one possibility of a formal description of the software module as described in the function block 3 of the flow chart 1 is created.

Für die beiden Standardkomponenten 11, 12 können gemäß Funktionsblock 4 des Ablaufdiagramms aus einer Bibliothek die dazugehörenden generischen Testziele entnommen werden. Für den Größer-Vergleicher 11 sind das bei einer hohen Testtiefe des Funktionstests:
Int1 > Int2; Out1 = 1
Int1 = Int2; Out1 = 0
Int1 < Int2; Out1 = 0
For the two standard components 11 . 12 can according to function block 4 the associated generic test targets can be found in the flowchart from a library. For the bigger comparator 11 if the functional test is deep:
Int1>Int2; Out1 = 1
Int1 = Int2; Out1 = 0
Int1 <Int2; Out1 = 0

Für die UND-Verknüpfung 12 sind die generischen Testziele bei einer hohen Testtiefe des Funktionstests:
Int1 = 0; Int2 = 0; Out1 = 0
Int1 = 1; Int2 = 0; Out1 = 0
Int1 = 0; Int2 = 1; Out1 = 0
Int1 = 1; Int2 = 1; Out1 = 1
For the AND link 12 are the generic test objectives for a high test depth of the functional test:
Int1 = 0; Int2 = 0; Out1 = 0
Int1 = 1; Int2 = 0; Out1 = 0
Int1 = 0; Int2 = 1; Out1 = 0
Int1 = 1; Int2 = 1; Out1 = 1

Gemäß Funktionsblock 5 des Ablaufdiagramms aus 1 werden die generischen Testziele in konkrete Testziele überführt. In dem vorliegenden Beispiel ergibt sich dann für den Größer-Vergleicher 11:
Testziel 11.1: E1 > E2; E4 = 1
Testziel 11.2: E1 = E2; E4 = 0
Testziel 11.3: E1 < E2; E4 = 0
According to function block 5 of the flow chart 1 the generic test targets are converted into concrete test targets. In the present example, the result is for the larger comparator 11 :
Test goal 11.1: E1>E2; E4 = 1
Test goal 11.2: E1 = E2; E4 = 0
Test goal 11.3: E1 <E2; E4 = 0

Und für die logische UND-Verknüpfung 12 ergibt sich:
Testziel 12.1: E4 = 0; E3 = 0; A1 = 0
Testziel 12.2: E4 = 1; E3 = 0; A1 = 0
Testziel 12.3: E4 = 0; E3 = 1; A1 = 0
Testziel 12.4: E4 = 1; E3 = 1; A1 = 1
And for the logical AND link 12 surrendered:
Test goal 12.1: E4 = 0; E3 = 0; A1 = 0
Test goal 12.2: E4 = 1; E3 = 0; A1 = 0
Test goal 12.3: E4 = 0; E3 = 1; A1 = 0
Test goal 12.4: E4 = 1; E3 = 1; A1 = 1

Gemäß Funktionsblock 6 des Ablaufdiagramms wird dann anhand der Testziele die Testfallmenge M5 generiert. In dem vorliegenden Beispiel ergeben sich die nachfolgenden Testfälle:
Testfall 1: E1 = 0; E2 = 0; E3 = 0; A1 = 0
Testfall 2: E1 = 1; E2 = 0; E3 = 0; A1 = 0
Testfall 3: E1 = 0; E2 = 1; E3 = 1; A1 = 0
Testfall 4: E1 = 1; E2 = 0; E3 = 1; AI = 1
According to function block 6 of the flow chart, the test case set M5 is then generated based on the test targets. The following test cases result in the present example:
Test case 1: E1 = 0; E2 = 0; E3 = 0; A1 = 0
Test case 2: E1 = 1; E2 = 0; E3 = 0; A1 = 0
Test case 3: E1 = 0; E2 = 1; E3 = 1; A1 = 0
Test case 4: E1 = 1; E2 = 0; E3 = 1; AI = 1

Der Testfall 1 deckt die Testziele 11.2 und 12.1 ab, der Testfall 2 die Testziele 11.1 und 12.2, der Testfall 3 die Testziele 11.3 und 12.3 und der Testfall 4 deckt die Testziele 11.1 und 12.4 ab. Mit den Eingangssignalen dieser Testfälle werden die Eingänge E1, E2, E3 des zu testenden Software-Moduls beaufschlagt, und es wird überprüft, ob sich am Ausgang A1 das vorgegebene Ausgangssignal einstellt.Test case 1 covers the test objectives 11.2 and 12.1, test case 2, test objectives 11.1 and 12.2, the test case 3 test targets 11.3 and 12.3 and test case 4 covers the test targets 11.1 and 12.4. With the input signals of these test cases the inputs E1, E2, E3 of the software module to be tested is applied, and it is checked whether sets the specified output signal at output A1.

In 2 ist eine erfindungsgemäße Vorrichtung zum Generieren einer Testfallmenge für einen Funktionstest eines Software-Moduls in ihrer Gesamtheit mit dem Bezugszeichen 20 bezeichnet. Die Vorrichtung 20 umfasst ein Speicherelement 21, das als ein Flash-Speicher ausgebildet ist. Alternativ kann das Speicherelement 21 auch als ein Random-Access-Memory oder als ein Read-Only-Memory ausgebildet sein. Auf dem Speicherelement 21 ist ein Computerprogramm gespeichert, das zur Ausführung des erfindungsgemäßen Verfahrens geeignet ist, wenn es auf einem Rechengerät 22 der Vorrichtung 20 abläuft. Das Rechengerät 22 ist insbesondere als ein Mikroprozessor ausgebildet. Zwischen dem Speicherelement 21 und dem Rechengerät 22 ist eine Datenübertragungsverbindung 23 vorgesehen, die bspw. als eine Datenleitung oder als ein Bussystem ausgebildet ist. Über die Datenverbindung 23 wird das Computerprogramm zur Abarbeitung auf dem Rechengerät 22 entweder abschnittsweise oder als Gesamtheit von dem Speicherelement 21 übertragen. Umgekehrt können über die Datenverbindung 23 auch Ergebnisse von Berechnungen oder andere Werte, die während der Abarbeitung des Computerprogramms anfallen, von dem Rechengerät 22 an das Speicherelement 21 übertragen und dort abgelegt werden. So wird bspw. auch die im Rahmen der Abarbeitung des Computerprogramms ermittelte Testfallmenge in dem Speicherelement 21 abgelegt.In 2 is a device according to the invention for generating a test case set for a functional test of a software module in its entirety with the reference symbol 20 designated. The device 20 comprises a storage element 21 , which is designed as a flash memory. Alternatively, the storage element 21 also be designed as a random access memory or as a read-only memory. On the storage element 21 A computer program is stored which is suitable for executing the method according to the invention when it is on a computing device 22 the device 20 expires. The computing device 22 is designed in particular as a microprocessor. Between the storage element 21 and the computing device 22 is a data transmission connection 23 provided, which is designed, for example, as a data line or as a bus system. Via the data connection 23 becomes the computer program for processing on the computing device 22 either in sections or as a whole of the storage element 21 transfer. Conversely, you can use the data connection 23 also results of calculations or other values that arise during the processing of the computer program from the computing device 22 to the storage element 21 transferred and stored there. For example, the number of test cases determined in the course of processing the computer program is also stored in the memory element 21 stored.

Des weiteren umfasst die Vorrichtung 20 einen Festwertspeicher 24, der bspw. als ein Random-Access-Memory ausgebildet ist. Auf dem Festwertspeicher 24 ist die Bibliothek oder Datenbank abgelegt, welche die Standardkomponenten zur formalen Beschreibung der Funktion des zu testenden Moduls sowie die generischen Testziele der Standardkomponenten enthält. Das Computerprogramm kann während der Abarbeitung auf dem Rechengerät 22 über eine weitere Datenverbindung 25 auf den Festwertspeicher 24 zugreifen und Standardkomponenten sowie entsprechende generische Testziele zur weiteren Verarbeitung herunterladen.The device further comprises 20 a read-only memory 24 , which is designed, for example, as a random access memory. On the read-only memory 24 the library or database is stored, which contains the standard components for the formal description of the function of the module to be tested as well as the generic test objectives of the standard components. The computer program can run on the computing device during processing 22 via another data connection 25 to the read-only memory 24 access and download standard components and corresponding generic test targets for further processing.

Als Eingangsgröße erhält die Vorrichtung 20 die Menge M1, welche die einzelnen nicht formalen Anforderungen als Elemente enthält. Ausgangsgröße der Vorrichtung 20 ist die ermittelte Testfallmenge M5. Alternativ kann als Ausgangsgröße auch die Menge M4 ausgegeben werden, welche die konkreten Testziele z41',..., z44' für die Menge aller nicht formalen Anforderungsspezifikationen als Elemente enthält. In diesem Fall kann die Testfallmenge M5 dann außerhalb der Vorrichtung 20 generiert werden.The device receives the input variable 20 the set M1, which contains the individual non-formal requirements as elements. Output size of the device 20 is the determined test case quantity M5. Alternatively, the quantity M4 can also be output as an output variable, which contains the specific test targets z 41 ', ..., z 44 ' for the set of all non-formal requirement specifications as elements. In this case, the test case set M5 can then be outside the device 20 to be generated.

Claims (9)

Verfahren zum Generieren einer Testfallmenge (M5) für einen Funktionstest eines Software-Moduls, gekennzeichnet durch die nachfolgenden Verfahrensschritte: – formale Beschreibung einer Funktion des Moduls durch mindestens eine Standardkomponente (M2) aus einer Datenbank (10); – für jede Standardkomponente Ermitteln einer Anzahl von verschiedenen Kombinationen von Eingangssignalen (sog. generischen Testzielen M3), die erforderlich sind, um verschiedene Ausgangssignale der Standardkomponente zu erzielen, wobei die Anzahl der verschiedenen generischen Testziele abhängig ist von einer vorgebbaren Testtiefe des Funktionstests; – Umbenennen der lokalen Bezeichnungen der Eingänge der Standardkomponenten in globale Bezeichnungen des Moduls (sog. konkrete Testziele M4); und – unter Berücksichtigung der globalen Bezeichnungen des Moduls Generieren der Testfallmenge (M5) aus der zuvor ermittelten Anzahl (M4) von konkreten Testzielen, indem für das gesamte Modul eine Anzahl von verschiedenen Kombinationen von Eingangssignalen ermittelt wird, die erforderlich sind, damit alle zuvor ermittelten generischen Testziele (M3) der Standardkomponenten mindestens einmal auftreten, wobei ein Testfall mindestens ein Testziel umfasst.Method for generating a test case set (M5) for a functional test of a software module, characterized by the following method steps: - formal description of a function of the module by at least one standard component (M2) from a database ( 10 ); - For each standard component, determining a number of different combinations of input signals (so-called generic test targets M3) which are required to achieve different output signals of the standard component, the number of different generic test targets being dependent on a predefinable test depth of the functional test; - Renaming the local names of the inputs of the standard components to global names of the module (so-called concrete test targets M4); and - taking into account the global designations of the module, generating the test case quantity (M5) from the previously determined number (M4) of specific test targets, by determining a number of different combinations of input signals for the entire module, which are necessary so that all previously determined generic test objectives (M3) of the standard components occur at least once, whereby a test case comprises at least one test objective. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Funktion des Moduls durch mindestens eine nicht formale Anforderungsspezifikation (M1) beschrieben wird, die dann zu der formalen Beschreibung (M2) der Funktion des Moduls durch die mindestens eine Standardkomponente aus einer Datenbank (10) aufbereitet wird.Method according to Claim 1, characterized in that the function of the module is described by at least one non-formal requirement specification (M1) which then leads to the formal description (M2) of the function of the module by the at least one standard component from a database ( 10 ) is processed. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass zum Ermitteln der generischen Testziele (M3) einer Standardkomponente die generischen Testziele in Abhängigkeit von der betrachteten Standardkomponente und in Abhängigkeit von der Testtiefe des Funktionstests der Datenbank (10) entnommen werden.Method according to Claim 1 or 2, characterized in that, in order to determine the generic test targets (M3) of a standard component, the generic test targets in dependence on the standard component under consideration and in dependence on the test depth of the functional test of the database ( 10 ) can be removed. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass für eine geringe Testtiefe des Funktionstests weniger verschiedene generische Testziele (M3) und für eine hohe Testtiefe mehr verschiedene generische Testziele (M3) ermittelt werden.Method according to one of claims 1 to 3, characterized in that fewer different genes for a small test depth of the functional test test targets (M3) and, for a high test depth, more different generic test targets (M3) can be determined. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass das Generieren der Testfallmenge (M5) automatisch dokumentiert wird.Method according to one of claims 1 to 4, characterized in that that the generation of the test case quantity (M5) is documented automatically becomes. Computerprogramm, das auf einem Rechengerät (22), insbesondere auf einem Mikroprozessor, ablauffähig ist, dadurch gekennzeichnet, dass das Computerprogramm zur Ausführung eines Verfahrens nach einem der Ansprüche 1 bis 5 ablauffähig ist, wenn es auf dem Rechengerät (22) abläuft.Computer program running on a computing device ( 22 ), in particular executable on a microprocessor, characterized in that the computer program for executing a method according to one of claims 1 to 5 is executable if it is on the computing device ( 22 ) expires. Computerprogramm nach Anspruch 6, dadurch gekennzeichnet, dass das Computerprogramm auf einem Speicherelement (21) , insbesondere auf einem Random-Access-Memory, auf einem Read-Only-Memory oder auf einem Flash-Speicher, abgespeichert ist.Computer program according to claim 6, characterized in that the computer program on a memory element ( 21 ), in particular on a random access memory, on a read-only memory or on a flash memory. Vorrichtung (20) zum Generieren einer Testfallmenge (M5) für einen Funktionstest eines Software-Moduls, dadurch gekennzeichnet, dass die Vorrichtung (20) umfasst: – Mittel zur formalen Beschreibung einer Funktion des Moduls durch mindestens eine Standardkomponente aus einer Datenbank (10); – Mittel zum Ermitteln einer Anzahl von verschiedenen Kombinationen von Eingangssignalen (sog. generischen Testzielen M3) für jede Standardkomponente, wobei die generischen Testziele erforderlich sind, um verschiedene Ausgangssignale der Standardkomponente zu erzielen, und die Anzahl der verschiedenen generischen Testziele abhängig ist von einer vorgebbaren Testtiefe des Funktionstests; – Mittel zum Umbenennen der lokalen Bezeichnungen der Eingänge der Standardkomponenten in globale Bezeichnungen des Moduls (sog. konkrete Testziele M4); und – Mittel zum Generieren der Testfallmenge (M5) aus der zuvor ermittelten Anzahl von konkreten Testzielen unter Berücksichtigung der globalen Bezeichnungen des Moduls, indem für das gesamte Modul eine Anzahl von verschiedenen Kombinationen von Eingangssignalen ermittelt wird, die erforderlich sind, damit alle zuvor ermittelten generischen Testziele der Standardkomponenten mindestens einmal auftreten, wobei ein Testfall mindestens ein Testziel umfasst.Contraption ( 20 ) for generating a test case set (M5) for a functional test of a software module, characterized in that the device ( 20 ) comprises: means for the formal description of a function of the module by at least one standard component from a database ( 10 ); Means for determining a number of different combinations of input signals (so-called generic test targets M3) for each standard component, the generic test targets being required to achieve different output signals of the standard component, and the number of different generic test targets depending on a predeterminable test depth the function test; - Means for renaming the local names of the inputs of the standard components into global names of the module (so-called concrete test targets M4); and - means for generating the test case quantity (M5) from the previously determined number of concrete test targets, taking into account the global designations of the module, by determining a number of different combinations of input signals for the entire module, which are required so that all previously determined generic ones Test objectives of the standard components occur at least once, whereby a test case comprises at least one test objective. Vorrichtung (20) nach Anspruch 8, dadurch gekennzeichnet, dass die Vorrichtung ein Rechengerät (22), insbesondere einen Mikroprozessor, umfasst, auf dem ein Computerprogramm ablauffähig ist, das zur Ausführung eines Verfahren nach einem der Ansprüche 1 bis 5 geeignet ist, wenn es auf dem Rechengerät (22) abläuft.Contraption ( 20 ) according to claim 8, characterized in that the device comprises a computing device ( 22 ), in particular a microprocessor, on which a computer program is executable, which is suitable for executing a method according to one of claims 1 to 5, if it is on the computing device ( 22 ) expires.
DE2003111864 2003-03-17 2003-03-17 Generation of test case data for software module testing, e.g. for software modules in a motor vehicle control program, whereby data are generated using a database of standard components that are then combined appropriately Withdrawn DE10311864A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2003111864 DE10311864A1 (en) 2003-03-17 2003-03-17 Generation of test case data for software module testing, e.g. for software modules in a motor vehicle control program, whereby data are generated using a database of standard components that are then combined appropriately

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2003111864 DE10311864A1 (en) 2003-03-17 2003-03-17 Generation of test case data for software module testing, e.g. for software modules in a motor vehicle control program, whereby data are generated using a database of standard components that are then combined appropriately

Publications (1)

Publication Number Publication Date
DE10311864A1 true DE10311864A1 (en) 2004-09-30

Family

ID=32920887

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003111864 Withdrawn DE10311864A1 (en) 2003-03-17 2003-03-17 Generation of test case data for software module testing, e.g. for software modules in a motor vehicle control program, whereby data are generated using a database of standard components that are then combined appropriately

Country Status (1)

Country Link
DE (1) DE10311864A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2516355A (en) * 2014-05-23 2015-01-21 Daimler Ag Method and system for diagnosing faults of a component of a vehicle
DE102017212612A1 (en) 2017-07-21 2019-01-24 Ford Global Technologies, Llc Method for automatically generating tests for the software of a vehicle
CN111858338A (en) * 2020-07-21 2020-10-30 卡斯柯信号(北京)有限公司 Test case design method and device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2516355A (en) * 2014-05-23 2015-01-21 Daimler Ag Method and system for diagnosing faults of a component of a vehicle
DE102017212612A1 (en) 2017-07-21 2019-01-24 Ford Global Technologies, Llc Method for automatically generating tests for the software of a vehicle
CN111858338A (en) * 2020-07-21 2020-10-30 卡斯柯信号(北京)有限公司 Test case design method and device

Similar Documents

Publication Publication Date Title
EP1543391B1 (en) Method for simulation of a field device in a process automation technology network
DE19744230A1 (en) Control system with variable priority e.g. for vehicle IC engine or transmission
DE2359258A1 (en) REAL TIME CONTROL ARRANGEMENT FOR A SIMULATION DEVICE
DE4400079A1 (en) Method for testing electronic control units and control unit for use in the method
EP1479003B1 (en) Method and device for controlling the functional unit of a motor vehicle
DE102017211433A1 (en) Method for performing a functional test of a control unit in a hardware-in-the-loop test, HIL test, and HIL test bench and control unit
EP0370327B1 (en) Optimizer for a parameter-dependent network system
WO2002065220A1 (en) Method and device for emulating control and/or regulating functions of a control or regulating device
DE4327660C2 (en) Apparatus for manufacturing and manufacturing methods for a semiconductor integrated circuit device and electronic circuit device
EP3015992B1 (en) Method for managing prioritized input data
DE102009054905A1 (en) Method for determining functional parameters for a control device
DE10311864A1 (en) Generation of test case data for software module testing, e.g. for software modules in a motor vehicle control program, whereby data are generated using a database of standard components that are then combined appropriately
EP2482148B1 (en) Method for projecting and/or programming a multi-functional component of an industrial automation assembly
DE202016008563U1 (en) Configuration system for configuring a test device set up to test a controller
EP2191338B1 (en) System for writing a simulation program
DE10325513B4 (en) Method and apparatus for creating a behavioral aspect of a formal verification circuit
DE102019132624A1 (en) Method, device, computer program and computer-readable storage medium for creating a motion cueing algorithm
DE10158939A1 (en) Controlling vehicle operating processes, involves controller receiving input parameters, allocating parameter sets for adapting controller to input parameters; allocation is variable
DE102008042894A1 (en) Method and device for testing a computer core in a computer having at least two computer cores
DE102018217139B4 (en) Method and device for configuring a characteristic function of a control device of a motor vehicle
DE102016225041B4 (en) Method for operating an internal combustion engine, control device for an internal combustion engine, and internal combustion engine with such a control device
DE102006039395A1 (en) Triggering unit for use as component of laboratory unit, has trigger module, where triggering unit is designed in such that triggering mechanism is released during operation of laboratory unit
DE19710463C2 (en) Process for automatic differentiation on a computer, in particular for simulating electronic circuits
EP3164820A1 (en) Time-discrete modeling method for a motor vehicle
DE102022205985A1 (en) Method for testing an electronic device

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee