DE102004007053A1 - Verfahren zum Erzeugen von Testfällen - Google Patents

Verfahren zum Erzeugen von Testfällen Download PDF

Info

Publication number
DE102004007053A1
DE102004007053A1 DE200410007053 DE102004007053A DE102004007053A1 DE 102004007053 A1 DE102004007053 A1 DE 102004007053A1 DE 200410007053 DE200410007053 DE 200410007053 DE 102004007053 A DE102004007053 A DE 102004007053A DE 102004007053 A1 DE102004007053 A1 DE 102004007053A1
Authority
DE
Germany
Prior art keywords
cause
test case
subset
causes
generated
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
DE200410007053
Other languages
English (en)
Inventor
Kiriakos Dipl.-Ing. Athanasas
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.)
Mercedes Benz Group AG
Original Assignee
DaimlerChrysler AG
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 DaimlerChrysler AG filed Critical DaimlerChrysler AG
Priority to DE200410007053 priority Critical patent/DE102004007053A1/de
Publication of DE102004007053A1 publication Critical patent/DE102004007053A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers

Abstract

Die Erfindung betrifft ein Verfahren zum automatischen Erzeugen von Testfällen zum Testen eines technischen Systems. Vorgegeben sind ein unerwünschtes Ereignis und ein Fehlerbaum (10) für dieses Ereignis. Mindestens eine Kombination von Ursachen, die gemeinsam das unerwünschte Ereignis auslösen, sowie jede Teilmenge dieser Ursachen-Kombination werden ermittelt. Für jede Teilmenge wird mindestens ein Testfall (40) erzeugt. Dieser Testfall weist den Variablen des technischen Systems Werte dergestalt zu, daß alle Ursachen der Teilmenge und keine andere Ursache auftritt. Das Verfahren erzeugt systematisch und vollständig Testfälle zum Prüfen der Ursachen-Kombination und ermöglicht es, sowohl das technische System als auch den Fehlerbaum (10) zu überprüfen. Vorzugsweise wird das Verfahren für jede Ursachen-Kombination durchgeführt.

Description

  • Die Erfindung betrifft ein Verfahren zum automatischen Erzeugen von Testfällen für das Testen eines technischen Systems.
  • Oft wird ein technisches System vor seinem Einsatz ausgiebig getestet, um zu ermitteln, wie es sich in bestimmten Situationen verhält und ob gefährliche Situationen auftreten oder diese vermieden werden. Zum Testen werden Testfälle benötigt, die möglichst viele der Situationen überdecken, die beim Einsatz des technischen Systems auftreten können.
  • Aus DE 10055679 A1 ist ein Verfahren zur modellbasierten Erzeugung von Testfällen bekannt. Benötigt wird ein vorgegebenes rechnerauswertbares Simulationsmodell des zu testenden technischen Systems. Aus diesem Simulationsmodell werden testrelevante Informationen extrahiert und zu einem Klassifikationsbaum zusammengesetzt. Dieser Baum zerlegt die Wertebereiche der Eingangsgrößen in nicht überlappende Testfälle.
  • In DE 19723252 C2 wird das zu testende System als Zustandsautomat mit endlich vielen verschiedenen Zuständen beschrieben. Externe Ereignisse („Anreize") bewirken, daß das System von einem Zustand des Zustandsautomaten in einen anderen Zustand übergeht. In einem ersten Testlauf werden zulässige Kombinationen von Zuständen und Anreizen ermittelt. In einem zweiten Testlauf werden die zulässigen Kombinationen als Testfälle verwendet. Das in DE 19723252 C2 offenbarte Verfahren setzt voraus, daß das System vollständig als Zustandsautomat modelliert ist.
  • Aus US 6,449,744 B1 ist eine flexible Testumgebung zum automatischen Testen eines technischen Systems bekannt. Schritte zum Erzeugen eines Testprogramms werden in einer ersten Baumstruktur angeordnet. Beim Durchlaufen dieser Baumstruktur wird ein Testprogramm erzeugt. Welche Schritte in welcher Reihenfolge beim Ausführen eines solchen Testprogramms ausgeführt werden, wird durch eine zweite Baumstruktur spezifiziert.
  • In US 6,195,616 B1 werden ein Verfahren und ein System offenbart, um funktionale Tests für ein elektronisches System zu generieren und auszuführen. Aus einer funktionalen Spezifikation des Systems wird ein Entscheidungsbaum abgeleitet. Den Knoten dieses Entscheidungsbaums werden Testziele sowie funktionale Tests zum Überprüfen dieser Ziele zugeordnet. Der Entscheidungsbaum wird durchlaufen, und die zugeordneten funktionalen Tests werden ausgeführt. Überprüft wird, ob dabei das technische System vollständig getestet wird.
  • Der Erfindung liegt die Aufgabe zugrunde, ein systematisches Verfahren zum automatischen Erzeugen von Testfällen zum Überprüfen einer Kombination von gemeinsam ein unerwünschtes Ereignis auslösenden Ursachen bereitzustellen.
  • Die Lösung gelingt durch ein Verfahren nach Anspruch 1. Vorteilhafte Ausgestaltungen sind in den Unteransprüchen angegeben.
  • Ein Fehlerbaum zeigt die möglichen Ursachen eines im Betrieb des technischen Systems unerwünschten Ereignisses und die kausalen Wirkungen, die zum Eintreten des unerwünschten Ereignisses führen. Für das Verfahren sind ein unerwünschtes Ereignis und ein Fehlerbaum für dieses Ereignis vorgegeben. Die Wurzel des Fehlerbaums repräsentiert das unerwünschte Ereignis, seine Blätter mögliche Ursachen für das unerwünschte Ereignis. Jeder im Fehlerbaum repräsentierten Ursache sind mindestens eine Variable des technischen Systems und ein das Auftreten der Ursache hervorrufender Teilbereich des Wertebereichs dieser Variablen zugeordnet.
  • Durch das erfindungsgemäße Verfahren werden mit Hilfe eines Fehlerbaums Testfälle zum Prüfen, ob das unerwünschte Ereignis eintritt oder nicht, erzeugt. Jeder erzeugte Testfall weist allen Variablen des technischen Systems jeweils einen Wert zu. Daher determiniert jeder Testfall vollständig ein mögliches Schadensbild am zu testenden technischen System und legt fest, welche Ursachen bei der Durchführung des Testfalls am technischen System vorliegen und welche nicht.
  • Jede echte nichtleere Teilmenge der Ursachen-Kombination wird ermittelt. „Echte" Teilmenge bedeutet, daß mindestens eine Ursache der Ursachen-Kombination nicht in der Teilmenge enthalten ist. Diese Teilmenge besteht aus einer oder aus einigen, nicht aber aus allen Ursachen der Ursachen-Kombination. Für diese Teilmenge wird mindestens ein Testfall erzeugt. Der Testfall sieht vor, daß nur die Ursachen der Teilmenge hervorgerufen werden, aber nicht diejenigen Ursachen, die im Fehlerbaum berücksichtigt sind und nicht zur Teilmenge gehören. Jede Variable einer Ursache der Teilmenge wird bei der Ausführung des für die Teilmenge erzeugten Testfalls auf einen Wert aus demjenigen Teilbereich des Wertebereichs eingestellt, der die Ursache hervorruft. Jede Variable einer Ursache, die im Fehlerbaum berücksichtigt ist und nicht zur Teilmenge gehört, wird auf einen aus der Differenzmenge aus Wertebereich der Variable und des hervorrufenden Teilbereichs eingestellt.
  • Das Verfahren erzeugt systematisch, nachvollziehbar und vollständig Testfälle. Die durch das Verfahren erzeugten Testfälle sind dafür geeignet, die mindestens eine Kombination von gemeinsam auslösenden Ursachen systematisch zu überprüfen. Für jede nichtleere Teilmenge der Ursachen-Kombination wird mindestens ein Testfall erzeugt. Die Ausführung dieses Test falls führt dazu, daß genau die in der Teilmenge enthaltenen Ursachen und keine weiteren im Fehlerbaum berücksichtigten Ursachen hervorgerufen werden. Das Verfahren gewährleistet Vollständigkeit in dem Sinne, daß jede Teilmenge der Ursachen-Kombination zu mindestens einem Testfall führt.
  • Das Verfahren eignet sich dazu, den vorgegebenen Fehlerbaum zu überprüfen. Geprüft wird, ob tatsächlich alle Ursachen der Kombination gemeinsam auftreten müssen, um das unerwünschte Ereignis auszulösen, oder ob bereits einige Ursachen der Ursachen-Kombination das unerwünschte Ereignis auslösen. Beispielweise wird überprüft, ob tatsächlich alle drei Ursachen einer Ursachen-Kombination auftreten müssen, damit das unerwünschte Ereignis auftritt, oder ob es bereits bei zwei dieser Ursachen auftritt. Falls die Ausführung eines Testfalls für eine Teilmenge dazu führt, daß das unerwünschte Ereignis auftritt, so ist eine Ursache, die allein das unerwünschte Ereignis auslösen kann, oder eine zusätzliche Kombination von Ursachen ermittelt, die es gemeinsam auslösen können. Falls die Teilmenge aus einer einzigen Ursache besteht, so ist eine allein auslösende Ursache ermittelt. Falls die Teilmenge aus mehreren Ursachen besteht, so ist eine zusätzliche Kombination von gemeinsam auslösenden Ursachen ermittelt. Durch Ausführung des Testfalls wird festgestellt, daß der Fehlerbaum nicht das tatsächliche Verhalten des technischen Systems beschreibt. Denn gemäß dem Fehlerbaum vermag die Ursache nicht allein das unerwünschte Ereignis auszulösen, und die zusätzliche Kombination vermag dies auch nicht. Somit legt die Ausführung des Testfalls offen, daß ein kausaler Zusammenhang im Fehlerbaum nicht berücksichtigt wurde oder daß das technische System sich nicht so wie spezifiziert verhält. Die Ausführung der erfindungsgemäß erzeugten Testfälle überprüft somit sowohl den Fehlerbaum als auch das technische System selber.
  • Im Gegensatz zu bekannten Verfahren benötigt das erfindungsgemäße Verfahren kein komplexes Modell des zu testenden tech nischen Systems, insbesondere kein Simulationsmodell und kein Modell in Form eines Zustandsautomaten.
  • Eine vorteilhafte Ausgestaltung sieht vor, daß für mindestens eine Teilmenge mindestens zwei Testfälle erzeugt werden. Für eine Ursache der Teilmenge werden der kleinste und der größte Wert desjenigen Teilbereichs, der die Ursache hervorruft und der aus mehreren Zahlen besteht, ausgewählt. Zwei Testfälle werden erzeugt. Der erste Testfall ordnet der Variable, die der Ursache zugeordnet ist, den kleinsten Wert zu, der zweite Testfall den größten Wert. Den anderen Variablen ordnet jeder Testfall ebenfalls jeweils einen Wert zu. Diese Ausgestaltung ermöglicht es, gezielt die beiden Ränder des hervorrufenden Teilbereichs zu untersuchen, indem die beiden Testfälle ausgeführt werden.
  • Bei einer weiteren vorteilhaften Ausgestaltung werden für mindestens eine Teilmenge mindestens zwei Testfälle auf andere Weise erzeugt. Für eine Ursache der Teilmenge ist die Differenzmenge aus Wertebereich der zugeordneten Variablen und hervorrufendem Teilbereich in zwei Differenz-Teilbereiche unterteilt. Beispielsweise liegt der hervorrufende Teilbereich im Inneren des Wertebereichs und unterteilt die Differenzmenge in einen unteren und einen oberen Differenz-Teilbereich. Ist der Wertebereich z. B. das Intervall von 0 bar bis 100 bar und der eine Ursache hervorrufende Teilbereich das Intervall von 40 bar bis 60 bar, so unterteilt der hervorrufende Teilbereich die Differenzmenge in die beiden Differenz-Teilbereiche 0 bar bis 40 bar und 60 bar bis 100 bar. Zwei Testfälle werden erzeugt. Der erste Testfall ordnet der Variable, die der Ursache zugeordnet ist, einen Wert aus dem einen Differenz-Teilbereich zu, der andere Testfall einen aus dem anderen Differenz-Teilbereich. Den anderen Variablen ordnet jeder Testfall ebenfalls jeweils einen Wert zu. Diese Ausgestaltung ermöglicht es, beide Differenz-Teilbereiche zu untersuchen, indem die beiden Testfälle ausgeführt werden.
  • Bevorzugt wird das Verfahren so weitergebildet, daß der komplette Fehlerbaum systematisch und vollständig ausgewertet wird, um Testfälle zu erzeugen. Systematisch wird jede das unerwünschte Ereignis auslösende Ursachen-Kombination daraufhin überprüft, ob bereits einige Ursachen der Ursachen-Kombination das unerwünschte Ereignis auslösen oder ob tatsächlich alle Ursachen der Kombination gemeinsam auftreten müssen, um das unerwünschte Ereignis auszulösen. Die Weiterbildung läßt sich somit dafür verwenden, einen vorgegebenen Fehlerbaum systematisch daraufhin zu überprüfen, ob er tatsächlich alle auslösenden Ursachen und Ursachen-Kombinationen offenbart oder ob kausale Zusammenhänge in ihm nicht berücksichtigt sind. Ein in diesem Sinne vollständiger und getesteter Fehlerbaum wird z. B. für Fehlerfolgenanalysen (FMEA) und Produkt-Zertifizierungen gefordert. Daher eignet sich diese Weiterbildung dafür, einen Nachweis zu führen, der wegen einer Zertifizierung des zu testenden technischen Systems oder Anforderungen aus der Produkthaftung verlangt wird.
  • Vorzugsweise wird jeder gemäß dem Verfahren erzeugte Testfall ausgeführt. Bei der Ausführung eines Testfalls wird die in den Testfall eingefügte Vorschrift zum Setzen von Variablen ausgeführt. Geprüft wird, ob beim Testfall das unerwünschte Ereignis eintritt oder nicht. Diese zusätzlichen Verfahrensschritte führen dazu, daß das technische System systematisch geprüft wird. Zugleich zeigen sie einen Weg auf, den vorgegebenen Fehlerbaum zu überprüfen. Falls das unerwünschte Ereignis bei einem Testfall nicht auftritt, so ist entweder ein hervorrufender Teilbereich falsch festgelegt, oder zum Eintreten des unerwünschten Ereignisses ist eine zusätzliche, im Fehlerbaum nicht benötigte Ursache erforderlich.
  • Im Folgenden wird ein Ausführungsbeispiel der Erfindung anhand der beiliegenden Zeichnungen näher beschrieben. Dabei zeigen:
  • 1 einen Ausschnitt aus einem Fehlerbaum für ein unerwünschtes Ereignis;
  • 2. ein Flußdiagramm für das Ausführungsbeispiel des Verfahrens;
  • 3. die Architektur einer Vorrichtung zum Testen mit den erfindungsgemäß erzeugten Testfällen.
  • Im Ausführungsbeispiel ist das zu testende technische System ein Teilsystem eines Kraftfahrzeuges, z. B. ein elektronisches Steuergerät. Ein vorgegebenes unerwünschtes Ereignis ist das selbständige und ungewollte Bremsen des Kraftfahrzeuges.
  • Die Fehlerbaumanalyse ist aus DIN 25424-1 und DIN IEC 61025 bekannt. Sie wird in dem Ausführungsbeispiel durchgeführt und liefert einen Fehlerbaum, der dem erfindungsgemäßen Verfahren vorgegeben wird.
  • Ein Verfahren und ein System zur Erzeugung eines Fehlerbaums sind auch aus WO 00/73903 A2 bekannt. Zunächst werden Fehler am technischen System beschrieben. Hierbei werden die Auftrittshäufigkeit und die Vermeidens- und die Entdeckungsmaßnahmen für den Fehler festgelegt. Danach wird eine Fehler-Möglichkeits- und -Effekt-Analyse (FMEA) durchgeführt. Anschließend werden kausale Zusammenhänge zwischen den möglichen Fehlern ermittelt. Ein Fehlerbaum wird mit Hilfe der Fehlerbeschreibungen und der FMEA erzeugt.
  • In Chr. Becker, H.-G. Schecker: „Aufarbeitung von Fließbildinformationen für die Zuverlässigkeitsanalyse technischer Anlagen und ihre Umsetzung in einen Fehlerbaum", verfügbar un ter http://eldorado.uni-dortmund.de:8080/FB4/sfb531/1998/reiheCI52/ci52.pdf, abgefragt am 4. 11. 2003, wird eine Vorgehensweise vorgestellt, um einen Fehlerbaum für ein technisches System, z. B. eine Anlage, zu erzeugen. Der Fehlerbaum wird aus Fehlerbäumen für die in der Anlage auftretenden Komponenten und einem Fließbild für die Anlage erzeugt.
  • Das erfindungsgemäße Verfahren erzeugt Testfälle aus einem Fehlerbaum, der bevorzugt wie in DIN 25424-1 und DIN IEC 61025 spezifiziert aufgebaut ist. Die aus WO 00/73903 A2 und aus Becker & Schecker, a.a.O. bekannten Verfahren liefern einen Fehlerbaum, der sich für die Erzeugung von Testfällen verwenden läßt.
  • 1 zeigt beispielhaft einen Ausschnitt aus einem Fehlerbaum 10 für das unerwünschte Ereignis „Fahrzeug bremst selbständig". Dieser Fehlerbaum 10 wird im Folgenden von oben nach unten erläutert, also ausgehend von der Wurzel 100, die das unerwünschte Ereignis repräsentiert.
  • Drei Fehler vermögen – jeder für sich – das unerwünschte Ereignis „Fahrzeug bremst selbständig" auszulösen, nämlich „Hinterachse bremst selbständig", „Vorderachse bremst selbständig" und „Batteriespannung erheblich zu gering". Natürlich kann auch ein gleichzeitiges Auftreten mehrerer dieser Fehler das unerwünschte Ereignis auslösen. Die drei Knoten 110, 111 und 112 für „Hinterachse bremst selbständig", „Vorderachse bremst selbständig" bzw. „Batteriespannung erheblich zu gering" werden im Fehlerbaum 10 als Nachfolger der Wurzel 100 eingetragen. Weil jeder Fehler für sich das unerwünschte Ereignis auslösen kann, wird ein Symbol für eine Oder-Verknüpfung eingetragen.
  • Der Fehler „Hinterachse bremst selbständig" wird von einem der drei Fehler „Rad hinten links bremst selbständig", „Rad hinten rechts bremst selbständig" und „starker Druckabfall in Bremsleitung hinten" ausgelöst. Daher werden drei Knoten 120, 121 und 122 für die drei Fehler „Rad hinten links bremst selbständig", „Rad hinten rechts bremst selbständig" bzw. „starker Druckabfall in Bremsleitung hinten" erzeugt und als Nachfolger des Knotens 110 für „Hinterachse bremst selbständig" in den Fehlerbaum 10 eingetragen und über ein Symbol für eine Oder-Verknüpfung mit dem Knoten 110 für „Hinterachse bremst selbständig" verbunden.
  • Damit der Fehler „Rad hinten rechts bremst selbständig" auftreten kann, müssen drei Fehler gleichzeitig aufgetreten sein. Diese drei Fehler werden als Ursachen behandelt, also als Fehler, die nicht auf andere Fehler zurückgeführt werden. Die drei auslösenden Ursachen sind: „ABS hinten rechts defekt", „ESP hinten rechts defekt" und „Sensor hinten rechts defekt". ABS bedeutet Anti-Blockier-System, ESP Elektronisches Stabilitäts-Programm. Für diese drei Ursachen werden drei Blätter 130, 131 und 132 des Fehlerbaums 10 erzeugt und als Nachfolger des Knotens 121 für „Rad hinten rechts bremst selbständig" eingetragen. Weil diese drei Ursachen nur gemeinsam ein selbständiges Bremsen des Rades hinten rechts auslösen können, werden sie durch ein Symbol für eine Und-Verbindung mit dem Knoten verbunden.
  • Entsprechend wird der Fehler „Rad hinten links bremst selbständig" durch das gleichzeitige Auftreten dreier Ursachen ausgelöst.
  • Der Fehler „Batteriespannung erheblich zu gering" ist ebenfalls eine Ursache und wird im Fehlerbaum 10 durch das Blatt 112 repräsentiert.
  • Die in 1 nicht gezeigten Teile des Fehlerbaums 10 sind durch Dreiecke angedeutet. Ursachen sind durch einen Kreis unter dem Rechteck als dem Symbol für Eingang hervorgehoben.
  • Insgesamt umfaßt der Fehlerbaum 10
    • – eine Wurzel 100 für das unerwünschte Ereignis „Fahrzeug bremst selbständig",
    • – sechs Knoten 110, 111, 120, 121, ... für die sechs Folgefehler „Hinterachse bremst selbständig", „Vorderachse bremst selbständig", „Rad hinten links bremst selbständig", „Rad hinten rechts bremst selbständig", „Rad vorne links bremst selbständig" und „Rad vorne rechts bremst selbständig" und
    • – fünfzehn Blätter 112, 122, 130, 131, 132, ... für die fünfzehn Ursachen „Batteriespannung erheblich zu gering", „ABS hinten links defekt", „ESP hinten links defekt", „Sensor hinten links defekt", „ABS hinten rechts defekt", ..., ", „Sensor vorne rechts defekt", „starker Druckabfall in Bremsleitung hinten" und „starker Druckabfall in Bremsleitung vorne".
  • Z. B. aus Betriebsprotokollen oder Spezifikationen werden anschließend Auftritts-Wahrscheinlichkeiten für die Ursachen ermittelt oder vorgegeben. Die Auftritts-Wahrscheinlichkeit eines Fehlers beschreibt, wie oft der Fehler pro Lebensdauermerkmal auftritt, z. B. Anzahl pro Zeiteinheit oder pro Entfernungseinheit oder pro Schaltvorgang während der Lebensdauer. Auftritts-Wahrscheinlichkeiten für die resultierenden Fehler werden aus den Auftritts-Wahrscheinlichkeiten für die Ursachen berechnet. Hierbei wird davon ausgegangen, daß jede Ursache unabhängig von jeder anderen Ursache auftritt, so daß statistische Unabhängigkeit gegeben ist.
  • Für die Ursache „Batteriespannung erheblich zu gering" wird die Auftritts-Wahrscheinlichkeit 8·10^–1 ermittelt, für die Ursachen „starker Druckabfall in Bremsleitung hinten" und „starker Druckabfall in Bremsleitung vorne" als Auftritts-Wahrscheinlichkeit 2·10^–1 und für jede andere Ursache 5 10^–1. Seien A 1, A 2 und A 3 die drei Ursachen „ABS hinten links defekt", „ESP hinten links defekt" und „Sensor hinten links defekt". Sei B 1 der Fehler „Rad hinten links bremst selbständig". Wegen der statistischen Unabhängigkeit gilt: P(B 1) = P(A 1 und A 2 und A 3) = P(A 1)·P(A 2)·P(A 3)= (5·10^–1)·(5·10^ – 1)·(5·10^–1) = 1,25·10^–1.
  • Die Auftritts-Wahrscheinlichkeiten von „Rad hinten rechts bremst selbständig", „Rad vorne links bremst selbständig" und „Rad vorne rechts bremst selbständig" betragen ebenfalls jeweils 1,25·10^–1.
  • Seien B 2 der Fehler „Rad hinten rechts bremst selbständig", B_3 die Ursache „starker Druckabfall in Bremsleitung hinten" und C der Fehler „Hinterachse bremst selbständig". Wegen der Unabhängigkeit gilt P (C) = P(B_1 oder B_2 oder B_3)= P(B_1) + P(B_2) + P(B_3) – P(B_1 und B_2) – P(B_1 und B_3) – P(B_2 und B_3)= P(B_1) + P(B_2) + P(B_3) – P(B_1)·P(B_2) – P(B_1)·P(B_3) – P(B_2)·P(B_3)= 1,25·10^–1 + 1,25·10^–1 + 2·10^–1 – 1,25·10^–1·1,25 ·10^–1 – 1,25·10^–1·2·10^–1 – 1,25·10^–1·2·10^–1 = 5,515625·10^–1.
  • Als nächstes werden die minimalen Ursachen-Mengen („cut sets") ermittelt. Ermittelt wird dabei jede Ursache, die alleine das unerwünschte Ereignis auslösen kann, und jede Kombination von Ursachen, die nur gemeinsam das unerwünschte Ereignis auslösen können.
  • Die allein das unerwünschte Ereignis auslösenden Ursachen und die gemeinsam auslösenden Ursachen-Kombinationen werden wie folgt berechnet: Aus dem Fehlerbaum wird automatisch ein logischer Ausdruck für das Auftreten des unerwünschten Ereignisses abgeleitet. Dieser logischer Ausdruck ist eine logische Verknüpfung von Ursachen. Der logische Ausdruck wird automatisch in eine disjunktive Normalform, das ist eine Oder- Verknüpfung von Ursachen und/oder von Und-Verknüpfungen von Ursachen, umgeformt. Zum Umformen wird beispielsweise das Verfahren von Quine und McCluskey angewendet. Diese Ursachen und/oder von Und-Verknüpfungen von Ursachen sind genau die allein auslösenden Ursachen und die gemeinsam auslösenden Ursachen-Kombinationen.
  • Im vorliegenden Beispiel sind die minimalen Ursachen-Mengen die folgenden vier Ursachen-Kombinationen:
    {„ABS hinten links defekt", „ESP hinten links defekt", „Sensor hinten links defekt"}
    {„ABS hinten rechts defekt", „ESP hinten rechts defekt", „Sensor hinten rechts defekt"}
    {„ABS vorne links defekt", „ESP vorne links defekt", „Sensor vorne links defekt"}
    {„ABS vorne rechts defekt", „ESP vorne rechts defekt", „Sensor vorne rechts defekt"}
    sowie die folgenden drei allein auslösenden Ursachen
    „starker Druckabfall in Bremsleitung hinten",
    „starker Druckabfall in Bremsleitung vorne",
    „Batteriespannung erheblich zu gering".
  • Das unerwünschte Ereignis tritt gemäß des Fehlerbaums 10u. a. dann ein – oder kann wenigstens eintreten – wenn die Ursache „Batteriespannung erheblich zu gering" aufgetreten ist oder wenn die drei Ursachen „ABS vorne rechts defekt", „ESP vorne rechts defekt", „Sensor vorne rechts defekt" gemeinsam aufgetreten sind.
  • Vorgegeben ist in diesem Beispiel als untere Schranke eine Mindest-Wahrscheinlichkeit von 10^–2 für die Auftritts-Wahrscheinlichkeit von Ursachen-Kombinationen. Nur solche Ursachen und Ursachen-Kombinationen werden berücksichtigt, die das unerwünschte Ereignis auslösen können und eine Auftritts-Wahrscheinlichkeit von mindestens 10^–2 besitzen. Die Auftritts-Wahrscheinlichkeit von
    {„ABS hinten links defekt", „ESP hinten links defekt", „Sensor hinten links defekt"}
    beträgt P(A_1 und A_2 und A_3) = P(A_1)·P(A_2)·P(A_3) = 1,25·10^–1 und ist größer als 10^–2. Alle vier Ursachen-Kombinationen werden also berücksichtigt, genauso alle drei allein auslösenden Ursachen.
  • Die Erzeugung von Testfällen wird in diesem Ausführungsbeispiel mit den folgenden beiden Zielen durchgeführt: Durch Ausführung der Testfälle soll geprüft werden,
    • – ob jede Ursache und jede Ursachen-Kombination, die gemäß dem Fehlerbaum 10 das unerwünschte Ereignis auslöst, tatsächlich das unerwünschte Ereignis auslösen kann und
    • – ob jede Ursachen-Kombination tatsächlich eine minimale Kombination ist oder ob bereits eine echte Teilmenge einer Ursachen-Kombination ausreicht, um das unerwünschte Ereignis auszulösen.
  • Den fünfzehn Ursachen werden die fünfzehn Variablen
    • – Zustand ABS hinten links,
    • – Zustand ESP hinten links,
    • – Zustand Sensor hinten links,
    • – Zustand ABS hinten rechts,
    • – ...
    • – Zustand Sensor vorne rechts,
    • – Batteriespannung,
    • – Druck in Bremsleitung hinten,
    • – Druck in Bremsleitung vorne
    zugeordnet. Die ersten zwölf Variablen haben jeweils den Wertebereich {0, 1}. „Zustand ABS hinten links" = 0 bedeutet: Die Ursache „ABS hinten links defekt" ist aufgetreten, „Zustand ABS hinten links" = 1 bedeutet, daß diese Ursache nicht aufgetreten ist. Die letzten drei Variablen sind stetige Variablen.
  • Zunächst wird festgelegt, welcher Teilbereich des Wertebereichs die jeweilige Ursache hervorruft. Für die zwölf diskreten Variablen ist dies jeweils der Teilbereich mit dem einzigen Wert 0. Für die drei stetigen Variablen werden folgende hervorrufende Teilbereiche festgelegt:
    • – für „starker Druckabfall in Bremsleitung hinten" der aus mehreren Zahlen bestehende Teilbereich 0 bar bis 80 bar aus dem Wertebereich 0 bar – 160 bar des Wertebereichs der Variablen „Druck in Bremsleitung hinten",
    • – für „starker Druckabfall in Bremsleitung vorne" der aus mehreren Zahlen bestehende Teilbereich 0 bar bis 80 bar aus dem Wertebereich 0 bar – 160 bar des Wertebereichs der Variablen „Druck in Bremsleitung vorne",
    • – für „Batteriespannung erheblich zu gering" der aus mehreren Zahlen bestehende Teilbereich 0V bis 11,5V aus dem Wertebereich 0V bis 20V des Wertebereichs der Variablen „Batteriespannung".
  • Als nächstes werden Werte aus dem hervorrufenden Teilbereich und mindestens ein Wert des Wertebereichs, der nicht im hervorrufenden Teilbereich liegt, ausgewählt. Folgende Werte werden ausgewählt:
    • – für die Variable „Druck in Bremsleitung hinten" die Werte 0 bar (kleinster Wert), 40 bar (Wert in der Mitte) und 80 bar (größter Wert) aus dem hervorrufenden Teilbereich und 100 bar aus dem verbleibenden Rest des Wertebereichs,
    • – für die Variable „Druck in Bremsleitung vorne" ebenfalls die Werte 0 bar, 40 bar und 80 bar bzw. 100 bar,
    • – für die Variable „Batteriespannung" die Werte 0V, 5,75V und 11,5V aus dem hervorrufenden Teilbereich und 12 V aus dem verbleibenden Rest des Wertebereichs.
  • Testfälle werden wie im Folgenden beschreiben erzeugt. Jeder Testfall weist den fünfzehn Variablen je einen Wert, also den ersten zwölf Variablen 0 oder 1 und den anderen eine Zahl aus dem jeweiligen Wertebereich 0 bar bis 160 bar bzw. 0 V bis 20 V, zu.
    {„ABS hinten links defekt", „ESP hinten links defekt", „Sensor hinten links defekt"}
    ist gemäß dem Fehlerbaum 10 eine minimale Ursachen-Menge. Daher wird als ein Testfall der mit den folgenden Wertebelegungen erzeugt:
    • – Zustand ABS hinten links = 0,
    • – Zustand ESP hinten links = 0,
    • – Zustand Sensor hinten links = 0,
    • – Zustand ABS hinten rechts = 1,
    • – ...
    • – Zustand Sensor vorne rechts = 1,
    • – Druck in Bremsleitung hinten = 100 bar,
    • – Druck in Bremsleitung vorne = 100 bar,
    • – Batteriespannung = 12 V.
  • Weiterhin soll getestet werden, ob die Ursachen-Kombination {„ABS hinten links defekt", „ESP hinten links defekt", „Sensor hinten links defekt"}
    tatsächlich minimal ist oder ob es eine echte Teilmenge mit Ursachen gibt, die das unerwünschte Ereignis auslösen kann.
  • Die Ursachen-Kombination hat folgende sechs echte nichtleere Teilmengen:
    {„ABS hinten links defekt", „ESP hinten links defekt"},
    {„ABS hinten links defekt", „Sensor hinten links defekt"},
    {„ESP hinten links defekt", „Sensor hinten links defekt"},
    {„ABS hinten links defekt"},
    {„ESP hinten links defekt},
    {„Sensor hinten links defekt"}.
  • Aus diesen sechs Teil-Kombinationen werden sechs Testfälle erzeugt. Aus der ersten Teil-Kombination wird folgender Testfall erzeugt:
    • – Zustand ABS hinten links = 0,
    • – Zustand ESP hinten links = 0,
    • – Zustand Sensor hinten links = 1,
    • – Zustand ABS hinten rechts = 1,
    • – ...
    • – Zustand Sensor vorne rechts = 1,
    • – Druck in Bremsleitung hinten = 100 bar,
    • – Druck in Bremsleitung vorne = 100 bar,
    • – Batteriespannung = 12 V.
  • Aus der zweiten Teil-Kombination wird folgender Testfall erzeugt
    • – Zustand ABS hinten links = 0,
    • – Zustand ESP hinten links = 1,
    • – Zustand Sensor hinten links = 0,
    • – Zustand ABS hinten rechts = 1,
    • – ...
    • – Zustand Sensor vorne rechts = 1.
    • – Druck in Bremsleitung hinten = 100 bar,
    • – Druck in Bremsleitung vorne = 100 bar,
    • – Batteriespannung = 12 V,
  • Insgesamt werden aus der Ursachen-Kombination
    {„ABS hinten links defekt", „ESP hinten links defekt", „Sensor hinten links defekt"}
    1 + 3 + 3 = 7 Testfälle erzeugt. Aus den vier Ursachen-Kombinationen werden demnach 4·7 = 28 Testfälle erzeugt.
  • Für die drei Ursachen-Mengen mit je einer Ursache werden Testfälle wie im Folgenden beschrieben erzeugt. Für die Ursachen-Menge {„starker Druckabfall in Bremsleitung hinten"} werden folgende drei Testfälle erzeugt:
  • 1. Testfall:
    • – Zustand ABS hinten links = 1,
    • – Zustand ESP hinten links = 1,
    • – Zustand Sensor hinten links = 1,
    • – Zustand ABS hinten rechts = 1,
    • – ...
    • – Zustand Sensor vorne rechts = 1,
    • – Druck in Bremsleitung hinten = 0 bar,
    • – Druck in Bremsleitung vorne = 100 bar,
    • – Batteriespannung = 12 V,
  • 2. Testfall:
    • – Zustand ABS hinten links = 1,
    • – Zustand ESP hinten links = 1,
    • – Zustand Sensor hinten links = 1,
    • – Zustand ABS hinten rechts = 1,
    • – ...
    • – Zustand Sensor vorne rechts = 1,
    • – Druck in Bremsleitung hinten = 40 bar,
    • – Druck in Bremsleitung vorne = 100 bar,
    • – Batteriespannung = 12 V,
  • 3. Testfall:
    • – Zustand ABS hinten links = 1,
    • – Zustand ESP hinten links = 1,
    • – Zustand Sensor hinten links = 1,
    • – Zustand ABS hinten rechts = 1,
    • – ...
    • – Zustand Sensor vorne rechts = 1,
    • – Druck in Bremsleitung hinten = 40 bar,
    • – Druck in Bremsleitung vorne = 80 bar,
    • – Batteriespannung = 12 V.
  • Für die Ursachen-Menge {„starker Druckabfall in Bremsleitung vorne"} werden entsprechend folgende drei Testfälle erzeugt:
  • 1. Testfall:
    • – Zustand ABS hinten links = 1,
    • – Zustand ESP hinten links = 1,
    • – Zustand Sensor hinten links = 1,
    • – Zustand ABS hinten rechts = 1,
    • – ...
    • – Zustand Sensor vorne rechts = 1,
    • – Druck in Bremsleitung hinten = 100 bar,
    • – Druck in Bremsleitung vorne = 0 bar,
    • – Batteriespannung = 12 V.
  • 2. Testfall:
    • – Zustand ABS hinten links = 1,
    • – Zustand ESP hinten links = 1,
    • – Zustand Sensor hinten links = 1,
    • – Zustand ABS hinten rechts = 1,
    • – ...
    • – Zustand Sensor vorne rechts = 1,
    • – Druck in Bremsleitung hinten = 100 bar,
    • – Druck in Bremsleitung vorne = 40 bar,
    • – Batteriespannung = 12 V.
  • 3. Testfall:
    • – Zustand ABS hinten links = 1,
    • – Zustand ESP hinten links = 1,
    • – Zustand Sensor hinten links = 1,
    • – Zustand ABS hinten rechts = 1,
    • – ...
    • – Zustand Sensor vorne rechts = 1,
    • – Druck in Bremsleitung hinten = 100 bar,
    • – Druck in Bremsleitung vorne = 80 bar,
    • – Batteriespannung = 12 V.
  • Für die Ursachen-Menge {„Batteriespannung erheblich zu gering"} werden folgende Testfälle erzeugt:
  • 1. Testfall:
    • – Zustand ABS hinten links = 1,
    • – Zustand ESP hinten links = 1,
    • – Zustand Sensor hinten links = 1,
    • – Zustand ABS hinten rechts = 1,
    • – ...
    • – Zustand Sensor vorne rechts = 1,
    • – Druck in Bremsleitung hinten = 100 bar,
    • – Druck in Bremsleitung vorne = 100 bar,
    • – Batteriespannung = 0 V.
  • 2. Testfall:
    • – Zustand ABS hinten links = 1,
    • – Zustand ESP hinten links = 1,
    • – Zustand Sensor hinten links = 1,
    • – Zustand ABS hinten rechts = 1,
    • – ...
    • – Zustand Sensor vorne rechts = 1,
    • – Druck in Bremsleitung hinten = 100 bar,
    • – Druck in Bremsleitung vorne = 100 bar,
    • – Batteriespannung = 5,75 V.
  • 3. Testfall:
    • – Zustand ABS hinten links = 1,
    • – Zustand ESP hinten links = 1,
    • – Zustand Sensor hinten links = 1,
    • – Zustand ABS hinten rechts = 1,
    • – ...
    • – Zustand Sensor vorne rechts = 1,
    • – Druck in Bremsleitung hinten = 100 bar,
    • – Druck in Bremsleitung vorne = 100 bar,
    • - Batteriespannung = 11,5 V.
  • Im folgenden wird das Verfahren an einem weiteren Beispiel erläutert. Gemäß dem Fehlerbaum wird das unerwünschte Ereignis „Notabschaltung durch ein Steuergerät" dadurch ausgelöst, daß folgende Ursachen gleichzeitig auftreten:
    • – U_1: „Fehlermeldung von Fahrdynamik-Steuergerät"
    • – U_2: „Zündstrom zu gering"
    • – U_3: „Bordspannung vom Soll unkritisch abweichend"
  • Der Ursache „Fehlermeldung von Fahrdynamik-Steuergerät" ist die Variable Var_1 = „Fehlercodes" mit dem Wertebereich {0, 1, 2, 3, 4, 5, 6} zugeordnet. Der diese Ursache hervorrufende Teilbereich ist die Menge {1, 2, 3}. Aus dem hervorrufenden Teilbereich werden die Werte 1 und 3 ausgewählt, aus der Differenzmenge die Werte 0 und 4.
  • Der Ursache „Zündstrom zu gering" ist die Variable Var_2 = „Zündstrom" mit dem Wertebereich 0 mA bis 50 mA zugeordnet. Der hervorrufende Teilbereich ist 10 mA bis 20 mA. Bei einem Zündstrom unter 10 mA liegt die Ursache „Zündstrom ausgefallen" vor, ein Zündstrom über 20 mA ist ausreichend groß. Aus dem hervorrufenden Teilbereich werden der kleinste und der größte Wert, also die Werte 10 und 20 ausgewählt, aus der Differenzmenge die Werte 9 und 21, also Werte, die um 1 mA kleiner bzw. größer sind.
  • Der Ursache „Bordspannung vom Soll unkritisch abweichend" ist die Variable Var_3 = „Bordspannung" mit dem Wertebereich 0V bis 80V zugeordnet. Der diese Ursache hervorrufende Teilbereich besteht aus den beiden Intervallen 20V bis 30V und 40V bis 50V. Die Bordspannung liegt im Sollbereich, wenn sie zwischen 30 V und 40 V liegt. Sie ist kritisch abweichend, wenn sie kleiner als 20 V oder größer als 50 V ist. Aus dem hervorrufenden Teilbereich werden die Werte 20, 30, 40 und 50 ausgewählt, aus der Differenzmenge die Werte 19, 31, 39 und 51, also Werte, die um 1 V kleiner bzw. größer sind.
  • Fehlerfälle werden für die sechs echten nichtleeren Teilmengen TM_1, ..., TM_6 von {U_1, U_2, U_3} erzeugt, also für:
    TM_1: {U_3}
    TM_2: {U_2}
    TM_3: {U_2, U_3}
    TM_4: {U_1}
    TM_5: {U_1, U_3}
    TM_6: {U_1, U_2}
  • Für TM_1 werden Testfälle erzeugt, die folgende Zuweisungs-Vorschriften umfassen:
    Figure 00220001
    Figure 00230001
  • Für TM_2 werden Testfälle erzeugt, die folgende Zuweisungs-Vorschriften umfassen:
    Figure 00230002
  • Für TM_3 werden Testfälle erzeugt, die folgende Zuweisungs-Vorschriften umfassen:
    Figure 00230003
    Figure 00240001
  • Für TM_4 werden Testfälle erzeugt, die folgende Zuweisungs-Vorschriften umfassen:
    Figure 00240002
    Figure 00250001
  • Für TM_5 werden Testfälle erzeugt, die folgende Zuweisungs-Vorschriften umfassen:
    Figure 00250002
    Figure 00260001
  • Für TM_6 werden Testfälle erzeugt, die folgende Zuweisungs-Vorschriften umfassen:
    Figure 00260002
  • 2 zeigt ein Flußdiagramm für das Ausführungsbeispiel des Verfahrens. Vorgegeben sind der Fehlerbaum 10 sowie die Menge der im Fehlerbaum 10 berücksichtigten Ursachen. Diese Menge besteht aus den r Ursachen U_1, ...,U_r.
  • Im Schritt S_1 werden die r Variablen Var_1, ..., Var_r ermittelt, die den r berücksichtigten Ursachen U_1, ..., U_r zugeordnet sind, die Wertebereiche W_1, ..., W_r dieser r Ursachen sowie die r Teilbereiche T_1, ..., T_r dieser r Wertebereiche, die die r Ursachen hervorrufen. Für i = 1, ..., r ruft also der Teilbereich T_i die Ursache U_i hervor. Aus den r hervorrufenden Teilbereichen T_1, ..., T_r wird je ein Wert ausgewählt, insgesamt also die r Werte y_1, ..., y_r. Aus den r Differenzmengen W_1\T_1, ..., W_r\T_r werden ebenfalls r Werte z_1, ..., z_r ausgewählt.
  • Im Schritt S2 wird der Fehlerbaum 10 ausgewertet, und diejenigen m Ursachen U_x_1, ..., U_x_m werden ermittelt, die alleine das unerwünschte Ereignis auslösen. Weiterhin werden die n Kombination UM_1, ..., UM_n derjenigen Ursachen ermittelt, die jeweils gemeinsam das unerwünschte Ereignis auslösen.
  • Für i = 1,...,m wird der Schritt S3 durchgeführt. Im Schritt S3 wird ein Testfall 20 für die Ursache U_x_i erzeugt. Dieser Testfall 20 weist der Variablen Var_x_i, die der Ursache U_x_i zugeordnet ist, den Wert y_x_i und jeder anderen Variablen Var_j (j = 1, ..., r und j # x_i) den Wert z_j zu.
  • Für i = 1, ..., n wird der Schritt 54 durchgeführt. Im Schritt S4 wird ein Testfall 30 für die Ursachen-Kombination UM i erzeugt. Seien U_x_1(i), ..., U_x_k(i) die k Ursachen, aus denen UM_i besteht, seien Var_x_1(i), ..., Var_x_k(i) die k Variablen, die diesen k Ursachen zugeordnet sind. Der erzeugte Testfall 30 weist der Variablen Var_x_1(i) den Wert y_x_1(i) aus dem Teilbereich, der U_x_1(i) hervorruft, zu, der Variablen Var_x_2(i) den Wert y_x_2(i) und so fort bis zur Variablen Var_x_k(i), welcher der Testfall 30 den Wert y_x_k(i) zuordnet.
  • Jeder übrigen Variable Var_j (j = 1, ..., r und j # x_1(i) und ... und j # x_k(i)) weist der Testfall 30 den Wert z_j zu.
  • Anschließend werden im Schritt S5 alle nichtleeren echten Teilmengen von UM_i ermittelt. Seien UM_x_1(i), ..., UM_x_1(i) die 1(i) nichtleeren Teilmengen von UM_i. Für j=1,...,1(i) wird im Schritt S6 folgendes gemacht: Seien U_x_1(j), ..., U_x_s(j) die s Ursachen, aus denen die Teilmenge UM_x_j(i) von UM_i besteht. Seien Var_x_1(j), ..., Var_x_1(j) die s Variablen, die diesen s Ursachen zugeordnet sind. Im Schritt S6 wird ein Testfall 40 für die Teilmenge UM_x_j(i) erzeugt. Der erzeugte Testfall 40 weist der Variablen Var_x_1(j) den Wert y_x_1(j) aus dem Teilbereich, der U_x_1(j) hervorruft, zu, der Variablen Var_x_2(j) den Wert y_x_2(i) und so fort bis zur Variablen Var_x_s(j), welcher der Testfall 40 den Wert y_x_s(j) zuordnet. Jeder übrigen Variable Var_p (p = 1, ..., r und p # x_1(j) und ... und p # x_k(j)) weist der Testfall 40 den Wert z_p zu.
  • 3 zeigt die Architektur einer Vorrichtung, die mit den erfindungsgemäß erzeugten Testfällen das Steuergerät 3 als dem zu testenden technischen System testet.
  • Zum Testen wird ein Testausführer 1 verwendet, das ist ein Gerät, das eine Hardware-Schnittstelle 2 besitzt, die über einen Datenbus 19 mit dem zu testenden Steuergerät 3 über dessen Hardware-Schnittstellen 4 verbunden ist. Beispiele für die Datenformate derartiger Hardware-Schnittstellen sind Datenbus-Formate, z. B. CAN, MOST, LIN, sowie digitale und analoge Datenformate. Die Schnittstelle kann Analog-/Digital-Wandler und/oder Digital-/Analog-Wandler umfassen. Damit wird ein Testen nach dem Prinzip „hardware in the loop" (HIL) realisiert.
  • Der Testausführer 1 ist weiterhin über einen Datenbus 10, vorzugsweise einem Ethernet-Datenbus, mit einer Testumgebung 7 verbunden. Diese Testumgebung 7 umfaßt eine Datenverarbeitungseinrichtung und einen auf dieser Datenverarbeitungsein richtung ablaufenden Simulator. Die Testumgebung 7 simuliert die Umgebung des zu testenden Steuergeräts 3, z. B. die vom Steuergerät 3 überwachten und geregelten weiteren Teilsysteme des Kraftfahrzeugs oder die Umgebung des Kraftfahrzeugs oder einen Fahrer, der Stelleingriffe am Kraftfahrzeug vornimmt. Die Testumgebung 7 fungiert als Widerpart des zu testenden Steuergeräts 3 und löst z. B. Ereignisse aus, die das zu testende Steuergerät 3 erkennen und darauf adäquat reagieren soll. Beim Test wird geprüft, ob das Steuergerät 3 tatsächlich so reagiert wie spezifiziert oder nicht.
  • Die Testfälle, mit denen das Steuergerät 3 des Kraftfahrzeugs getestet wird, sind in einem Datenspeicher 8 abgespeichert. Dieser Datenspeicher 8 für Testfälle umfaßt mindestens einer Datei, eine Datenbank oder eine andere Form eines Datenspeichers eines Arbeitsplatzrechners 11. Im Beispiel der 3 sind die Testfälle in Form einer Tabelle in einer Datei abgespeichert. Auf dem Arbeitsplatzrechner 11 ist weiterhin ein Softwaresystem abgespeichert. Dieses Softwaresystem, der Testplaner 9, hat Lesezugriff auf die Testfall-Datei 8 und ist mit dem Testausführer 1 über einen Datenbus 12 verbunden. Dieser Datenbus 12 ist vorzugsweise als Ethernet-Datenbus mit 100 MBit/sec realisiert. Der Testplaner 9 wählt automatisch einmal oder wiederholt Testfälle in der Testfall-Datei 8 aus, bringt die ausgewählten Testfälle in eine Reihenfolge, löst die Ausführung der Testfälle in dieser Reihenfolge aus und wertet die Ergebnisse aus. Als Testplaner 9 läßt sich z. B. „Teststand" verwenden, das unter http://www.ni.com/products beschrieben ist.
  • In einem Datenspeicher 17 sind Beschreibungen von Variable des Steuergeräts 3 abgespeichert. Welche Variablen im Datenspeicher 17 abgespeichert werden, wird durch die Hardware-Schnittstelle 2 des Testausführers 1 festgelegt. Die Testfälle, die der Testplaner 9 im Datenspeicher 8 ausgewählt hat, werden durch ein Umwandlungsprogramm 16 in die Form gebracht, in die der Testausführer 1 sie benötigt. Hierbei erzeugt das Umwandlungsprogramm 16 eine Ablaufbeschreibung des jeweils ausgewählten Tests. Das Umwandlungsprogramm 16 liefert seine Ergebnisse an einen Steller 6. Dieser Steller 6 entscheidet, welche Variablen und sonstigen Größen beim Transfer zwischen der Testumgebung 7 und dem Multiplexer 5 verändert werden, und führt die Veränderung durch. Der Multiplexer 5 fungiert als Nachrichtenübermittlungskanal zwischen Testausführer 1 und Steuergerät 3 sowie zwischen Testausführer 1 und Testumgebung 7. Im Datenspeicher 17 für Variablenbeschreibungen ist festgelegt, wie diese Veränderung vorgenommen wird, z. B. durch Vorgabe von Ausgangs- und Ziel-Datenformat.
  • Welche Werte von im Datenspeicher 17 beschriebenen Variablen während der Testausführung gemessen oder berechnet werden, wird in einem Datenspeicher 18 für Variablenwerte abgespeichert. Dieser Datenspeicher 18 enthält den jeweils zuletzt gesetzten oder gemessenen Wert einer Variable. Der Testplaner 9 hat Lesezugriff auf diesen Datenspeicher 18 und wählt vorzugsweise Testfälle in Abhängigkeit von Variablenwerten, die im Datenspeicher 18 abgespeichert sind, aus. Umgekehrt wird im Datenspeicher 18 abgespeichert, welche Variablen bei der Testausführung auf welche Werte gesetzt worden sind. Um eine Variable auf einen Wert zu setzen, wird der Variablenwert durch das Umwandlungsprogramm 16 umgeformt und über den Multiplexer 5 an den Testausführer 1 gesandt. Dieser spricht über seine eigene Hardware-Schnittstelle 2 die Hardware-Schnittstelle 4 des zu testenden Steuergeräts 3 an, um die Variable zu setzen. Das Umwandlungsprogramm 16 wandelt die gemessenen Variablenwerte in die Form um, in der sie im Datenspeicher 18 abgespeichert werden.
  • Welche Werte von Variablen zu welchen Abtastzeitpunkten gemessen wurden, wird protokolliert und vom Testplaner 9 in einem Datenspeicher 15 für Betriebsprotokolle abgespeichert.
  • Wenigstens einige der Testfälle werden vorzugsweise automatisch erzeugt, vorzugsweise durch Analyse und Auswertung einer Spezifikation des Steuergeräts 3, z. B. durch das in DE 10055679 A1 offenbarte Verfahren. Die Vorrichtung umfaßt weiterhin eine Eingabeeinrichtung 14, um die automatisch erzeugten Testfälle zu überprüfen und bei Bedarf zu ändern sowie um manuell Testfälle zu ergänzen. Diese Eingabeeinrichtung 14 umfaßt eine Tastatur, eine DV-Maus sowie einen Bildschirm und eine Recheneinheit. Sie hat Schreibzugriff auf den Datenspeicher 8 für Testfälle. Falls dieser Datenspeicher 8 die Form einer Tabelle hat, umfaßt die Eingabeeinrichtung 14 vorzugsweise ein Tabellenkalkulationsprogramm.
  • Wie oben beschrieben, werden die Testfälle mit Hilfe einer Testumgebung 7 ausgeführt. Diese Testumgebung 7 umfaßt einen Simulator für die Umgebung des zu testenden Steuergeräts 3. Die Testfälle werden durch die folgende Abfolge ausgeführt:
    • – Die Testumgebung 7 mit dem Simulator wird gestartet und mit dem Testausführer 1 und dem zu testenden Steuergerät 3 synchronisiert.
    • – Nach Abschluß der Synchronisation wird eine Systemuhr 15 vorzugsweise auf dem Testausführer 1 gestartet. Diese Systemuhr 15 mißt das Verstreichen einer vorgegebenen Start-Zeitspanne. Danach wird die Ausführung von Testfällen begonnen.
    • – Der Testplaner 9 wählt Testfälle in der Datei 8 aus und löst deren Ausführung aus.
    • – Die Ausführung eines Testfalls wird beendet, wenn eine ihm zugeordnete logische Abbruchbedingung erfüllt ist oder wenn eine für den Testfall vorgegebene maximale Ausführungs-Zeitspanne verstrichen ist.
    • – Protokolliert wird jeweils das Ergebnis, das die Ausführung des Testfalls erbringt. Der Testplaner 9 schreibt die protokollierten Ergebnisse in einen Datenspeicher 16.
    • – Vorzugsweise wird zusätzlich der zeitliche Verlauf der Variablen, die dem Testfall zugeordnet sind, abgetastet, protokolliert und ebenfalls im Datenspeicher 15 abgespeichert. Der protokollierte und im Datenspeicher 15 abgespeicherte Verlauf wird vorzugsweise z. B. in Form einer Tabelle oder Graph ausgegeben. In der Tabelle oder dem Graphen wird zwischen Eingangs- und Ausgangs-Variablen des Steuergeräts 3 unterschieden.
  • Bezugszeichenliste
    Figure 00320001
  • Figure 00330001

Claims (14)

  1. Verfahren zum automatischen Erzeugen von Testfällen (40) für das Testen eines technischen Systems (3), wobei – mindestens ein im Betrieb des technischen Systems (3) unerwünschtes Ereignis und ein Fehlerbaum (10) für das unerwünschte Ereignis vorgegeben sind, – die Wurzel des Fehlerbaums (10) das unerwünschte Ereignis und die Blätter des Fehlerbaums (10) Ursachen für das unerwünschte Ereignis repräsentieren und – jeder im Fehlerbaum (10) repräsentierten Ursache mindestens eine Variable des technischen Systems (3) und ein das Auftreten der Ursache hervorrufender Teilbereich des Wertebereichs dieser Variablen zugeordnet sind, und das Verfahren folgende Schritte umfaßt, die automatisch unter Verwendung einer Datenverarbeitungsanlage ausgeführt werden: – mit Hilfe des Fehlerbaums (10) Ermitteln mindestens einer Kombination von Ursachen, die gemeinsam das unerwünschte Ereignis auslösen, – Ermitteln jeder nichtleeren Teilmenge der Ursachen-Kombination, – Für jede ermittelte Teilmenge Erzeugen mindestens eines Testfalls (40), wobei für jede Variable, die einer in der Teilmenge enthaltenen Ursache zugeordnet ist, ein Wert aus dem die jeweilige Ursache hervorrufenden Teilbereich und für jede weitere Variable, die einer anderen im Fehlerbaum (10) berücksichtigten Ursache zugeordnet ist, je ein Wert aus der Differenzmenge aus Wertebereich der weiteren Variablen und dem die andere Ursache hervorrufenden Teilbereich ausgewählt wird und eine Vorschrift, daß alle diese Variablen auf die jeweils ausgewählten Werte gesetzt werden, erzeugt und in den Testfall (40) für die Teilmenge eingefügt wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass – mindestens ein Teilbereich, der eine in einer ermittelten Teilmenge enthaltene Ursache hervorruft, mehrere Zahlen umfaßt und – für diese ermittelte Teilmenge ein erster und ein zweiter Testfall erzeugt werden, wobei für die Variable, die der durch den Teilbereich mit den Zahlen hervorgerufenen Ursache zugeordnet ist, die kleinste und die größte Zahl des Teilbereichs ausgewählt werden, eine erste Vorschrift zum Setzen von Variablen auf Werte erzeugt wird, welche die Teilvorschrift umfaßt, daß dieser Variablen der kleinste Wert zugeordnet wird, eine zweite Vorschrift zum Setzen von Variablen auf Werte erzeugt wird, welche die Teilvorschrift umfaßt, daß dieser Variablen der größte Wert zugeordnet wird, in den ersten Testfall die erste Vorschrift eingefügt wird und in den zweiten Testfall die zweite Vorschrift eingefügt wird.
  3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass für jede ermittelte Teilmenge und jede zu einer ermittelten Teilmenge gehörenden Ursache geprüft wird, ob der die Ursache hervorrufende Teilbereich aus mehreren Zahlen besteht, und das Verfahren nach Anspruch 2 für jeden aus Zahlen bestehenden hervorrufenden Teilbereich durchgeführt wird.
  4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass – mindestens eine Differenzmenge aus dem Wertebereich einer Variablen, die einer in einer ermittelten Teilmenge enthaltenen Ursache zugeordnet ist, und dem die Ursache hervorrufenden Teilbereich des Wertebereichs der Variablen aus mehreren Zahlen besteht, – die Differenzmenge in einen ersten und einen zweiten Differenz-Teilbereich unterteilt ist, – für diese ermittelte Teilmenge ein Testfall und ein weiterer Testfall erzeugt werden, wobei aus dem ersten Differenz-Teilbereich ein erster Wert und aus dem zweiten Differenz-Teilbereich ein zweiter Wert ausgewählt werden eine erste Vorschrift zum Setzen von Variablen auf Werte erzeugt wird, welche die Teilvorschrift umfaßt, daß der Variablen, zu deren Wertebereich der Differenz-Teilbereich gehören, der erste Wert zugeordnet wird, eine zweite Vorschrift zum Setzen von Variablen auf Werte erzeugt wird, welche die Teilvorschrift umfaßt, daß dieser Variablen der zweite Wert zugeordnet wird, in den Testfall die erste Vorschrift eingefügt wird und in den weiteren Testfall die zweite Vorschrift eingefügt wird.
  5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass – für jede Ursache eine Auftritts-Wahrscheinlichkeit ermittelt wird oder vorgegeben ist, – die Auftritts-Wahrscheinlichkeit jeder Teilmenge der Ursachen-Kombination als Produkt der Auftritts-Wahrscheinlichkeiten der in der Teilmenge enthaltenen Ursachen berechnet wird und – für eine Teilmenge nur dann ein Testfall (40) erzeugt wird, wenn die Auftritts-Wahrscheinlichkeit der Teilmenge größer oder gleich einer vorgegebenen Mindest-Wahrscheinlichkeit ist.
  6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass – mit Hilfe des Fehlerbaums (10) jede Kombination von Ursachen, die gemeinsam das unerwünschte Ereignis auslösen, ermittelt wird, – für jede ermittelte Ursachen-Kombination alle ihre nicht leeren Teilmengen ermittelt werden und – für jede ermittelte Teilmenge jeder Ursachen-Kombination jeweils mindestens ein Testfall erzeugt wird.
  7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass zusätzlich für mindestens eine Ursache, die allein das unerwünschte Ereignis auslöst, ein Testfall (20) erzeugt wird, wobei – für die Variable, welche der allein auslösende Ursachen zugeordnet ist, ein Wert aus dem die Ursache hervorrufenden Teilbereich – und für jede weitere Variable, die einer anderen Ursache zugeordnet ist, je ein Wert aus der Differenzmenge aus Wertebereich der weiteren Variablen und dem die andere Ursache hervorrufenden Teilbereich ausgewählt wird und – eine Vorschrift, daß alle diese Variablen auf die jeweils ausgewählten Werte gesetzt werden, erzeugt und in den Testfall (20) eingefügt wird.
  8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass zusätzlich für mindestens eine Kombination von Ursachen, die gemeinsam das unerwünschte Ereignis auslösen, ein Testfall (30) erzeugt wird, wobei – für jede Variable, die einer in der Kombination enthaltenen Ursache zugeordnet ist, ein Wert aus dem die jeweilige Ursache hervorrufenden Teilbereich – und für jede weitere Variable, die einer anderen Ursache zugeordnet ist, je ein Wert aus der Differenzmenge aus Wertebereich der weiteren Variablen und dem die andere Ursache hervorrufenden Teilbereich ausgewählt wird und – eine Vorschrift, daß alle diese Variablen auf die jeweils ausgewählten Werte gesetzt werden, erzeugt und in den Testfall (30) eingefügt wird.
  9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass – das technische System aus typisierten Komponenten aufgebaut ist, – für jeden Komponenten-Typ ein Teil-Fehlerbaum vorgegeben ist, – eine rechnerauswertbare Beschreibung des Zusammenwirkens der Komponenten vorgegeben ist und – der Fehlerbaum (10) mit Hilfe der Teil-Fehlerbäume und der Beschreibung des Zusammenwirkens erzeugt wird.
  10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass – für mehrere im Betrieb des technischen Systems (3) unerwünschte Ereignisse jeweils ein Fehlerbaum und für jede in den Fehlerbäumen repräsentierte Ursache eine Variable und ein hervorrufender Teilbereich vorgegeben sind, – mit Hilfe der Fehlerbäume jede Kombination von Ursachen, die gemeinsam eines der unerwünschten Ereignisse auslösen, ermittelt wird, – für jede ermittelte Ursachen-Kombination alle ihre nicht leeren Teilmengen ermittelt werden und – für jede ermittelte Teilmenge jeder Ursachen-Kombination jeweils mindestens ein Testfall erzeugt wird.
  11. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass jeder erzeugte Testfall (10, 20, 30) ausgeführt wird, wobei – die in den Testfall (10, 20, 30) eingefügte Vorschrift zum Setzen von Variablen ausgeführt wird und – geprüft wird, ob beim Testfall (10, 20, 30) das unerwünschte Ereignis eintritt oder nicht.
  12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass – mindestens einem Testfall (10, 20, 30) eine vorgegebene Maximaldauer zugeordnet wird – und die Ausführung des Testfalls (10, 20, 30) abgebrochen wird, wenn das unerwünschte Ereignis aufgetreten ist oder wenn die Ausführungszeit die Maximaldauer erreicht oder überschritten hat.
  13. Computerprogramm-Produkt, das direkt in den internen Speicher eines Computers geladen werden kann und Softwareabschnitte umfaßt, mit denen ein Verfahren nach einem der Ansprüche 1 bis 12 ausgeführt werden kann, wenn das Produkt auf einem Computer läuft.
  14. Computerprogramm-Produkt, das auf einem von einem Computer lesbaren Medium gespeichert ist und das von einem Computer lesbare Programm-Mittel aufweist, die den Computer veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 12 auszuführen.
DE200410007053 2004-02-13 2004-02-13 Verfahren zum Erzeugen von Testfällen Withdrawn DE102004007053A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200410007053 DE102004007053A1 (de) 2004-02-13 2004-02-13 Verfahren zum Erzeugen von Testfällen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200410007053 DE102004007053A1 (de) 2004-02-13 2004-02-13 Verfahren zum Erzeugen von Testfällen

Publications (1)

Publication Number Publication Date
DE102004007053A1 true DE102004007053A1 (de) 2005-09-15

Family

ID=34853450

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200410007053 Withdrawn DE102004007053A1 (de) 2004-02-13 2004-02-13 Verfahren zum Erzeugen von Testfällen

Country Status (1)

Country Link
DE (1) DE102004007053A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004052197A1 (de) * 2004-10-27 2006-05-04 Giesecke & Devrient Gmbh Verfahren zum Testen der Funktion einer datenverarbeitenden Schaltung
US8364626B2 (en) 2007-09-14 2013-01-29 Siemens Aktiengesellschaft Method and device for determining a probability of occurrence by evaluting an overall fault tree
CN110908898A (zh) * 2019-11-06 2020-03-24 贝壳技术有限公司 生成测试方案的方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002013015A1 (de) * 2000-08-09 2002-02-14 Abb Research Ltd. System zur ermittlung von fehlerursachen

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002013015A1 (de) * 2000-08-09 2002-02-14 Abb Research Ltd. System zur ermittlung von fehlerursachen

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004052197A1 (de) * 2004-10-27 2006-05-04 Giesecke & Devrient Gmbh Verfahren zum Testen der Funktion einer datenverarbeitenden Schaltung
US8364626B2 (en) 2007-09-14 2013-01-29 Siemens Aktiengesellschaft Method and device for determining a probability of occurrence by evaluting an overall fault tree
CN110908898A (zh) * 2019-11-06 2020-03-24 贝壳技术有限公司 生成测试方案的方法及系统
CN110908898B (zh) * 2019-11-06 2023-07-21 贝壳找房(北京)科技有限公司 生成测试方案的方法及系统

Similar Documents

Publication Publication Date Title
EP1020815A2 (de) Vorrichtung und Verfahren zur automatischen Diagnose eines technischen Systems mit effizienter Wiederverwendung von Informationen
WO2006133865A1 (de) Dynamische priorisierung von prüfschritten in der werkstattdiagnose
WO2008040641A2 (de) Verfahren und vorrichtung zur fehlerverwaltung
DE102019203251B3 (de) Verfahren und System zur sicheren Signalmanipulation für den Test integrierter Sicherheitsfunktionalitäten
DE102007029116A1 (de) Verfahren zum Betreiben eines Mikrocontrollers und einer Ausführungseinheit sowie ein Mikrocontroller und eine Ausführungseinheit
EP1860565B1 (de) Verfahren zur Funktionsprüfung eines Steuergeräts für ein Kraftfahrzeug
WO2007124961A1 (de) Verfahren zur fehlerbaumanalyse
EP3627324A1 (de) Watchdog zur überwachung eines prozessors
EP1483745A2 (de) Einrichtung und verfahren zur beurteilung und erzielung von sicherheit bei systemen sowie entsprechendes computerprogramm
DE102004007053A1 (de) Verfahren zum Erzeugen von Testfällen
WO2005003972A2 (de) Verfahren zu überprüfung der sicherheit und zuverlässigkeit softwarebasierter elektronischer systeme
WO1998034176A1 (de) Verfahren zur transformation einer zur nachbildung eines technischen prozesses dienenden fuzzy-logik in ein neuronales netz
DE102017113478A1 (de) Verfahren zum Betreiben einer Steuerungseinrichtung für den Betrieb mit einer redundanten Sensorvorrichtung in einem Kraftfahrzeug
DE10315344B4 (de) Verfahren und Vorrichtung zur Erkennung fehlerhafter Komponenten in Fahrzeugen
DE102019113958A1 (de) Verfahren zur Leistungssteigerung eines Fahrzeugsystems mit einem neuronalen Netz zum Steuern einer Fahrzeugkomponente
EP3401849A1 (de) Produktreifebestimmung eines technischen systems
DE102019102299A1 (de) Verfahren und Vorrichtung zum automatisierten Erfassen von Fehlern in Computersystemen
DE102018201710A1 (de) Verfahren und Vorrichtung zum Überprüfen einer Funktion eines neuronalen Netzes
DE102021126271A1 (de) Verfahren und System zur Verknüpfung von Fehlermeldungen
DE102007028721A1 (de) Verfahren und Vorrichtung zur Verifizierung von Funktionsabläufen in einem Steuergerät
DE102004006089A1 (de) Testfälle für eine Testvorrichtung
WO2022161668A1 (de) Formale verifikation eines programms eines steuergeräts
WO1999038024A1 (de) Verfahren zur computergestützten optimierung von prüfspezifikationen und minimierung von prüfsoftware
DE102015223579A1 (de) Verfahren und Vorrichtung zum Überprüfen eines Komponentenfehlerbaums
EP3865962A1 (de) Diagnoseverfahren und diagnoseeinrichtung für eine anlage

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: DAIMLERCHRYSLER AG, 70327 STUTTGART, DE

8127 New person/name/address of the applicant

Owner name: DAIMLER AG, 70327 STUTTGART, DE

8130 Withdrawal