Fehlerabdeckung - Fault coverage

Die Fehlerabdeckung bezieht sich auf den Prozentsatz einer Art von Fehler , der während des Tests eines technischen Systems erkannt werden kann. Eine hohe Fehlerabdeckung ist besonders während des Herstellungstests wertvoll, und Techniken wie Design For Test (DFT) und automatische Testmustergenerierung werden verwendet, um sie zu erhöhen.

In der Elektronik wird beispielsweise die Fehlerabdeckung gemessen, indem jeder Pin des Hardwaremodells auf logisch '0' bzw. logisch '1' geklebt und die Testvektoren ausgeführt werden. Wenn mindestens einer der Ausgänge von den zu erwartenden abweicht, wird der Fehler als erkannt bezeichnet. Konzeptionell ist die Gesamtzahl der Simulationsläufe doppelt so hoch wie die Anzahl der Pins (da jeder Pin auf zwei Arten feststeckt und beide Fehler erkannt werden sollten). Es gibt jedoch viele Optimierungen, die die erforderliche Berechnung reduzieren können. Insbesondere können häufig viele nicht wechselwirkende Fehler in einem Lauf simuliert werden, und jede Simulation kann beendet werden, sobald ein Fehler erkannt wird.

Ein Fehlerabdeckungstest besteht, wenn mindestens ein bestimmter Prozentsatz aller möglichen Fehler erkannt werden kann. Wenn dies nicht der Fall ist, sind mindestens drei Optionen möglich. Erstens kann der Designer den Vektorsatz erweitern oder auf andere Weise verbessern, möglicherweise durch Verwendung eines effektiveren automatischen Werkzeugs zur Erzeugung von Testmustern . Zweitens kann die Schaltung zur besseren Fehlererkennbarkeit (verbesserte Steuerbarkeit und Beobachtbarkeit) neu definiert werden. Drittens kann der Designer einfach die geringere Abdeckung akzeptieren.

Testabdeckung (Computing)

Der Begriff Testabdeckung, der im Zusammenhang mit Programmierung / Softwareentwicklung verwendet wird, bezieht sich auf die Messung, wie viel ein Softwareprogramm durch Tests ausgeübt wurde. Die Abdeckung ist ein Mittel zur Bestimmung der Genauigkeit, mit der die dem Test zugrunde liegende Frage beantwortet wurde. Es gibt viele Arten der Testabdeckung:

  • Codeabdeckung
  • Funktionsabdeckung,
  • Szenarioabdeckung,
  • Bildschirmelementabdeckung
  • Modellabdeckung.

Bei jedem dieser Abdeckungstypen wird davon ausgegangen, dass eine Art Basislinie vorhanden ist, die das zu testende System definiert. Die Anzahl der Arten der Testabdeckung variiert daher mit der Anzahl der Arten der Definition des Systems.

Zum Beispiel bei der Codeabdeckung :

  • Wurde jemals eine bestimmte Anweisung ausgeführt?
  • Wie oft wurde eine Anweisung ausgeführt?
  • Wurden alle Anweisungen in einem Programm mindestens einmal ausgeführt?
  • Wurden alle Entscheidungspunkte im Code so ausgeübt, dass jeder Entscheidungspfad eingeschlagen wurde?
  • Hat die letzte Optimierung die Befehlspfadlänge erheblich reduziert ?

Siehe auch

Externe Links