Begriffsdefinition

Verifikation und Validierung

Begriffsdefinition

Die Verifikation und Validierung bilden den Prüfprozess der Produktentwicklung. Besonders einfach sind die beiden Begriffe anhand des V-Modells zu erklären:  

V-Modell.png

In der unteren Hälfte des V-Modells bilden die Tests die Verifikation. Dazu gehören Modultests, Integrationstests und Systemtests. Hierbei wird geprüft, ob die technischen Anforderungen aus dem Pflichtenheft erfüllt werden.

Ein Beispiel: Der Kunde möchte Sensordaten vom Ort A nach B versenden, um sie anschließend auszuwerten. Dazu wurde im Pflichtenheft festgelegt, dass das System eine bestimmte Übertragungsrate erfüllen muss. Bei der Verifikation wird diese Anforderung geprüft.

Nach der Verifikation wird im oberen Teil des V-Modells die Validierung durchgeführt. Hier werden die Tests zu realen Ablaufbedingungen durchgeführt. Es wird dabei geprüft, ob das entwickelte System den fachlichen Anforderungen (Lastenheft) nachkommt. Denn es könnte vorkommen, dass zwar alle technischen Anforderungen erfüllt werden, sich aber trotzdem nicht der erhoffte Nutzen aus dem System ergibt.

Weiter zum Beispiel: Bei der Verifikation wurde bereits geprüft, dass die geforderte Übertragungsrate im System eingehalten wird.  Mit der Validierung soll nun beurteilt werden, ob mit der Übertragung von Sensordaten mit dieser Abtastrate überhaupt eine erfolgreiche Auswertung jener Daten stattfinden kann. Dabei wird festgestellt, dass die Daten erst mit einer höheren Abtastrate oder im Kontext anderer Sensorwerte einen Mehrwert bringen. Daher bringt das System trotzdem nicht den erwarteten Nutzen, obwohl die technischen Anforderungen eingehalten wurden. Die Validierung kann somit Fehler im Pflichtenheft aufdecken.

In der agilen Software-Entwicklung kann der Ablauf der Verifikation und Validierung variieren.  Es ist dabei eine Herausforderung den in Normen für sicherheitskritische Systeme verlangten Entwicklungsablauf nachzukommen und trotzdem den Verwaltungsaufwand (z.B. Dokumentation) gering zu halten. Daher wird bei der Entwicklung sicherheitskritischer Systeme oft noch auf das V-Modell zurückgegriffen, obwohl es in anderen Branchen von der agilen Software-Entwicklung bereits großflächig abgelöst wurde.

Zusammenfassung:
Die Verifikation prüft, ob das System richtig entwickelt wurde.
Die Validierung prüft, ob das richtige System entwickelt wurde.