See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Validierung (Informatik) – Wikipedia

Validierung (Informatik)

aus Wikipedia, der freien Enzyklopädie

Validierung ist die dokumentierte Beweisführung, dass ein System die Anforderungen in der Praxis erfüllt.

Inhaltsverzeichnis

[Bearbeiten] Validierung als Plausibilitätsprüfung

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. Sie ist ein wichtiger Aspekt der Qualitätssicherung, der sicherstellen soll, dass ein implementiertes Programm den vorher aufgestellten Anforderungen genügt. 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 Entwicklungsprozess: Während das Programm entsteht, sollten regelmäßig die einzelnen Funktionen und Module so genannten Unit-Tests unterzogen werden, die die Software stichprobenartig auf korrektes Verhalten überprüfen.
  • Bei der Übersetzung des Programmes: einige Arten der Validierung können bereits von Compiler vorgenommen werden, insbesondere die Typprüfung.
  • Durch die Laufzeitumgebung: Viele Programmiersprachen haben ein Laufzeitsystem, das bestimmte Arten von Fehlern selbständig erkennt; insbesondere der Zugriff auf nicht vorhandene Objekte wird von vielen modernen Systemen erkannt.
  • Zur Laufzeit: Alle Funktionen und Module sollten defensiv umgesetzt sein, sich also nicht darauf verlassen, dass sie korrekt verwendet werden. Das heißt sie sollten, wenn sie mit falschen Parametern verwendet werden, sofort einen Fehler melden statt komplizierte Folgefehler zu riskieren (es gilt die Faustregel: fail fast - schneller Abbruch). Hierfür eignet sich vor allem das Konzept der Ausnahmebehandlung. Bei falschen Parameterwerten, die nach Ansicht des Programmieres "eigentlich nie vorkommen dürfen", kommen Assertions zum Einsatz.
  • Bei Benutzereingaben: hier gilt der Grundsatz was sich überprüfen lässt, wird auch überprüft. Bei ungültigen Eingaben wird eine Fehlermeldung ausgegeben und die Verarbeitung abgelehnt. Bei zweifelhaften Eingaben kann eine Warnung, d. h. eine Bitte um Überprüfung durch den Anwender ausgegeben werden.
  • Bei XML Daten: Elemente und Attribute werden gegenüber einem Schema überprüft. Schlägt diese Überprüfung fehl, gelten die XML Daten als nicht valide.

[Bearbeiten] Validierung in der Softwarequalitätssicherung

Unter Validierung (Validation) wird die Eignung beziehungsweise der Wert einer Software bezogen auf ihren Einsatzzweck verstanden. 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:

  • Reviews mit dem Kunden zur Aufdeckung von Unklarheiten und irrtümlichen Annahmen
  • Prototyping von Benutzeroberflächen als Kommunikationsgrundlage mit dem Anwender
  • Inkrementelle Entwicklung für schnelles Kundenfeedback

In agilen Entwicklungsprozessen wie XP wird Validierung durch die

  • permanente Anwesenheit des Kunden
  • Nutzerakzeptanztests
  • kundennutzenbezogene Releaseplanung im XP-Planspiel
  • kurzen Releasezyklen

sichergestellt.

[Bearbeiten] Abgrenzung zur Verifikation

[Bearbeiten] Verifikation als Beweis der Korrektheit

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.

[Bearbeiten] Verifikation in der Softwarequalitätssicherung

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:

[Bearbeiten] Literatur

H. Balzert: Lehrbuch der Software-Technik. Bd.2. Software-Management, Software-Qualitätssicherung, Unternehmensmodellierung. Spektrum Akademischer Verlag, Heidelberg 1998. ISBN 3-8274-0065-1

[Bearbeiten] Weblinks

[Bearbeiten] Siehe auch


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -