| Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf bitte mit, ihn zu verbessern, und entferne anschließend diese Markierung. |
Validierung in der Informatik und Softwaretechnik ist die dokumentierte Beweisführung, dass ein System die Anforderungen in der Praxis erfüllt.
Inhaltsverzeichnis |
In der Softwaretechnik bezeichnet Validierung (auch Plausibilisierung, als Test auf Plausibilität, oder engl. Sanity Check genannt) die Kontrolle eines konkreten Wertes darauf, ob er zu einem bestimmten Datentyp gehört oder in einem vorgegebenen Wertebereich oder einer vorgegebenen Wertemenge liegt. Die meisten Programmfehler und Sicherheitsprobleme sind letztlich auf fehlende Plausibilisierung von Eingabewerten zurückzuführen.
Für die Validierung gilt die goldene Regel: never trust the user (traue niemals dem Benutzer) - wobei der „Benutzer“ auch ein Programmierer sein kann, der die fraglichen Funktionen und Module verwendet. Die Validierung von Werten kann und soll also an verschiedenen Punkten der Lebenszeit einer Software stattfinden:
Im Bereich der Softwarequalitätssicherung wird unter Validierung (Validation) die Prüfung der Eignung beziehungsweise der Wert einer Software bezogen auf ihren Einsatzzweck verstanden. Die Eignungsprüfung erfolgt auf Grundlage vorher aufgestellten Anforderungsprofils und kann sowohl technisch als auch personell geschehen.
Umgangssprachlich formuliert wird die Frage "Wird das richtige Produkt entwickelt?" beantwortet. (Lit.: Balzert S. 101) Es wird also die Effektivität der Entwicklung sichergestellt.
Im Zusammenhang mit dem V-Modell wird die Validierung der Anforderungsdefinition bzw. dem Abnahmetest zugeordnet. Insofern ist unter der Validierung die Überprüfung der Eignung der Anforderungsdefinition mit den ursprünglichen Zielen des Kunden zu verstehen. Methoden der Validierung umfassen:
In agilen Entwicklungsprozessen wie XP wird Validierung durch die
sichergestellt.
Im Gegensatz zur Validierung bezeichnet die Verifikation in der Softwaretechnik den formalen Beweis, dass ein Softwareartefakt (Methode, Klasse, Modul,…) die korrekten Ergebnisse liefert. Wurde ein Softwareartefakt verifiziert, so ist sichergestellt, dass es korrekt funktioniert, d. h. in jedem Fall das spezifizierte Verhalten aufweist.
In der Verifikation wird dagegen überprüft, ob ein System seiner formalen Spezifikation genügt. Die umgangssprachliche Formulierung lautet: "Bauen wir das Produkt richtig?". Es ist durchaus denkbar, dass eine Software ihre Spezifikation erfüllt, jedoch für den Kunden nur geringen Nutzen hat.
Methoden zur Verifikation umfassen: