Was ist Software-Validierung?
Die Software-Validierung erbringt den dokumentierten Nachweis, dass Software gemäß den Anforderungen dauerhaft funktioniert.
Durch Aufsichtsbehörden, beispielsweise in der Pharmaindustrie (FDA, EMA), kann in der Einführung oder Änderung einer Software die Software-Validierung gefordert werden. Allerdings ist die Software-Validierung in jedem Softwareprojekt sinnvoll. Moderne Softwareprodukte sind in ihren Anforderungen sehr umfangreich und die Entwickler selbst sind dankbar, wenn erfahrene Software-Validierungsingenieure die Teilbereiche der Software kontrollieren. Das Vier-Augen-Prinzip sichert hierbei die Qualität der Software. Die nachfolgende Gliederung beschreibt einen typischen Ablauf bei Software-Projekten, in deren Rahmen eine Software-Validierung gefordert wird.
Validierungsplanung
Der Validierungsplan beinhaltet die Validierungsanforderungen und die Validierungs-Aktivitäten, die während des Projektverlaufs durchgeführt werden sollen. Hierbei ist es wichtig, die Validierungsplanung frühzeitig mit dem Projektplan abzustimmen. Die Validierungsplanung sollte mit dem Projektstart beginnen, damit der zeitliche Aufwand für die Validierungsaktivitäten schnell abgeschätzt werden kann.
Validierung der Software Anforderungen
Die Anforderungen an eine Software werden in der Regel von Personen geschrieben, die nicht in der Software-Entwicklung tätig sind. Daher gehört zu jeder guten Software-Validierung die frühzeitige Prüfung der Anforderungen. Hierbei wird die Anforderungsformulierung auf Eindeutigkeit geprüft und ggf. angepasst, bevor die Software entwickelt wird. Diese Vorgehensweise vermeidet, dass Fehlinterpretationen von Anforderungen zu einer ungewünschten Funktion in der Software führen.
Testplanung/Testerstellung
Zu Beginn der Testplanung werden die Testziele definiert. Welche Softwarebereiche müssen in welchem Umfang getestet werden? Die Festlegung der Testziele in der Testplanung soll unnötiges Testen vermeiden und somit die Kosten im Rahmen halten. In den meisten Software-Projekten wird der Testumfang anhand einer Risikoanalyse ermittelt. Hierbei sollte darauf geachtet werden, dass die Risikoeinschätzung mit der Softwareentwicklung abgesprochen wird. Nur die Entwickler können genau sagen, welche Teile der Software geändert oder neu erstellt werden. Die Tests werden anhand der Anforderungen an die Software erstellt. Die Testerstellung wird durch die Testautomatisierung beschleunigt. Inwieweit eine Testautomatisierung möglich ist, kann in der Testplanung bewertet und festgelegt werden.
Testdurchführung
Bei der Testdurchführung ist es wichtig, dass die Testerstellung eindeutig erfolgt ist. Wenn der Softwaretester zu viel Zeit mit Interpretation der Tests verbringt, dauert die Testdurchführung zu lange. In Software-Projekten werden die abschließenden Tests am Ende des Entwicklungsprozesses durchgeführt, daher ist die Zeit immer knapp und eine schnelle und effiziente Testdurchführung sollte stets gewährleistet werden. Bei der Testausführung ist es besonders wichtig, dass die Ergebnisse des Testablaufes dokumentiert werden. Die Test-Dokumentation wird benötigt, um aufgetretenes Fehlverhalten der Software im Nachgang bewerten zu können.
Review der Softwaretests
Die Ergebnisse der Softwaretests werden durch einen Projektverantwortlichen geprüft und bewertet. Wenn das Fehlverhalten der Software schwerwiegend ist, muss die Software nachgebessert und erneut getestet werden. Wenn Fehlverhalten der Software nicht schwerwiegend und für den Endkunden akzeptabel sind, kann der Projektverantwortliche den Softwarestand freigeben. Hierbei ist es wichtig, dass das Fehlverhalten der Software und die Begründung der Freigabe im Validierungsabschlussbericht festgehalten wird. Somit kann die Software im nächsten Release nachhaltig verbessert werden. Im besten Fall hat die getestete Software keine Fehler und kann sofort freigegeben werden.
Validierungsabschlussbericht
Am Ende der Validierungstätigkeiten werden alle Ereignisse, die während der Validierung auftraten, bewertet und im Validierungsbericht zusammengefasst. Zudem wird die Einhaltung der Validierungsplanung und der definierten Aktivitäten abschließend von den verantwortlichen Systembetreibern überprüft und freigegeben.
Erhalten des validen Softwarezustandes
Wenn im Betrieb der Software ein Fehlverhalten entdeckt wird, ist es wichtig, dass zuvor eine Vorgehensweise zur Fehlerbehandlung festgelegt wurde. Die Meldungen sollten zentral gespeichert und bewertet werden.