8.4 Entwurf für Testbarkeit
419
• Fehlerinjektion auf Softwareebene: Beispiele sind hier das Kippen von Bits im
Speicher.
Der Testvorgang selbst kann einen Einfluss auf das Verhalten des Systems haben,
z.B. durch eine zusätzliche Strombelastung oder ein geöffnetes Gehäuse. Dieser
Einfluss sollte so gering wie möglich, im besten Fall vernachlässigbar, sein.
Experimente von Kopetz [304] zeigen, dass Software-basierte Fehlerinjektion
in der Tat genauso effektiv wie Hardware-basierte Fehlerinjektion ist. Die einzige
nennenswerte Ausnahme stellt hier nukleare Strahlung dar. Diese erzeugte Fehler,
die mit anderen Methoden nicht erzeugt wurden.
8.4 Entwurf für Testbarkeit
8.4.1 Motivation
Ansätze für die Testmustererzeugung für Boolesche Schaltungen wurden in Unterabschnitt 8.2.1 vorgestellt. Für Schaltungen, die endliche Automaten implementieren,
ist die Testmustererzeugung schwieriger. Der Vergleich, ob zwei endliche Automaten
äquivalent sind, kann komplexere Eingabefolgen erfordern [302].
Beispiel 8.3: Wir betrachten das Zustandsdiagramm in Abb. 2.25, das hier der Übersichtlichkeit halber noch einmal in Abb. 8.4 dargestellt ist: Angenommen, wir möchAbb. 8.4 Zu testender
endlicher Automat
A
B
k
C
i/y
j/z
E
g/w
f/v
D
h/x
ten den Übergang von Zustand C zu Zustand D testen. Dies erfordert, dass wir
zuerst Zustand C durch eine passende Folge von Eingabemustern erreichen. Daraufhin müssen wir das Eingabeereignis i erzeugen und überprüfen, ob die Ausgabe y
erzeugt wird. Außerdem müssen wir überprüfen, ob wir Zustand D erreicht haben.
Dieser Vorgang ist recht kompliziert, braucht eine Menge Zeit und ist anfällig für
die Beeinflussung durch andere auftretende Fehler2.
∇
Dieses Beispiel zeigt: wenn Testen nur im Nachhinein stattfindet, kann es sehr
schwierig sein, ein System zu testen. Um Tests zu vereinfachen, kann spezielle Hardware hinzugefügt werden. Der Vorgang, für bessere Testbarkeit zu entwerfen, nennt
2 Der gesamte Test dieses speziellen Automaten wird dadurch vereinfacht, dass der Automat eine
lineare Kette an Transitionen enthält (siehe auch die Übungsaufgaben zu diesem Kapitel).
Précédent

- 436/485

Suivant