Trotz der hehren Ziele jeder Entwicklungsabteilung, bereits in den Design- und Entwicklungsphasen fehlerfrei und normenkonform zu konfigurieren und zu programmieren, sind Software-Tests vor der Auslieferung wichtiger denn je.
Jeder Test verursacht Zeit und Kosten, so dass beim der Wahl des Testumfangs Augenmaß und Risikoabwägung nötig sind. Andererseits reicht es nicht aus, Einzelfälle in Umgebungen und mit Daten zu testen, die nicht der Produktivumgebung nahe kommen.
Als Testmanager setzen wir Hebel ein, um Software-Tests wirksam und effizient zu organisieren:
- Testprozesse in den Entwicklungszyklus integrieren, z.B. durch agile Vorgehensmodelle wie Scrum, XP
- Professionelle Testumgebung und Testdaten schaffen
- Integrierte Tools zur Testfallerstellung, Testdokumentation und zum Fehlermanagement einsetzen
- Testfälle automatisieren
- Abgestufter Testumfang je nach Entwicklungsfortschritt, angefangen von Funktionstests, über Prozesstests, End-to-End-Einzeltests bis hin zu realitätsnahen Massentests.
Testmanagement – Beispiele:
Noch während der Entwicklungsphase übernahmen wir die übergreifende Testkoordination und starteten zusammen mit den beteiligten Teilprojekten und Fachbereichen ein abgestuftes Testverfahren mit mehreren tausend Testfällen für Einzelprozesstests, systemübergreifendenden Tests, End-to-End-Prozesstests und schließlich der Simulation des Tagesbetriebs mit Testdaten aus dem Produktivbetrieb in einer Testlandschaft, die der Produktivumgebung nahekam.
Testdokumentation und Fehlermanagement wurden über eine integrierte SAP® Lösung (Solution Manager) abgewickelt. Die Teststeuerung und das Reporting erfolgten mit agilen Methoden (Daily’s, Kanban-Board, Burndown-Charts, Retrospektiven).
Über einen Zeitraum von neun Monaten wurden mehrere Testzyklen absolviert. Der Aufwand war beträchtlich, doch der Erfolg und das Feedback der Teilnehmer rechtfertigten den Einsatz: Der Produktivbetrieb nach dem Go-live konnte sehr schnell stabilisiert werden, auch dank der intensiven Beteiligung der Anwender während des Testzeitraums – eine wertvolle Einarbeitungs- und Gewöhnungsphase, die weit über den Effekt der Anwenderschulungen hinausging.
Unsere Aufgabe war die Koordination der Interimsbetriebs- und Rollback-Tests, sowie die Koordination von Teilsequenzen des Go-live Tests.
Bereits während der Entwicklungsphase wurden für die jeweiligen Szenarien ausführliche Drehbücher erstellt und die Einzelaktivitäten eine logische und zeitliche Abfolge gebracht.
Die Testdurchführung erfolgte realitätsnah, streng nach Drehbuch und mit der kompletten Mannschaft. Bei der Generalprobe wurden auch Nacht- und Wochenendzeiten genutzt, so wie es auch beim echten Go-live erforderlich war.
Jede Aktivität wurde ausführlich dokumentiert und anschließend in Team-Retrospektiven aufgearbeitet.
Der Lohn für diese sorgfältige Vorbereitung war eine hochkonzentrierte, sehr gut abgestimmte und ohne größere Störungen verlaufende Produktivsetzung, die jederzeit unter Kontrolle war und unter dem gesteckten Zeitrahmen blieb.