Die Testplanung ist eine wesentliche Aufgabe des Testmanagements und ist, zumindest in leitender Funktion, vom Testmanager wahrzunehmen. Die Testplanung ist eine sehr frühe Aktivität innerhalb des Testprozesses mit dem Ziel der Erstellung oder Fortschreibung des Testkonzepts für das Softwareprojekt. Die Testplanung sollte in enger Abstimmung mit der Softwareentwicklung und den Mitarbeitern des Testteams erfolgen. Die Testplanung erfolgt dabei auf unterschiedlichen Abstraktionsebenen.
Auf dieser höchsten Ebene der Testplanung ist zu klären, wie viel Testaufwand für das aktuelle Projektüberhaupt angemessen ist. Für jedes Testobjekt ist die Intensität der durchzuführenden Tests und die Auswahl der zu überprüfenden Qualitätsmkermale individuell festzulegen. (Beispiel: Brauchen wir einen Performancetest? Wenn ja, für welche Komponenten?).
Hier geht es hauptsächlich um die Frage, wie in den einzelnen Teststufen zu testen ist und wer die jeweiligen Tests durchführt. Konkret ist zu klären, wie der Testentwurf zu gestalten ist, wie detailliert die Dokumentationsführung sein soll, wie viele Testzyklen vorzusehen sind, welche Metriken und Reports für die Teststeuerung benötigt werden, welche unterstützenden Tools einzusetzen sind, etc.
Auf der untersten Ebene erfolgt eine detaillierte Planung, was in den nächsten 1-4 Wochen zu tun ist. Insbesondere werden Testaktivitäten gemäß des aktuellen Projektstatus priorisiert. Die Testplanungen im High und Medium Level sollten möglichst früh im Projektzeitplan erfolgen. Die Planungsergebnisse werden mit jedem neuen Zyklus entsprechend dem aktuellen Entwicklungsstand angepasst. Darauf basierend erfolgt auch die Aufwandsschätzung.
Im Testmanagement spielt die korrekte Testplanung eine entscheidende Rolle für den späteren Erfolg des Tests. Sie umfasst eine Reihe von Aktivitäten, deren Abarbeitung vom Testmanager zu kontrollieren ist:
Eingangskriterien sind Bedingungen, die erfüllt sein müssen, um den jeweiligen Test zu starten. Ein einfaches
Beispiel wäre, dass die Teststufe des Systemtests erst gestartet werden darf, wenn alle Integrationstests
erfolgreich abgeschlossen sind.
Weitere Beispiele:
Endekriterien sind Bedingungen, die erfüllt sein müssen, um den jeweiligen Test abzuschließen. Grundlage
für Endekriterien können Intensitätsmaße (Codeüberdeckung, etc.), Maxima nicht behobener Fehlerzustände,
Kosten oder auch Zeitpläne sein.
Beispiele für Endekriterien:
Die Ergebnisse der Testplanung finden Ihren Niederschlag im Testkonzept. Es kann in Form eines für alle
Teststufen gültigen Mastertestkonzepts oder in Form mehrerer Stufentestkonzepte, jeweils gültig für
eine einzelne Teststufe, erstellt werden.
Eine mögliche Gliederung für ein Testkonzept kann dem Standard IEEE 29119-3: "Test Documentation" entnommen werden.
Sollte eine Testrichtlinie der zu testenden Organisation existieren, so sollte diese während der Testplanung berücksichtigt werden und im Testkonzept Niederschlag finden. Testplanung ist eine kontinuierliche Aktivität, das Testkonzept ein lebendes Dokument. Erfahrungen aus den einzelnen Testaktivitäten sind zu nutzen, um ändernde Risiken und Randbedingungen zu erkennen. Es ist Aufgabe des Testmanagements diese durch Fortschreiben des Testkonzepts angemessen zu berücksichtigen.
Fordern Sie kostenlos den „Überblick der Software Testing Methoden“ als PDF an und erhalten Sie ausführliche Informationen zu Testarten und Testverfahren in einer Datei für Sie zusammengetragen und erläutert.
Bei der Teststrategie handelt es sich um eine abstrakte Beschreibung der vorgesehenen Teststufen und der Art und Weise, wie
innerhalb dieser Teststufen vorzugehen ist.
Im Testmanagement geht die konkrete Umsetzung einer Teststrategie in einem spezifischen Projekt aus der Testvorgehensweise
hervor. Die Testvorgehensweise enthält die getroffenen Entscheidungen zur Erreichung der
(Test-)Projektziele, die Ergebnisse der Risikoanalyse, die Testentwurfsverfahren, die Endekriterien und
die geplanten durchzuführenden Tests (Testarten).
Die Wahl einer geeigneten Testvorgehensweise ist abhängig vom Kontext. Die Auswahl wird beeinflusst
durch Faktoren wie Risiken, verfügbare Ressourcen und Kompetenzen, die Technologie, Art des Systems (z.B. maßgeschneidert oder kommerzielle COTS-Software), Testziele und Vorschriften.
Die Teststrategie und Testvorgehensweise werden in den Testkonzepten definiert. Im Testentwurf werden diese dann weiter konkretisiert und verfeinert.
Zu den gängigen Testvorgehensweisen zählen:
Wie das risikoorientierte Testen, in dem das Testen auf die Bereiche der größten Risiken ausgerichtet ist
Wie das stochastische Testen, das statistische Informationen über Ausfallraten (beispielsweise Zuverlässigkeitswachstumsmodelle) oder Systembenutzung (beispielsweise Benutzungsprofile) nutzt
Wie das ausfallbasierte (einschließlich intuitiver Testfallermittlung und Fehlerangriff), erfahrungsbasierte, checklistenbasierte und qualitätsmerkmalbasierte Testen
Spezifiziert durch Industriestandards oder die verschiedenen agilen Methoden
Wie das explorative Testen, bei dem das Testen weniger vorgeplant ist und stärker auf Ereignisse reagiert und Durchführung und Auswertung parallel laufen. Zu den gängisten Methoden zählen Black Box Test und White Box Test.
In denen die Testüberdeckung primär durch Hinweise und Beratung von Technologie- und/ oder Geschäftsbereichsexperten außerhalb des Testteams getrieben wird
Bei denen man vorhandene Tests und Testumgebungen (aus früheren Projekten), umfangreiche
Automatisierung von funktionalen Regressionstests und Standardtestsuiten als Ausgangsbasis
übernimmt. Ziel ist, die Tests schnell und pragmatisch aufzusetzen
Unterschiedliche Ansätze können kombiniert werden, beispielsweise zu einer risikoorientierten dynamischen
Vorgehensweise.
Spillner, A., Linz, T. Basiswissen Softwaretest – Aus- und Weiterbildung zum Certified Tester, 6. Auflage, 2019, dpunkt Verlag
Certified Tester Foundation Level Syllabus – Version 2018 V3.1D