Kontrollfluss orientierte Tests sind gängige White Box Verfahren

C0 – Anweisungsüberdeckung


Statement Coverage Mindestens einmalige Ausführung jeder Anweisung (Knoten) des Prüflings.

Ziel

  • Jede ausführbare Anweisung mind. einmal durchlaufen
  • Sicherstellen, dass kein toter Code existiert Eigenschaften
  • Notwendiges, aber nicht hinreichendes Kriterium
  • Als eigenständiges Verfahren ungeeignet
  • Bestandteil höherwertiger Verfahren (z.B. Zweigüberdeckung) Metrik

C1 – Zweigüberdeckung


Branch Coverage Ausführung aller Zweige (Kanten) des Prüflings.

Ziel

  • Jeder Zweig mind. einmal durchlaufen
  • Nachweis, dass keine nie ausgeführten Zweige existieren Eigenschaften
  • Enthält die Anweisungsüberdeckung (C0) vollständig Schwächen
  • Kombinationen von Zweigen und komplexe Bedingungen werden nicht berücksichtigt
  • Schleifen werden nicht ausreichend getestet (ein einzelner Durchlauf genügt)
  • Fehlende Zweige sind nicht direkt entdeckbar Metrik

C3 – Bedingungsüberdeckung


Abgrenzung Betrachtet atomare Bedingungen innerhalb von Entscheidungen (&&, ||, XOR). Bei rein atomaren Entscheidungen fällt C3 praktisch mit C1 zusammen.

C3a – Einfachbedingungsüberdeckung

Prinzip Jede atomare Bedingung wird mind. einmal mit true und false belegt.

Eigenschaften

  • Einfachster aller C3-Tests
  • Deckt Fehler aus dem Zusammenwirken mehrerer atomarer Bedingungen auf

Schwäche Es ist nicht sichergestellt, dass die Gesamtbedingung sowohl true als auch false wird.

C3b – Mehrfachbedingungsüberdeckung

Prinzip Alle möglichen Kombinationen der atomaren Bedingungen werden getestet.

Eigenschaften

  • Anzahl der Kombinationen: ( = Anzahl atomarer Bedingungen)
  • Sehr hoher Aufwand durch exponentiellen Anstieg

Schwäche In der Praxis wegen Laufzeit und Aufwand oft nicht durchführbar.

C3c – Minimale Mehrfachbedingungsüberdeckung

Prinzip Jede atomare Bedingung und die Gesamtbedingung werden auf true und false gesetzt.

Eigenschaften

  • Kompromiss zwischen C3a (findet zu wenig) und C3b (dauert zu lang)
  • Enthält C0, C1 und C3a vollständig

Überblick


VerfahrenKriteriumAufwandEnthält
C0jede Anweisung ausgeführtgering
C1jeder Zweig ausgeführtgering–mittelC0
C3ajede atomare Bedingung true/falsemittelC0, C1
C3balle Kombinationen ()sehr hochC0, C1, C3a
C3catomare Bed. + Gesamtbed. true/falsemittel–hochC0, C1, C3a