Testplanung
R 2.1.0
Beschreibung
Bevor Softwaretests starten können, stellt sich vor der konkreten Umsetzung in den Projekten zunächst die Frage, wie man beim Testen am besten vorgeht.
Der fundamentale Testprozess nach ISTQB bietet für diese Frage eine geeignete Orientierung. Er wird durch die Testplanung und -steuerung eingeleitet. Alle folgenden Phasen im Prozess sind abhängig von den erarbeiteten Vorgaben aus dieser ersten Stufe. Die Ergebnisse der Testplanung werden im Testkonzept festgehalten und während der Projektlaufzeit fortlaufend aktualisiert.
In der Testplanung werden zunächst die abstrakten Rahmenbedingungen wie Strategie, der Umfang und das Testobjekt für den Test definiert. Die Planung des zeitlichen Aufwands sowie der benötigten Ressourcen gehören genauso dazu wie die Definition des Vorgehens inkl. Metriken und Ein- und Ausgangskriterien. Es wird ebenso definiert, welche Werkzeuge verwendet werden und wie die Berichterstattung sowie die Einbeziehung der Beteiligten vorgesehen ist.
Der konkrete zeitliche und organisatorische Testplan für die Durchführung der Testmaßnahmen entsteht in der Phase Realisierung und Durchführung und ist folgendermaßen definiert:
Testplan
Testplanungen werden grundsätzlich von einem Testmanager erstellt. Ihre Erstellung erfolgt in den meisten Fällen als ein tagesgenauer Zeitplan in Tabellenform. In einem Testplan kann abgelesen werden, welche Person zu welchem Zeitpunkt die Testfälle mit einer bestimmten Priorität oder zu einer bestimmten Anforderung vorbereiten oder durchführen soll. Ein Testplan ist so angelegt, dass Abweichungen vom geplanten Vorgehen und deren Auswirkungen automatisch aktualisiert werden können und somit unmittelbar erkennbar sind. Bei größeren Projekten empfiehlt sich der Einsatz einer speziellen Software mit Schnittstelle zum Projektplanungstool.
Wichtig für die Testplanung ist die Kenntnis des jeweiligen Testziels, da sich daraus der Umfang der Testdurchführung und die notwendigen Testfälle ergeben. Andernfalls sind Testziel oder Umfang der Testdurchführung unklar und reduzieren die Aussagekraft des Tests. Die Rahmenbedingungen für die Durchführung werden im Testkonzept festgelegt.
Vorgehen in klassischen/schwergewichtigen Prozessen
In Projekten, die dem phasengesteuerten Wasserfallmodell folgen, ist die Erstellung und Abnahme eines formalen Testplans ein Eingangskriterium, um die Prüfphase beginnen zu können.
In solchen Projekten kann für jede Teststufe ein Testplan erforderlich sein, der langfristig Anwendung findet.
Für welchen (Release-)Zeitraum der Plan jeweils zu erstellen ist, wird von der Projektleitung festgelegt.
Vorgehen in agilen/leichtgewichtigen Prozessen
In Projekten, die einem iterativen Ansatz folgen, ist die Erstellung und Abnahme eines formalen Testplans in aller Regel nicht zielführend.
Für das Testen neuer Funktionen innerhalb eines agilen Entwicklungszeitraums kann üblicherweise nicht bereits vorab ein umfassender Testplan erstellt werden. Die Planung und Entstehung liegt anders als bei phasengesteuerten Vorgehensweisen im Sprint selbst, analog zur Testfallspezifikation. Es muss kurzfristig reagiert und angepasst werden können.
Anders als die beschriebenen Tests neuer Funktionen und Regressionstests sind abschließende Abnahmetests - sofern zusätzlich gefordert - i.d.R. nicht Teil eines Sprints. In diesen Fällen sollte eine separate Planung der Tests erfolgen, z.B. durch den Product Owner.
Schätzungen des Testaufwands
Wie bereits im Baustein Risikobasiertes Testen im QS-Baukasten erwähnt, ist der vollständige Test einer Anwendung aufgrund der Vielzahl von Abhängigkeiten und Eingabeoptionen unmöglich. Bezüglich des einzuplanenden Aufwands für Testmaßnahmen in Entwicklungsprojekten besteht daher zunächst eine gewisse Unsicherheit. Durch den Einsatz strukturierter Methoden (z.B. Expertenschätzungen, analoge Schätzungen, Delphi-Methode, 3-Punkt-Schätzverfahren) können Schätzverfahren dazu beitragen, diese Unsicherheit zu verringern und eine fundierte Prognose für die Testplanung und Kalkulation zu schaffen.
Häufig basieren die Schätzverfahren auf Annahmen und Erfahrungswerten, was immer noch einen gewissen Rest an Unsicherheit mit sich bringt. Eine kontinuierliche Überprüfung und Anpassung der Schätzverfahren ist daher im gesamten Projektverlauf wichtig.
Ein in der Praxis häufig auftretendes Problem stellt die Einsortierung des Tests als letzte Aktion vor der Inbetriebnahme dar. In dieser letzten von aufeinander folgenden Phasen kommt es dann nicht selten dazu, dass sich die ausstehenden Entwicklungsarbeiten verzögern, während der Go-Live Termin jedoch feststeht und aus unterschiedlichen Gründen nicht verschoben werden darf. Somit werden die eingeplanten Testkapazitäten aus Terminzwängen oft gekürzt und eingespart. Eine Lösung für diese Herausforderung ist der sogenannte „Shift-Left-Ansatz“, welcher die Testaktivitäten früher und effizienter in den Entwicklungsprozess einbinden soll. Maßnahmen dieser Art können dazu beitragen, den Testaufwand zu optimieren.
Eine projektübergreifende Verallgemeinerung des Testaufwands ist aus den genannten Gründen sehr schwierig. Nach der im Buch "Basiswissen Softwaretest" von Andreas Spillner und Thilo Linz ausgesprochenen Empfehlung sollte der angenommene Aufwand für die gesamten QS-Maßnahmen der Tests nicht unter 50% des Entwicklungsaufwandes angesetzt werden. Liegen keine detaillierten Anhaltspunkte zum Projekt vor, hat sich diese Faustregel in der Praxis durchaus bewährt.
Grundsätzlich erfordern umfangreiche Entwicklungsarbeiten oft auch umfassendere Tests. Das Verhältnis zwischen Entwicklungs- und Testaufwand kann jedoch je nach eingesetzter Technologie, Projektkontext oder Testmethoden variieren. Es empfiehlt sich, ein ausgewogenes Verhältnis zwischen den beiden anzuwenden, damit Fehler früh entdeckt und kostengünstig korrigiert werden können.
Vorlagen
Im Bereich der Vorlagen sind als Anregung und Einstieg in das Thema initiale Testplanung zwei Tools auf Excel Basis hinterlegt. Diese Entwürfe sollen anhand eines vereinfachten Beispiels darstellen, wie die Berechnung der benötigten Ressourcen für eine feststehende Menge an Testfällen bzw. User Stories erfolgen kann.
Die Benutzung wird in dem jeweiligen Tabellenblatt "HowTo" erklärt.
Quellen
-
Abbildungen Anwendungsbeispiel: FLATICON, Freepik Company S.L. Autor*in: juicy_fish, abgerufen am 27.11.2024
-
ISTQB Glossary Testplanung, abgerufen am 19.08.2024
-
imbus AG, Test, Glossar der Softwaretestfachbegriffe: Testplan, abgerufen am 06.02.2024