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 PDFInfo
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 217
- 238000000034 method Methods 0.000 claims abstract description 26
- 230000006870 function Effects 0.000 claims description 54
- 238000011990 functional testing Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 18
- 230000001419 dependent effect Effects 0.000 claims description 4
- 108090000623 proteins and genes Proteins 0.000 claims 1
- 238000013461 design Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 102100024061 Integrator complex subunit 1 Human genes 0.000 description 7
- 101710092857 Integrator complex subunit 1 Proteins 0.000 description 7
- 102100033265 Integrator complex subunit 2 Human genes 0.000 description 7
- 108050002021 Integrator complex subunit 2 Proteins 0.000 description 7
- 238000005259 measurement Methods 0.000 description 7
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241001136792 Alle Species 0.000 description 1
- 101100002669 Arabidopsis thaliana ADT1 gene Proteins 0.000 description 1
- 101100002673 Arabidopsis thaliana ADT3 gene Proteins 0.000 description 1
- 101100463170 Schizosaccharomyces pombe (strain 972 / ATCC 24843) pdt1 gene Proteins 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3684—Test 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
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.
- - 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:
Beschreibung der Ausführungsbeispieledescription of the embodiments
In
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
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
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
In den
In
In
In
In
In
In einem Funktionsblock
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
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
- 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äß
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äß
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äß
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äß
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äß
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äß
Testtiefe
- 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äß
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äß
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
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 EINThe 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
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
In einem Funktionsblock
In einem weiteren Beispiel soll ein
Software-Modul getestet werden, von dem ein grafisches Blockschaltbild
in
Für
die beiden Standardkomponenten
Int1 > Int2; Out1 = 1
Int1
= Int2; Out1 = 0
Int1 < Int2;
Out1 = 0For the two standard components
Int1>Int2; Out1 = 1
Int1 = Int2; Out1 = 0
Int1 <Int2; Out1 = 0
Für
die UND-Verknüpfung
Int1
= 0; Int2 = 0; Out1 = 0
Int1 = 1; Int2 = 0; Out1 = 0
Int1
= 0; Int2 = 1; Out1 = 0
Int1 = 1; Int2 = 1; Out1 = 1For the AND link
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
Testziel
11.1: E1 > E2; E4
= 1
Testziel 11.2: E1 = E2; E4 = 0
Testziel 11.3: E1 < E2; E4 = 0According to function block
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
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 = 1And for the logical AND link
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
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 = 1According to function block
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
Des weiteren umfasst die Vorrichtung
Als Eingangsgröße erhält die Vorrichtung
Claims (9)
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)
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 |
-
2003
- 2003-03-17 DE DE2003111864 patent/DE10311864A1/en not_active Withdrawn
Cited By (3)
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 |