Von Abhay Talreja
17.2.2026
Mein neuester Artikel - Empirical Process Control - The Key to Agile Success
Agiles Testen ist keine Phase, die nach der Entwicklung stattfindet - es ist eine kontinuierliche Disziplin, die in jeden Sprint, jedes Standup und jede Codezeile eingewoben ist. In Scrum-Teams ist Qualitaet eine gemeinsame Verantwortung: Entwickler schreiben Tests vor dem Code, das gesamte Team definiert Akzeptanzkriterien, und Tests stauen sich nie am Ende einer Iteration an.
Dieser Leitfaden deckt alles ab, was Sie fuer eine effektive Umsetzung von agilen Testen benoetigen: die Testpyramide, Agile Testing Quadranten, TDD/BDD/ATDD-Praktiken, Shift-Left-Strategien, branchenspezifische Checklisten, ein Reifegradmodell und die haeufigsten Anti-Patterns, die die Qualitaet untergraben.
| Aspekt | Agiles Testen |
|---|---|
| Wann wird getestet | Kontinuierlich in jedem Sprint, nicht in einer Phase nach dem Codieren |
| Wer ist verantwortlich | Das gesamte Scrum-Team - Entwickler, Tester und Product Owner |
| Hauptansatz | Shift-Left: Tests vor oder neben dem Code schreiben (TDD/BDD/ATDD) |
| Automatisierungsverhaeltnis | 70% Unit-Tests, 20% Integrationstests, 10% End-to-End-Tests |
| Kernrahmen | Testpyramide und vier Agile Testing Quadranten |
| Hauptpraktiken | TDD, BDD, ATDD, Continuous Integration, explorative Tests |
| Fehlererkennung | Fruehzeitig (innerhalb des Sprints) statt spaet (nach dem Release) |
Agiles Testen ist ein Ansatz zur Softwarequalitaetssicherung, der mit agilen Werten uebereinstimmt: Zusammenarbeit, kontinuierliches Feedback, Kundenfokus und Reaktionsfaehigkeit auf Veraenderungen. Anstatt Tests als einen Uebergabeschritt am Ende eines Sprints oder Releases zu behandeln, integriert agiles Testen Qualitaetspruefungen direkt in den Entwicklungsworkflow.
Der wesentliche Unterschied zum traditionellen Testen liegt im Timing und in der Eigenverantwortung:
Diese Verlagerung reduziert die Kosten fuer die Fehlerbehebung dramatisch. Forschungen des Systems Sciences Institute bei IBM zeigen, dass Fehler, die nach dem Release gefunden werden, 6-mal mehr kosten als Fehler, die waehrend des Designs gefunden werden, und 15-mal mehr als Fehler, die waehrend des Codierens gefunden werden.
Sechs Kernprinzipien fuer agiles Testen in jedem Scrum-Team:
1. Qualitaetsverantwortung des gesamten Teams Testen ist keine QA-Abteilungsfunktion. Jedes Teammitglied - Entwickler, Designer, Tester und Product Owner - teilt die Verantwortung fuer die Produktqualitaet.
2. Kontinuierliches Testen, kein phasenbasiertes Testen Tests werden waehrend jedes Sprints staendig geschrieben und ausgefuehrt. Das Warten mit dem Testen bis die Entwicklung abgeschlossen ist, schafft Engpaesse und verzoegert Feedback.
3. Kundenorientierte Akzeptanzkriterien Der Product Owner arbeitet mit dem Team zusammen, um klare Akzeptanzkriterien zu schreiben, bevor die Sprint-Arbeit beginnt.
4. Schnelle Feedback-Schleifen Tests muessen schnell ausgefuehrt werden. Unit-Test-Suiten sollten in unter 5 Minuten abgeschlossen sein, und vollstaendige CI-Pipeline-Laeufe in unter 20 Minuten.
5. Testautomatisierung als erstklassige Aktivitaet Automatisierung ist eine Investition in nachhaltige Geschwindigkeit. Teams, die Regressionstests automatisieren, verbringen weniger Zeit mit sich wiederholender Verifizierung.
6. Anpassungsfaehige Teststrategien Testansaetze entwickeln sich Sprint fuer Sprint weiter. Die Retrospektive ist der richtige Ort, um Teststrategien zu inspizieren und anzupassen.
Die Testpyramide bietet ein Modell zum Ausbalancieren von Testtypen nach Geschwindigkeit, Kosten und Abdeckung. Agile Teams verwenden sie, um das "Eistuetenm-Anti-Pattern zu vermeiden (zu viele langsame, teure End-to-End-Tests und zu wenige schnelle Unit-Tests).
/\
/ \
/ E2E\ ~10% der Tests
/------\
/ \
/Integration\ ~20% der Tests
/------------\
/ \
/ Unit-Tests \ ~70% der Tests
/------------------\Unit-Tests verifizieren einzelne Funktionen, Methoden oder Klassen in vollstaendiger Isolation von externen Abhaengigkeiten. Sie sind:
Abdeckungsziel: Anstreben von >80% Code-Coverage auf Unit-Ebene.
Integrationstests verifizieren, dass zwei oder mehr Komponenten korrekt zusammenarbeiten. Sie testen echte Interaktionen zwischen Diensten, Datenbanken oder APIs:
Abdeckungsziel: 20% Ihrer Testanzahl, fokussiert auf kritische Integrationspunkte.
End-to-End-Tests simulieren vollstaendige Benutzerreisen durch das gesamte System, von der UI bis zur Datenbank:
Das "Eistuetenm-Anti-Pattern tritt auf, wenn die Testsuite invertiert ist: meist langsame E2E-Tests, wenige Unit-Tests. Dies fuehrt zu langsamen CI-Pipelines, fragilen Testsuites und verzoegertem Feedback.
Brian Maricks Agile Testing Quadranten bieten eine Karte fuer das Nachdenken ueber verschiedene Testkategorien, wer sie leitet und wann sie verwendet werden.
Die Quadranten sind auf zwei Achsen organisiert:
Zweck: Entwickler beim Schreiben von sauberem, korrektem Code leiten.
Testtypen: Unit-Tests, Komponenten-Tests, Integrationstests
Wer leitet: Entwickler
Tools: JUnit, Jest, pytest, Vitest, Testcontainers
Zweck: Bestaetigen, dass das System das tut, was das Geschaeft benoetigt.
Testtypen: Funktionstests, Beispiele und Prototypen, Story-Tests aus Akzeptanzkriterien
Wer leitet: Das gesamte Team - Product Owner schreibt Kriterien, Entwickler und Tester automatisieren sie
Tools: Cucumber, SpecFlow, FitNesse, Robot Framework
Zweck: Fehler und Luecken finden, die das Team nicht erwartet hat.
Testtypen: Exploratives Testen, Usability-Tests, User Acceptance Testing (UAT), Alpha/Beta-Tests
Wer leitet: Tester, UX-Spezialisten, echte Benutzer, Product Owner
Zweck: Nicht-funktionale Qualitaeten des Systems unter realistischen Bedingungen evaluieren.
Testtypen: Performance- und Lasttests, Security Penetrationstests, Zugaenglichkeitstests, Stress-Tests
Tools: k6, JMeter, Gatling (Performance); OWASP ZAP, Burp Suite (Security); axe, Lighthouse (Zugaenglichkeit)
Diese drei Praktiken repraesentieren verschiedene Ebenen des test-first-Denkens. Sie ergaenzen sich gegenseitig.
TDD ist eine Entwicklerpraktik, die einem engen Rot-Gruen-Refaktorisieren-Zyklus folgt:
Vorteile von TDD:
BDD erweitert TDD nach oben: Anstatt einzelne Funktionen zu testen, testet es Verhaltensweisen, die fuer das Geschaeft wichtig sind. BDD verwendet ein strukturiertes Gegeben-Wenn-Dann-Format.
BDD-Beispiel (Gherkin-Syntax):
Feature: Warenkorb-Rabatt
Szenario: Kunde erhaelt Rabatt auf grosse Bestellung
Gegeben ein Kunde hat Artikel im Wert von 150 EUR im Warenkorb
Wenn er zur Kasse geht
Dann soll ein Rabatt von 10% (15 EUR) angewendet werden
Und die Gesamtsumme soll 135 EUR betragenATDD ist BDD auf Story-Ebene angewendet. Das gesamte Scrum-Team (Product Owner, Entwickler und Tester) arbeitet zusammen, um Akzeptanztests bevor die Entwicklung beginnt zu definieren.
Das "Drei Freunde"-Meeting ist eine kurze Sitzung (30-60 Minuten), bei der der Product Owner (Geschaeft), ein Entwickler (Technologie) und ein Tester (Qualitaet) gemeinsam eine Story ueberpruefen, bevor die Sprint-Planung beginnt. Ziel ist es, Missverstaendnisse aufzudecken und Akzeptanztests zu vereinbaren, bevor Code geschrieben wird.
Shift-Left-Testing bedeutet, Testaktivitaeten frueher in den Entwicklungsprozess zu verlagern.
| Traditionell (Shift Right) | Agiles Shift-Left |
|---|---|
| QA ueberprueft Code nach dem Schreiben | Akzeptanzkriterien werden vor dem Codieren geschrieben |
| Testplan nach Anforderungsfinalisierung erstellt | Tester nehmen an Backlog-Refinement teil |
| Fehler in einer dedizierten Testphase gefunden | Fehler innerhalb desselben Sprints gefunden und behoben |
| Performance-Tests vor grossen Releases | Performance-Benchmarks in jeder Sprint-CI-Pipeline |
| Sicherheitsueberprueung vor der Bereitstellung | Statische Analyse und SAST-Scanning in jedem Build |
Testen geschieht nicht "waehrend des Sprints" als einzelne Aktivitaet. Es ist in jedes Scrum-Event und jeden Arbeitstag eingebettet.
Sprint Planning
Daily Scrum
Waehrend der Entwicklung (Jeden Tag)
Sprint Review
Sprint-Retrospektive
Entwickler
Tester (QA-Ingenieure)
Product Owner
Was automatisieren:
Was manuell behalten:
Merkmale:
Agile Testpraktiken auf dieser Stufe:
Ziel bis Ende Stufe 1: Jede Story hat schriftliche Akzeptanzkriterien; CI-Pipeline laeuft bei jedem Merge; Unit-Test-Abdeckung >40% fuer neuen Code.
Merkmale:
Agile Testpraktiken auf dieser Stufe:
Ziel bis Ende Stufe 2: Unit-Test-Abdeckung >70%; Defekt-Escape-Rate unter 15%.
Merkmale:
Ziel fuer Stufe 3: Unit-Test-Abdeckung >80%; Defekt-Escape-Rate unter 5%; CI-Pipeline in unter 20 Minuten abgeschlossen.
Problem: Entwickler erklaeren eine Story fuer "fertig" und dann beginnen Tester erst mit dem Testen.
Warum es problematisch ist: Schafft einen Test-Engpass am Ende des Sprints. Spaet gefundene Fehler erfordern Kontextwechsel fuer Entwickler.
Loesung: Definition of Done so neu definieren, dass Tests bestehen muessen. ATDD anwenden, damit Tester Tests schreiben, waehrend Entwickler Code schreiben.
Problem: Das Team hat 5 Unit-Tests, 20 Integrationstests und 200 Selenium-E2E-Tests. Die CI-Pipeline dauert 2 Stunden.
Loesung: Die Pyramide umkehren. Fuer jeden E2E-Test 10 Unit-Tests schreiben.
Problem: Mit 2 Tagen bis zum Sprint-Ende ueberspringt das Team das Schreiben von Tests.
Loesung: Definition of Done ohne Ausnahmen durchsetzen. Eine unvollstaendige Story ist weniger gefaehrlich als eine falsch "fertige".
Problem: Testern werden fertige Features uebergeben, sie finden Fehler und protokollieren sie. Sie sind nicht in Design oder Akzeptanzkriterien eingebunden.
Loesung: Tester in Backlog-Refinement, Sprint-Planung und Drei-Freunde-Sessions einbeziehen.
Problem: Tests bestehen manchmal und schlagen manchmal aus Gruenden fehl, die nichts mit dem Code zu tun haben.
Loesung: Flaky Tests als kritische Bugs behandeln. Sofort unter Quarantaene stellen und Grundursachen beheben.
Problem: Das Team verlasst sich ausschliesslich auf geskriptete, automatisierte Tests.
Loesung: Formelle explorative Test-Sessions jeden Sprint planen. SBTM-Ansatz verwenden: Charter definieren, Time-Box setzen, erkunden, Ergebnisse berichten.
Problem: Jeder Sprint produziert Features mit Funktionstests, aber Performance, Sicherheit und Zugaenglichkeit werden nie getestet.
Loesung: Nicht-funktionale Kriterien zur Definition of Done hinzufuegen und automatisierte Tools in CI integrieren.
Problem: Tests bestehen in der Entwicklungsumgebung, aber Fehler treten in Produktion auf, weil Umgebungen unterschiedlich sind.
Loesung: Containerisierung (Docker) verwenden, um Umgebungskonsistenz sicherzustellen. Infrastructure-as-Code verwenden.
| Metrik | Was sie misst | Ziel |
|---|---|---|
| Code-Coverage | Prozentsatz des Produktionscodes, der durch Unit-Tests ausgefuehrt wird | >80% |
| Defekt-Escape-Rate | Prozentsatz der Bugs, die Staging oder Produktion erreichen | <5% fuer reife Teams |
| Testausfuehrungszeit | Zeit fuer vollstaendige CI-Pipeline | <20 Minuten |
| Flakigkeitsrate | Prozentsatz der Testlaeufe mit inkonsistenten Ergebnissen | <1% |
| Automatisierungsabdeckung | Prozentsatz der automatisierten vs. manuellen Testfaelle | >70% der Regressionssuite |
Agiles Testen ist keine Technik - es ist eine Denkweise, die Qualitaet als kontinuierliche, gemeinsame Verantwortung behandelt. Die wirkungsvollsten Aenderungen, die ein Scrum-Team vornehmen kann:
Fuer tieferen Kontext zu den Qualitaetsstandards, die agiles Testen unterstuetzen, lesen Sie die Leitfaeden zur Definition of Done und Continuous Integration.
Wie unterscheidet sich agiles Testen vom Testen in einem traditionellen Wasserfall-Projekt?
Kann ein Scrum-Team agiles Testen ohne dedizierten QA-Ingenieur praktizieren?
Wie unterstuetzt agiles Testen die Einhaltung gesetzlicher Vorschriften in Branchen wie Gesundheitswesen und Finanzen?
Wie sollte ein Scrum-Team mit einem grossen Legacy-Codebase ohne Tests beim Einfuehren von agilen Testen umgehen?
Wie integriert sich agiles Testen mit DevOps und Continuous-Delivery-Pipelines?
Was ist der ROI der Investition in agiles Testen und Testautomatisierung?
Wie passen entfernte und verteilte Scrum-Teams agile Testpraktiken an?
Wie handhabt agiles Testen Regressionstests, waehrend das Produkt von Sprint zu Sprint waechst?
Was ist die Beziehung zwischen agilen Testen und der Definition of Done in Scrum?
Wie skalieren Organisationen agiles Testen ueber mehrere Scrum-Teams hinweg, die am selben Produkt arbeiten?
Welche psychologischen Faktoren beeinflussen die Testeffektivitaet in agilen Teams?
Wie sollten agile Teams Testdaten verwalten, insbesondere in Umgebungen mit Datenschutzvorschriften wie der DSGVO?
Wie beeinflusst technische Schulden agiles Testen, und was ist die Beziehung zwischen Testen und Codequalitaet?
Was sollte ein agiles Team tun, wenn ein kritischer Fehler in der Produktion gefunden wird?
Wie unterstuetzt agiles Testen Zugaenglichkeit und inklusives Design?