Katalog
method#Qualitätssicherung#Lieferung#Integration#Produkt#Zuverlässigkeit

Acceptance Test-Driven Development (ATDD)

Eine kollaborative Methode, bei der Stakeholder, Tester und Entwickler Akzeptanzkriterien als automatisierte Tests vor der Implementierung definieren.

Acceptance Test-Driven Development (ATDD) ist eine kollaborative Methode, bei der Stakeholder, Tester und Entwickler akzeptanzorientierte Tests vor der Implementierung definieren.
Etabliert
Mittel

Klassifikation

  • Mittel
  • Organisatorisch
  • Organisation
  • Fortgeschritten

Technischer Kontext

CI/CD-Systeme (z. B. Jenkins, GitHub Actions)Testframeworks (z. B. Cucumber, SpecFlow)Testdaten- und Mock-Services

Prinzipien & Ziele

Gemeinsame Sprache: Akzeptanzkriterien dienen als Single Source of Truth.Frühes Testen: Tests werden vor der Implementierung spezifiziert.Automatisierung: Akzeptanztests sind wiederholbar und in CI eingebunden.
Umsetzung
Team, Domäne

Use Cases & Szenarien

Kompromisse

  • Tests werden zu detailliert und binden Implementierungsdetails.
  • Falsche oder unvollständige Akzeptanzkriterien führen zu falscher Implementierung.
  • Zu starke Abhängigkeit von Werkzeugen kann Flexibilität einschränken.
  • Fokus auf Verhalten statt Implementierungsdetails in Szenarien.
  • Keep tests kurz und isoliert, um Flakiness zu vermeiden.
  • Integriere Tests früh in CI und messe Feedbackzeiten.

I/O & Ressourcen

  • User Stories und Akzeptanzkriterien
  • Fachliche Stakeholder für Klärung
  • Testautomatisierungs-Framework und CI-Pipeline
  • Automatisierte Akzeptanztests als Spezifikation
  • Verringerte Anzahl ungeplanter Nacharbeiten
  • Besser dokumentierte Anforderungen

Beschreibung

Acceptance Test-Driven Development (ATDD) ist eine kollaborative Methode, bei der Stakeholder, Tester und Entwickler akzeptanzorientierte Tests vor der Implementierung definieren. Ziel ist frühzeitige Klärung von Anforderungen, automatisierte Akzeptanztests und schnelles Feedback. ATDD signifikant reduziert Missverständnisse und verbessert Testabdeckung im Entwicklungsprozess.

  • Klare Anforderungen und weniger Nacharbeit aufgrund von Missverständnissen.
  • Schnelles Feedback und stabilere Releases durch automatisierte Tests.
  • Bessere Zusammenarbeit zwischen Fachseite, QA und Entwicklung.

  • Aufwand für Pflege und Anpassung von Akzeptanzszenarien.
  • Benötigt disziplinierte Zusammenarbeit und stabile Anforderungen.
  • Nicht alle Nicht-funktionalen Anforderungen lassen sich als Akzeptanztest abbilden.

  • Prozentsatz automatisierter Akzeptanztests

    Anteil der Akzeptanzkriterien, die durch automatisierte Tests abgedeckt sind.

  • Mean Time to Feedback

    Durchschnittliche Zeit vom Festlegen eines Szenarios bis zum Feedback aus CI.

  • Regressionserkennungsrate

    Anteil der regressiven Fehler, die frühzeitig durch Akzeptanztests erkannt wurden.

E-Commerce Checkout

Akzeptanzkriterien für Bezahlprozess wurden als automatisierte Tests definiert und in CI ausgeführt, wodurch Zahlungsfehler früh entdeckt wurden.

Online-Banking Überweisung

Regulatorische Anforderungen wurden in ATDD-Szenarien abgebildet und als Prüfpfad dokumentiert.

API-Versionierung

Kompatibilitätsanforderungen zwischen API-Versionen wurden durch Akzeptanztests abgesichert.

1

Schritt 1: Schulung des Teams in ATDD-Grundsätzen und Given-When-Then-Format.

2

Schritt 2: Durchführung von Feature-Sessions mit Stakeholdern zur Definition von Akzeptanzszenarien.

3

Schritt 3: Implementierung minimaler Funktionalität bis die Tests grün sind.

4

Schritt 4: Automatisierung der Szenarien im gewählten Testframework und Anbindung an CI.

5

Schritt 5: Regelmäßige Wartung und Review der Tests bei Änderungen.

⚠️ Technische Schulden & Engpässe

  • Veraltete Akzeptanzszenarien, die nicht mehr den aktuellen Geschäftsregeln entsprechen.
  • Monolithische Test-Suites mit schlechter Ausführungsperformance.
  • Fehlende Testdatenverwaltung für reproduzierbare Tests.
Unklare AnforderungenMangelndes Test-ToolingKoordinationsaufwand zwischen Teams
  • Akzeptanztests werden als ausführliche UI-Skripte erstellt und sind fragil.
  • Business-Entscheider werden nicht eingebunden; Tests spiegeln falsche Annahmen.
  • Tests werden nicht gepflegt und führen zu vielen False-Positives.
  • Zu frühe Detailfestlegung zwingt Implementierungskonzepte.
  • Unzureichende Testdaten führen zu instabilen Tests.
  • Keine klare Trennung zwischen Akzeptanz- und Unit-Tests.
Fähigkeit, akzeptanzorientierte Szenarien zu formulierenErfahrung mit Testautomatisierung und CIKommunikations- und Moderationsfähigkeiten für Workshops
Nachvollziehbarkeit von GeschäftsanforderungenAutomatisierungsgrad in CI/CDSchnittstellen- und Integrationsstabilität
  • Verfügbarkeit fachlicher Stakeholder für Sessions
  • Limitierte Ressourcen zur Testautomatisierung
  • Legacy-Systeme ohne geeignete Test-Schnittstellen