Katalog
concept#Qualitätssicherung#Zuverlässigkeit#Observability#Softwaretechnik

Test Design Techniques

Überblick über etablierte Testentwurfs-Techniken zur systematischen Ableitung und Priorisierung von Testfällen aus Anforderungen und Systemzuständen.

Test Design Techniques bieten strukturierte Ansätze zur Auswahl und Formulierung von Testfällen basierend auf Anforderungen, Spezifikationen und Systemzuständen.
Etabliert
Mittel

Klassifikation

  • Mittel
  • Technisch
  • Design
  • Fortgeschritten

Technischer Kontext

Continuous Integration (z. B. Jenkins, GitHub Actions)Testmanagement-Tools (z. B. TestRail, PractiTest)Requirement-Management / Issue-Tracker (z. B. Jira)

Prinzipien & Ziele

Tests sollten Anforderungen und Risiken direkt abbilden.Kombination mehrerer Techniken verbessert Fehlerentdeckung.Automatisierbarkeit und Wartbarkeit sind bei Designentscheidungen zu berücksichtigen.
Umsetzung
Team, Domäne

Use Cases & Szenarien

Kompromisse

  • Falsche Priorisierung führt zu unzureichender Risikodeckung.
  • Übergroße Testmengen erhöhen Run-Time und Wartungskosten.
  • Übermäßiger Fokus auf Automatisierung kann exploratives Testing vernachlässigen.
  • Kombiniere Techniken (Äquivalenz, Grenzwerte, Zustandsmodell) statt nur einer Methode.
  • Priorisiere Tests nach Risiko und Geschäftskritikalität.
  • Automatisiere deterministische Tests und halte exploratory Tests manuell.

I/O & Ressourcen

  • Anforderungsspezifikation oder User Stories
  • System- oder Komponentenspezifikationen
  • Existierende Tests und CI-Ergebnisse
  • Priorisierte Liste von Testfällen
  • Automatisierte Testsuiten oder Testskripte
  • Mapping zwischen Tests und Anforderungen/Risiken

Beschreibung

Test Design Techniques bieten strukturierte Ansätze zur Auswahl und Formulierung von Testfällen basierend auf Anforderungen, Spezifikationen und Systemzuständen. Sie reduzieren redundante Tests, erhöhen Fehlererkennungswahrscheinlichkeit und unterstützen Risikobasierung. Anwender müssen Technikwahl, Testumfang und Automatisierungsgrad abwägen.

  • Höhere Fehlererkennungsrate durch systematische Testableitung.
  • Reduzierung redundanter Tests und effizienterer Testumfang.
  • Bessere Nachvollziehbarkeit von Tests gegenüber Anforderungen.

  • Nicht alle Techniken passen für sehr explorative oder UI-lastige Tests.
  • Erfordert Aufwand für Modellierung und Pflege der Testfälle.
  • Grenzfälle können übersehen werden, wenn Technikwahl unpassend ist.

  • Fehlerentdeckungsrate

    Anteil gefundener Defekte pro Anzahl ausgeführter Tests oder Anforderungen.

  • Testabdeckung (Anforderungen)

    Prozentsatz der Anforderungen, die durch Testfälle abgedeckt sind.

  • Mean Time to Detect (MTTD)

    Durchschnittliche Zeit bis zur Entdeckung eines Fehlers nach Änderungseinführung.

Checkout-Modul eines E-Commerce-Systems

Anwendung von Grenzwertanalyse und Zustandsübergangstests zur Absicherung von Zahlungs- und Versandlogik.

REST-API-Validierung

Anforderungsbasiertes Testen der Spezifikation, plus äquivalente Klassen für Eingabevarianten.

Zustandsmaschine für Bestellstatus

Zustandsorientierte Tests zur Abdeckung aller validen und invaliden Übergänge.

1

Analyse der Anforderungen und Identifikation kritischer Bereiche

2

Auswahl passender Testdesign-Techniken pro Bereich

3

Ableiten konkreter Testfälle und Mapping zu Anforderungen

4

Automatisierung, Priorisierung und Integration in CI

5

Messung, Review und iterative Anpassung der Testbasis

⚠️ Technische Schulden & Engpässe

  • Fragmentierte Tests ohne gemeinsames Designprinzip.
  • Unzureichende Automatisierungsabdeckung kritischer Pfade.
  • Veraltete Testdaten und fehlende Isolation von Umgebungen.
TestlaufzeitWartungsaufwandFalsche Priorisierung
  • Erstellen umfangreicher Testmengen für wenig kritische Funktionen.
  • Verwenden einer einzigen Technik (z. B. nur Äquivalenzklassen) überall.
  • Tests nicht an geänderte Anforderungen anpassen.
  • Überschätzen der Automatisierbarkeit komplexer Szenarien.
  • Ignorieren von nicht-funktionalen Anforderungen beim Testdesign.
  • Fehlende Verknüpfung zwischen Tests und Anforderungen/Risiken.
Grundkenntnisse Testmethodik und TestdesignVerständnis der FachdomäneErfahrung mit Automatisierungsframeworks
Testabdeckung kritischer PfadeSchnelle Feedbackzyklen in CI/CDWartbarkeit und Stabilität der Tests
  • Begrenztes Testzeitbudget vor Release
  • Legacy-Code erschwert isoliertes Testen
  • Teilweise fehlende oder unklare Anforderungen