Testdesign
Grenzwerte, Äquivalenzklassen, Entscheidungstabellen, Zustandsübergänge, paarweises Testen, Überdeckung. Jede Lösung wurde per Programm nachgerechnet.
- Grenzwerte: Alter ★☆☆ Grenzwertanalyse ✓ gelöst
Ein Formularfeld akzeptiert ganzzahlige Alter von 18 bis 65 (jeweils einschließlich).
Welche Testwerte liefert die Grenzwertanalyse mit zwei Werten pro Grenze?
Lösung anzeigen
Richtig: {17, 18, 65, 66}
Pro Grenze testet man den letzten ungültigen und den ersten gültigen Wert: 17/18 unten, 65/66 oben. {18, 65} prüft nur die gültige Seite. {17 … 66} mit sechs Werten wäre die Drei-Werte-Variante.
- Grenzwerte: drei Werte ★★☆ Grenzwertanalyse ✓ gelöst
Dasselbe Feld wie zuvor: gültig sind ganze Zahlen von 18 bis 65.
Wie viele Testwerte ergibt die Grenzwertanalyse mit drei Werten pro Grenze (Grenze, darunter, darüber)?
Lösung anzeigen
Richtig: 6
Pro Grenze drei Werte: 17, 18, 19 und 64, 65, 66. Die Drei-Werte-Variante findet zusätzlich Fehler wie ein vertipptes == statt >=.
- Grenzwerte: Rabattstaffel ★★☆ Grenzwertanalyse · Geldbeträge ✓ gelöst
Onlineshop: Ab 100,00 € Bestellwert gibt es 5 % Rabatt, ab 500,00 € 10 %. Beträge werden auf den Cent genau erfasst.
Welche Bestellwerte prüfen die Grenzen am besten?
Lösung anzeigen
Richtig: 99,99 €, 100,00 €, 499,99 €, 500,00 €
Bei Geldbeträgen ist die kleinste Einheit 1 Cent. Direkt unter der Grenze liegt also 99,99 €, nicht 99,00 €. Wer in ganzen Euro testet, übersieht z. B. einen Fehler, der erst bei 99,50 € greift.
- Grenzwerte: Lücke finden ★☆☆ Grenzwertanalyse ✓ gelöst
Ein Passwort muss 8 bis 20 Zeichen lang sein. Im Testplan stehen die Längen 7, 8, 15 und 20.
Welche Länge fehlt für eine vollständige Grenzwertanalyse (zwei Werte pro Grenze)?
Lösung anzeigen
Richtig: 21
Die obere Grenze ist nur von der gültigen Seite (20) getestet. Ob 21 Zeichen wirklich abgelehnt werden, prüft niemand. 15 ist ein Repräsentant der gültigen Klasse, aber kein Grenzwert.
- Äquivalenzklassen: Monat ★☆☆ Äquivalenzklassen ✓ gelöst
Ein Feld erwartet einen Monat als ganze Zahl von 1 bis 12.
In wie viele Äquivalenzklassen zerfallen die ganzzahligen Eingaben?
Lösung anzeigen
Richtig: 3
Eine gültige Klasse (1–12) und zwei ungültige: kleiner als 1 und größer als 12. Alle Werte einer Klasse sollte das System gleich behandeln, deshalb reicht je ein Repräsentant. Nicht-numerische Eingaben wären eine weitere Klasse, sind hier aber ausgeschlossen.
- Äquivalenzklassen: Versandkosten ★★☆ Äquivalenzklassen ✓ gelöst
Versand: bis 2 kg kostet 5 €, bis 10 kg 8 €, darüber 15 €. Erlaubt sind Gewichte über 0 kg bis höchstens 31,5 kg.
Wie viele Testfälle braucht man mindestens, um jede Äquivalenzklasse einmal abzudecken?
Lösung anzeigen
Richtig: 5
Drei gültige Klassen (bis 2 kg, bis 10 kg, bis 31,5 kg) und zwei ungültige (0 kg oder weniger, über 31,5 kg). Bei nur einem Eingabefeld braucht jede Klasse einen eigenen Testfall.
- Äquivalenzklassen: zwei Felder ★★★ Äquivalenzklassen · Testfallminimierung ✓ gelöst
Ein Formular hat zwei Felder. Feld A hat 3 gültige und 2 ungültige Klassen, Feld B hat 2 gültige und 1 ungültige Klasse.
Wie viele Testfälle sind mindestens nötig, wenn jeder ungültige Wert einzeln getestet werden soll?
Lösung anzeigen
Richtig: 6
Gültige Klassen lassen sich kombinieren: max(3, 2) = 3 Testfälle decken alle gültigen Klassen beider Felder. Ungültige Klassen testet man einzeln (sonst verdeckt ein Fehler den anderen): 2 + 1 = 3. Zusammen 6.
- Entscheidungstabelle: Größe ★☆☆ Entscheidungstabellen ✓ gelöst
Eine Regel hängt von drei Ja/Nein-Bedingungen ab.
Wie viele Spalten (Regeln) hat die vollständige Entscheidungstabelle?
Lösung anzeigen
Richtig: 8
Jede Bedingung verdoppelt die Kombinationen: 2 × 2 × 2 = 8. Bei n Bedingungen sind es 2ⁿ, deshalb lohnt es sich, zusammenfassbare Regeln zu suchen.
- Entscheidungstabelle: Rabatt ★★☆ Entscheidungstabellen · Logik ✓ gelöst
Ein Kunde bekommt Rabatt, wenn er Neukunde ist ODER eine Treuekarte hat. Auf Artikel im Sonderangebot gibt es aber nie Rabatt.
Wie viele der 8 Kombinationen aus Neukunde, Treuekarte und Sonderangebot führen zu Rabatt?
Lösung anzeigen
Richtig: 3
Mit Sonderangebot nie (4 Fälle fallen weg). Ohne Sonderangebot bleiben 4 Kombinationen, davon ist nur "weder Neukunde noch Treuekarte" ohne Rabatt. Also 3. Ein beliebter Fehler im Code: Das "aber nie" wird nur auf eine der beiden Bedingungen angewendet.
- Entscheidungstabelle: zusammenfassen ★★★ Entscheidungstabellen ✓ gelöst
Login-Regel: Ist das Konto gesperrt, wird immer abgelehnt. Sonst gibt es Zugang nur, wenn Passwort UND zweiter Faktor richtig sind.
Auf wie viele Regeln (ohne Überschneidung) lässt sich die Tabelle mit "egal"-Einträgen mindestens reduzieren?
Lösung anzeigen
Richtig: 4
Gesperrt = Ja → egal was sonst (1 Regel statt 4). Nicht gesperrt: Passwort falsch → zweiter Faktor egal (1 Regel). Passwort richtig, zweiter Faktor falsch (1). Alles richtig → Zugang (1). Zusammen 4.
- Zustandsübergänge: Bestellung ★★☆ Zustandsübergänge ✓ gelöst
Bestellstatus: Neu → Bezahlt → Versendet → Zugestellt. Storniert werden kann nur aus Neu oder Bezahlt. Zugestellt und Storniert sind Endzustände.
Wie viele Testfälle (jeder startet bei Neu und endet in einem Endzustand) braucht man mindestens, um jeden gültigen Übergang einmal zu durchlaufen?
Lösung anzeigen
Richtig: 3
Neu→Bezahlt→Versendet→Zugestellt deckt drei Übergänge. Neu→Storniert und Neu→Bezahlt→Storniert decken die beiden Stornierungen. Weil beide in Endzuständen enden, braucht jede einen eigenen Durchlauf.
- Zustandsübergänge: Negativtest ★☆☆ Zustandsübergänge · Negativtests ✓ gelöst
Gleicher Bestellprozess: Neu → Bezahlt → Versendet → Zugestellt, Stornierung nur aus Neu oder Bezahlt.
Welcher Übergang muss das System ablehnen?
Lösung anzeigen
Richtig: Versendet → Storniert
Nach dem Versand ist keine Stornierung mehr vorgesehen. Solche ungültigen Übergänge werden oft vergessen, weil Testfälle meist nur den "Happy Path" abbilden. Genau dort stecken aber häufig Fehler, etwa ein Storno-Button, der nach dem Versand noch aktiv ist.
- Zustandsübergänge: Kontosperre ★★☆ Zustandsübergänge ✓ gelöst
Nach 3 Fehlversuchen in Folge wird ein Konto gesperrt. Ein erfolgreicher Login setzt den Zähler auf 0 zurück.
Eingaben: falsch, falsch, richtig, falsch, falsch. Wie ist der Zustand danach?
Lösung anzeigen
Richtig: Nicht gesperrt, 2 Fehlversuche
Der richtige Login an dritter Stelle setzt den Zähler zurück. Danach folgen nur zwei Fehlversuche. Ein guter Testfall, weil er prüft, ob der Zähler wirklich zurückgesetzt wird und nicht einfach alle Fehlversuche addiert.
- Paarweise: 3 × 2 Werte ★★☆ Paarweises Testen · Kombinatorik ✓ gelöst
Eine Webanwendung soll getestet werden mit Browser (Chrome, Firefox), Betriebssystem (Windows, macOS) und Sprache (Deutsch, Englisch).
Alle Kombinationen wären 8 Tests. Wie viele braucht man mindestens, damit jedes Wertepaar einmal vorkommt?
Lösung anzeigen
Richtig: 4
Mit 4 geschickt gewählten Kombinationen kommt jedes Paar (z. B. Chrome + macOS, macOS + Englisch) mindestens einmal vor. Mit 3 geht es nicht: Allein Browser × Betriebssystem ergibt schon 4 Paare. Die meisten Fehler entstehen durch das Zusammenspiel von höchstens zwei Faktoren.
- Paarweise: 3 × 2 × 2 ★★☆ Paarweises Testen · Kombinatorik ✓ gelöst
Parameter: Zahlungsart (Karte, PayPal, Rechnung), Kundentyp (privat, Firma), Versand (Standard, Express).
Wie viele Testfälle sind für paarweise Abdeckung mindestens nötig?
Lösung anzeigen
Richtig: 6
Untergrenze ist das Produkt der beiden größten Wertebereiche: 3 × 2 = 6, sonst können nicht alle Paare aus Zahlungsart und Kundentyp vorkommen. Mit 6 Tests lässt sich auch der Versand so verteilen, dass alle übrigen Paare abgedeckt sind (statt 12 für alle Kombinationen).
- Paarweise: 4 × 3 Werte ★★★ Paarweises Testen · Orthogonale Arrays ✓ gelöst
Vier Parameter mit je drei Werten, z. B. Browser, Betriebssystem, Bildschirmgröße und Sprache.
Alle Kombinationen sind 81 Tests. Wie viele braucht man mindestens für paarweise Abdeckung?
Lösung anzeigen
Richtig: 9
Jedes Parameterpaar hat 3 × 3 = 9 Wertepaare, also sind mindestens 9 Tests nötig. Ein orthogonales Array (L9) schafft genau das: 9 Zeilen, in denen jedes Paar exakt einmal vorkommt. Statt 81 also 9 Tests, eine Einsparung von 89 %.
- Zweigüberdeckung ★★☆ Überdeckung · White-Box ✓ gelöst
Code:
if (a > 0) { x++; } if (b > 0) { y++; }Für Anweisungsüberdeckung reicht 1 Testfall (a > 0, b > 0). Wie viele braucht man mindestens für Zweigüberdeckung?
Lösung anzeigen
Richtig: 2
Zweigüberdeckung verlangt, dass jedes if einmal wahr und einmal falsch ist. Test 1: a > 0, b > 0. Test 2: a ≤ 0, b ≤ 0. Die leeren else-Zweige, die bei Anweisungsüberdeckung unsichtbar bleiben, werden so auch durchlaufen.
- Pfadüberdeckung ★★☆ Überdeckung · White-Box ✓ gelöst
Gleicher Code:
if (a > 0) { x++; } if (b > 0) { y++; }Wie viele Testfälle braucht man für vollständige Pfadüberdeckung?
Lösung anzeigen
Richtig: 4
Jedes if verdoppelt die Pfade: 2 × 2 = 4 (beide wahr, nur erstes, nur zweites, keines). Bei 10 hintereinander stehenden ifs wären es schon 1024 Pfade, deshalb ist Pfadüberdeckung in der Praxis selten vollständig erreichbar.
- MC/DC-Überdeckung ★★★ Überdeckung · MC/DC ✓ gelöst
Code:
if (istAngemeldet && hatRecht) { zeigeDaten(); }Bei MC/DC muss jede Teilbedingung nachweislich allein das Ergebnis ändern können. Wie viele Testfälle sind mindestens nötig?
Lösung anzeigen
Richtig: 3
(wahr, wahr) → zeigen. (falsch, wahr) → nicht zeigen: beweist den Einfluss von istAngemeldet. (wahr, falsch) → nicht zeigen: beweist den Einfluss von hatRecht. Allgemein reichen bei n Teilbedingungen n + 1 Tests. MC/DC ist z. B. in der Luftfahrt-Software (DO-178C) Pflicht.
- Mutationstest ★★☆ Mutationstests · Grenzwerte ✓ gelöst
Originalcode: return age >= 18; Ein Mutationstest-Werkzeug erzeugt die Mutante: return age > 18;
Mit welchem Testwert wird die Mutante "getötet", also von einem Test erkannt?
Lösung anzeigen
Richtig: 18
Nur bei genau 18 liefern Original (true) und Mutante (false) unterschiedliche Ergebnisse. Überlebt die Mutante alle Tests, fehlt ein Grenzwerttest. Mutationstests messen so die Qualität der Tests selbst, nicht die des Codes.