03341 Maintenance-Testing – der vergessene Lebenszyklusabschnitt
Dass Software Fehler hat, ist eine akzeptierte Tatsache. Im Betrieb treten diese Fehler häufig nach der Änderung eines Softwaresystems oder seiner Umgebung zutage. Dann besteht die Gefahr, dass sie ein laufendes System lahm legen oder ein Einfallstor für einen Cyberangriff öffnen. Maintenance-Testing bzw. Wartungstests, d. h. der Test einer bereits im Einsatz befindlichen Software, ist daher ein unverzichtbarer Bestandteil eines modernen Software Lifecycle Management. Sorgfältig und frühzeitig geplante, routinemäßig und solide durchgeführte Wartungstests tragen zum einen zur erhöhten Zuverlässigkeit und Sicherheit von IT-Systemen bei. Zum andern senken sie die Betriebskosten eines Softwaresystems. Dieser Beitrag behandelt die bewährten Vorgehensweisen und gängigen Standards für die Planung und Durchführung von Wartungstests detailliert. Arbeitshilfen: von: |
1.1 Was sind Wartungstests?
Dass Software Fehler hat, ist eine akzeptierte Tatsache. Im Betrieb treten diese Fehler häufig nach der Änderung eines Softwaresystems oder seiner Umgebung zutage. Dann besteht die Gefahr, dass sie ein laufendes System lahmlegen oder ein Einfallstor für einen Cyberangriff öffnen. Maintenance-Testing bzw. Wartungstests, d. h. der Test einer bereits im Einsatz befindlichen Software (vgl. ISTQB [1] ), ist daher ein unverzichtbarer Bestandteil eines modernen Software Lifecycle Management. Sie müssen immer dann durchgeführt werden, wenn sich die Software selbst (Änderungen, Patches, Upgrades) oder ihre Umgebung (z. B. Betriebssystem, Middleware, Hardware usw.) ändert – oder wenn ein System außer Dienst gestellt wird. Im letzteren Fall müssen gegebenenfalls Archivierungs- und Migrationsstrategien geprüft werden.
Sorgfältig und frühzeitig geplante, routinemäßig und solide durchgeführte Wartungstests tragen zu einer erhöhten Zuverlässigkeit und Sicherheit von IT-Systemen bei. Dieser Beitrag behandelt detailliert bewährte Vorgehensweisen und gängige Standards für die Planung und Durchführung von Wartungstests.
Lebenszyklusmodelle, GAMP, DevOps
Der Einsatz ist der längste Abschnitt im Lebenszyklus einer Software. Der Fokus der meisten Lebenszyklusmodelle (V-Modell, agile Prozessmodelle wie Scrum) liegt allerdings auf der Entwicklung – von der Anforderungserhebung bis hin zur Einführung der Software. Erst in jüngerer Zeit setzt sich in weiten Kreisen der IT-Branche die Erkenntnis durch, dass Entwicklung, Betrieb und Qualitätssicherung der Software nicht getrennt voneinander betrachtet werden dürfen. Im DevOps (vgl. Erich/Amrit/Daneva [2] ) wird Qualitätssicherung als wesentliches Bindeglied zwischen Entwicklung (Development) und IT-Betrieb (Operations) der Software gesehen. In produzierenden und regulierten Branchen wie der Pharmaindustrie existiert diese Erkenntnis schon länger – unter anderem aufgrund der dort bestehenden Pflicht, IT-Systeme zu validieren (vgl. Graf [3] ). Leitfäden zur Durchführung von Validierungen, wie z. B. der GAMP V Guide der ISPE, bieten darum gute Ansätze für die systematische Planung von Wartungstests.
Der Einsatz ist der längste Abschnitt im Lebenszyklus einer Software. Der Fokus der meisten Lebenszyklusmodelle (V-Modell, agile Prozessmodelle wie Scrum) liegt allerdings auf der Entwicklung – von der Anforderungserhebung bis hin zur Einführung der Software. Erst in jüngerer Zeit setzt sich in weiten Kreisen der IT-Branche die Erkenntnis durch, dass Entwicklung, Betrieb und Qualitätssicherung der Software nicht getrennt voneinander betrachtet werden dürfen. Im DevOps (vgl. Erich/Amrit/Daneva [2] ) wird Qualitätssicherung als wesentliches Bindeglied zwischen Entwicklung (Development) und IT-Betrieb (Operations) der Software gesehen. In produzierenden und regulierten Branchen wie der Pharmaindustrie existiert diese Erkenntnis schon länger – unter anderem aufgrund der dort bestehenden Pflicht, IT-Systeme zu validieren (vgl. Graf [3] ). Leitfäden zur Durchführung von Validierungen, wie z. B. der GAMP V Guide der ISPE, bieten darum gute Ansätze für die systematische Planung von Wartungstests.