AP2Lernhub
Mittel📊 33% Prüfungs-Häufigkeit

Unit-Tests & Code-Coverage

Was bedeutet welche Coverage-Stufe? Kleine Rechenaufgaben sind beliebt.

Warum Priorität „Mittel"? Gelegentlich Teil der Prüfung (40–59%). Verstehen, aber nicht überinvestieren.

Lernziele

  • Die Coverage-Stufen C0, C1, C2 unterscheiden
  • Anzahl notwendiger Testfälle aus einem Kontrollflussdiagramm bestimmen
  • Äquivalenzklassen und Grenzwertanalyse anwenden

Coverage-Stufen

  • C0 – Statement Coverage: jede Anweisung mindestens 1× ausgeführt.
  • C1 – Branch Coverage: jede Verzweigung einmal true und einmal false.
  • C2 – Path Coverage: jeder mögliche Pfad durch den Code.
  • Condition Coverage: jede Einzelbedingung true/false (bei zusammengesetzten Bedingungen).

Beispiel

pseudocode
FUNKTION rabatt(betrag, stammkunde)
    r ← 0
    WENN betrag > 100 DANN r ← 5
    WENN stammkunde DANN r ← r + 10
    GIB r zurück
ENDE FUNKTION
Kombinationbetrag > 100stammkunder
1falsefalse0
2truefalse5
3falsetrue10
4truetrue15

Für 100 % C1 reichen 2 geschickt gewählte Testfälle (z. B. 1 und 4). Für 100 % C2 braucht es alle 4.

Black-Box: Äquivalenzklassen + Grenzwerte

Eingaben in Äquivalenzklassen partitionieren (Werte mit gleichem erwarteten Verhalten). Pro Klasse mindestens einen Testfall. Dann Grenzwerte der Klassen zusätzlich.

Beispiel: Alter muss 18-99 sein.
 - gültige Klasse: 18..99    → Testwerte 18, 42, 99 (inkl. Grenzen)
 - ungültig niedrig: <18     → -1, 17
 - ungültig hoch: >99        → 100

Übungen

Eine AntwortWie viele Testfälle braucht es für 100 % Branch Coverage im Rabatt-Beispiel oben?

Eine AntwortWas ist der Unterschied zwischen C1 und C2?

Verwandte Themen