Testplanung und -management
In dieser Lerneinheit erwirbst du grundlegende Kompetenzen zur systematischen Planung und Organisation von Software-Tests durch die Erstellung professioneller Testpläne und -spezifikationen. Du lernst die wichtigsten Bestandteile eines Testplans kennen und erfährst, wie du Testfälle strukturiert dokumentierst und priorisierst. Diese Fähigkeiten ermöglichen dir, Testaktivitäten in deinen Entwicklungsprojekten effizient zu koordinieren und nachvollziehbar zu gestalten.
Einführung
Das neue Feature muss in drei Wochen live gehen. Dein Projektleiter fragt:
Wie viele Tests brauchen wir? Wie lange dauert das? Was kostet uns das?

Ohne systematische Testplanung wird diese Situation zum Ratespiel. Mit einem durchdachten Testplan hingegen kannst du präzise antworten, Risiken benennen und realistische Zeitpläne aufstellen.
In dieser Lerneinheit erfährst du, wie professionelle Testplanung funktioniert und welche Werkzeuge dir dabei helfen.
Lernziele
Nach dieser Lerneinheit lernst du
- Testpläne strukturieren nach internationalen Standards (IEEE 829 / ISO 29119)
- Testfälle systematisch erstellen und nachvollziehbar dokumentieren
- Testaufwand schätzen mit verschiedenen Methoden wie Function Point Analysis
- Testumgebungen planen und effektiv verwalten
- CI/CT-Pipelines verstehen und deren Vorteile für kontinuierliches Testen nutzen
Überleitung
Du kennst bereits die verschiedenen Teststufen und Testarten. Jetzt geht es um das “Wie”:
- Wie organisierst du Tests in der Praxis?
- Wie planst du Ressourcen und Zeit?
- Wie stellst du sicher, dass nichts vergessen wird?
Der Testplan als Steuerungsdokument
Ein Testplan ist das zentrale Dokument für alle Testaktivitäten. Er beantwortet drei grundlegende Fragen:
- WAS wird getestet (und was nicht)?
- WIE wird getestet (Strategien, Methoden, Tools)?
- WANN wird getestet (Zeitplan, Meilensteine)?
Internationale Standards wie ISO/IEC/IEEE 29119 (aktueller Standard seit 2013) und sein Vorgaenger IEEE 829 (veraltet, aber historisch wichtig) geben eine bewaehrte Struktur vor, die in der Industrie weitverbreitet ist.
Bestandteile eines Testplans
Ein vollständiger Testplan enthält mehrere essenzielle Komponenten. Die folgende Tabelle zeigt die wichtigsten Bestandteile im Überblick:
| Komponente | Beschreibung |
|---|---|
| Testumfang | Was wird getestet? Was ist explizit ausgeschlossen? |
| Teststrategie | Welche Testarten und Techniken kommen zum Einsatz? |
| Ressourcen | Personal, Tools, Hardware, Testumgebungen |
| Zeitplan | Meilensteine, Deadlines, Abhängigkeiten |
| Risiken | Identifizierte Risiken und geplante Gegenmaßnahmen |
| Ein-/Austrittskriterien | Wann starten wir Tests? Wann sind wir fertig? |
Je nach Projektgröße und Kontext können einzelne Abschnitte ausführlicher oder knapper ausfallen. Wichtig ist, dass alle Beteiligten den Testplan verstehen und als verbindliche Grundlage akzeptieren.
Testspezifikationen und Testfälle
Testspezifikationen detaillieren die konkreten Tests. Jeder Testfall beschreibt:
- Vorbedingungen: In welchem Zustand muss das System sein?
- Testschritte: Welche Aktionen werden durchgeführt?
- Erwartetes Ergebnis: Was soll passieren?
- Nachbedingungen: Wie sieht der Systemzustand danach aus?
Gute Testfälle sind eindeutig (keine Interpretationsspielräume), wiederholbar (gleiches Ergebnis bei jedem Durchlauf) und nachvollziehbar (Rückverfolgung zur Anforderung).
Systematische Testfallerstellung
Die Erstellung von Testfällen folgt einem strukturierten Prozess:
- Anforderungsanalyse: Spezifikationen und User Stories durcharbeiten
- Testbedingungen definieren: Was genau soll geprüft werden?
- Testfälle ableiten: Positive und negative Szenarien entwickeln
- Priorisierung: Welche Tests sind kritisch, welche optional?
Jeder Testfall sollte an mindestens eine Anforderung gekoppelt sein. So stellst du sicher, dass alle Anforderungen getestet werden und keine Tests überflüssig sind.
Testtechniken für die Testfallerstellung
Für die systematische Ableitung von Testfällen gibt es bewährte Techniken:
- Äquivalenzklassenbildung: Eingabedaten in Gruppen mit gleichem Verhalten unterteilen
- Grenzwertanalyse: Werte an den Grenzen der Äquivalenzklassen testen
Diese Techniken werden in der Lerneinheit Testverfahren und Techniken ausführlich behandelt. Hier konzentrieren wir uns auf ihre Anwendung im Rahmen der Testplanung.
Testdatenmanagement
Ohne passende Testdaten sind auch die besten Testfälle wertlos. Wichtige Aspekte:
- Realistische Daten: Testdaten sollten Produktivdaten möglichst genau abbilden
- Datenschutz: Personenbezogene Daten müssen anonymisiert oder pseudonymisiert werden
- Versionierung: Testdaten müssen reproduzierbar und versioniert sein
- Automatisierung: Testdaten-Generatoren helfen bei großen Datenmengen
Die Qualität der Testdaten beeinflusst direkt die Aussagekraft deiner Tests.
Aufwandsschätzung: Grundlagen
“Wie lange dauert das Testen?” Diese Frage ist schwer zu beantworten, aber entscheidend für die Projektplanung.
Typischerweise entfallen 30 bis 50 Prozent des Gesamtprojektaufwands auf Tests. Unterschätzte Testaufwände führen zu:
- Zeitdruck und Qualitätseinbußen
- Überstunden und Teamfrustration
- Ungeplante Kosten und Projektverzögerungen
Eine realistische Schätzung ist daher keine Nebensache, sondern Kernaufgabe der Testplanung.
Methoden zur Aufwandsschätzung
Es gibt verschiedene Ansätze, um den Testaufwand zu ermitteln. Die Wahl der Methode hängt von der Projektgröße und den verfügbaren Daten ab:
| Methode | Beschreibung | Wann geeignet? |
|---|---|---|
| Expertenurteil | Erfahrene Tester schätzen basierend auf Erfahrung | Kleine Projekte, wenig historische Daten |
| Analogiemethode | Vergleich mit ähnlichen, abgeschlossenen Projekten | Wiederkehrende Projekttypen |
| Function Point Analysis | Schätzung basierend auf Funktionsumfang | Größere Projekte mit messbaren Anforderungen |
| Test Point Analysis | Gewichtete Testfälle nach Komplexität | Detaillierte Testplanung mit bekannten Testfällen |
In der Praxis werden oft mehrere Methoden kombiniert, um eine realistischere Schätzung zu erhalten.
Einflussfaktoren auf den Testaufwand
Der tatsächliche Aufwand hängt von vielen Faktoren ab:
- Komplexität: Komplexe Geschäftslogik erfordert mehr Tests
- Risiko: Kritische Funktionen brauchen intensivere Tests
- Teamerfahrung: Erfahrene Tester arbeiten effizienter
- Toolunterstützung: Automatisierung spart langfristig Zeit
- Qualitätsanforderungen: Höhere Anforderungen bedeuten mehr Aufwand
Plane immer einen Puffer von 15 bis 20 Prozent für Unvorhergesehenes ein.
Die Testumgebung
Die Testumgebung ist die Infrastruktur, in der Tests durchgeführt werden. Sie sollte die Produktivumgebung möglichst genau abbilden, damit Testergebnisse aussagekräftig sind.
Warum eine separate Testumgebung?
- Isolation: Keine Störung des Produktivsystems
- Reproduzierbarkeit: Tests können unter identischen Bedingungen wiederholt werden
- Sicherheit: Sensible Produktionsdaten bleiben geschützt
Aufbau einer Testumgebung
Eine gut geplante Testumgebung umfasst:
- Hardware: Server, Netzwerke, Endgeräte (ähnlich zur Produktion)
- Software: Betriebssysteme, Datenbanken, Applikationsserver
- Testdaten: Realistische, aber anonymisierte Daten
- Tools: Testautomatisierung, Fehlerverfolgung, Build-Management
- Zugriffssteuerung: Nur autorisierte Personen haben Zugang
Best Practice: Automatisiere das Setup und Teardown der Testumgebung, um Zeit zu sparen und Fehler zu vermeiden.
Continuous Integration und Continuous Testing
Continuous Integration (CI) und Continuous Testing (CT) automatisieren den Build- und Testprozess. Bei jedem Code-Commit werden automatisch Tests ausgeführt.
Der typische Ablauf:
- Entwickler pusht Code ins Repository
- CI-System erkennt Änderung und startet Build
- Automatisierte Tests laufen (Unit, Integration, ggf. E2E)
- Ergebnis wird sofort an das Team gemeldet
Dies ermöglicht Shift Left Testing: Fehler werden früh erkannt, wenn sie noch günstig zu beheben sind.
Vorteile von CI/CT
Die Einführung von CI/CT bringt zahlreiche Vorteile für das gesamte Entwicklungsteam:
| Vorteil | Beschreibung |
|---|---|
| Schnelles Feedback | Fehler werden in Minuten statt Tagen erkannt |
| Automatisierung | Keine manuellen Build- und Testschritte nötig |
| Regressionssicherheit | Automatische Tests verhindern, dass alte Fehler zurückkehren |
| Dokumentation | Build-History dient als Qualitätsnachweis |
| Team-Effizienz | Entwickler können sich auf Code konzentrieren |
Gängige CI-Tools sind Jenkins, GitLab CI, GitHub Actions und Azure DevOps.
Die Test Automation Pyramid
Die Test Automation Pyramid (Mike Cohn) zeigt die optimale Verteilung automatisierter Tests:
/\
/ \ UI-Tests (wenige, langsam, teuer)
/----\
/ \ Integrationstests (mittel)
/--------\
/ \ Unit-Tests (viele, schnell, günstig)
/------------\
- Basis (Unit-Tests): Schnell, günstig, zahlreich
- Mitte (Integrationstests): Prüfen das Zusammenspiel von Komponenten
- Spitze (UI-Tests): Langsam, teuer, daher sparsam einsetzen
Diese Verteilung optimiert Feedback-Geschwindigkeit und Wartungsaufwand.
Zusammenfassung und Ausblick
Zusammenfassung
Testpläne und Testspezifikationen
In dieser Lerneinheit hast du die Grundlagen der Testplanung und des Testmanagements kennengelernt.
- Ein Testplan ist das zentrale Steuerungsdokument und beantwortet WAS, WIE und WANN getestet wird
- Internationale Standards wie IEEE 829 und ISO 29119 geben eine bewährte Struktur vor
- Testfälle beschreiben Vorbedingungen, Testschritte, erwartete Ergebnisse und Nachbedingungen
- Gute Testfälle sind eindeutig, wiederholbar und nachvollziehbar
Aufwandsschätzung und Testumgebung
- Typischerweise entfallen 30 bis 50 Prozent des Projektaufwands auf Tests
- Schätzungsmethoden wie Expertenurteil, Analogie oder Function Point Analysis helfen bei der Planung
- Eine isolierte Testumgebung ermöglicht reproduzierbare Tests ohne Störung des Produktivsystems
CI/CT und Testautomatisierung
- Continuous Integration (CI) und Continuous Testing (CT) automatisieren Build- und Testprozesse
- Die Test Automation Pyramid zeigt die optimale Verteilung: viele Unit-Tests, wenige UI-Tests
- Shift Left Testing bedeutet: Fehler früh erkennen, wenn sie noch günstig zu beheben sind
Ausblick
In der nächsten Lerneinheit Testautomatisierung vertiefst du das Thema automatisierte Tests. Du lernst konkrete Tools und Frameworks kennen und erfährst, wie du eine effektive CI/CT-Pipeline aufbaust.