Qualität wird nicht ertestet, sondern erzeugt.
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 ähneln.
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
Beispielprojekte
Im größten IT-Programm der Unternehmensgeschichte erneuert ein Energieversorgungsunternehmen seine komplette IT-Landschaft für die Vertriebs-, Netz-, Abrechnungs- und Metering-Prozesse. Mehrere verschiedene Systeme sind nötig, um alle Prozessketten IT-seitig zu unterstützen und mehrere Millionen Zählpunkte, Anschlüsse und Kundenrechnungen abzuwickeln.
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.
Im gleichen IT-Programm, das im vorhergehenden Beispiel beschrieben wurde, war es aufgrund eines sehr engen Zeitkorridors für den Umbau und den Start der produktiven Systeme notwendig, den Ablauf des Go-live mit mehreren Hundert Aktivitäten und Aufgaben und vielen beteiligten Organisationseinheiten minutiös zu simulieren. Zudem sollten auch die während der Downtime bereitgestellten Prozesse und Funktionen für einen Interimsbetrieb sowie der nicht völlig ausschließbare Rollback-Fall, also die Reaktivierung der bisherigen Systemlandschaft, mehrfach geprobt werden. 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 in 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.