Entwurfsverifizierungs- und Validierungsprozess

โšก Intelligente Zusammenfassung

Die Designverifizierung bestรคtigt, dass das Designergebnis den dokumentierten Designvorgaben entspricht, wรคhrend die Designvalidierung sicherstellt, dass das fertige Produkt die tatsรคchlichen Bedรผrfnisse der Nutzer erfรผllt. Beide Prozesse laufen wรคhrend des gesamten Entwicklungsprozesses, nicht erst am Ende.

  • ๐Ÿ”˜ Zwei verschiedene Fragen: Bei der Verifikation wird geprรผft, ob das Produkt richtig konstruiert wurde, bei der Validierung wird geprรผft, ob รผberhaupt das richtige Produkt konstruiert wurde.
  • โ˜‘๏ธ Eingรคnge und Ausgรคnge: Die Designeingabe umfasst die physikalischen und leistungsbezogenen Anforderungen; die Designausgabe ist das Ergebnis jeder Designphase und wird im Rahmen der Verifikation untersucht.
  • โœ… Objektive Beweise: Die Validierung ist erst dann abgeschlossen, wenn ein physischer Nachweis dafรผr vorliegt, dass das Produkt die dokumentierten Benutzeranforderungen erfรผllt.
  • ๐Ÿงช Fรผnfstufige Verifizierung: Identifizierung und Vorbereitung, Planung, EntwicklungpingDie Ausfรผhrung und Berichterstattung bilden die Standardverifizierungssequenz.
  • ๏ธ TracDurchgรคngige Vertrรคglichkeit: Die Verknรผpfung von Designvorgaben, Testfรคllen und Ergebnissen beweist, dass tatsรคchlich alle Anforderungen erfรผllt wurden.
  • ๐Ÿ“ˆ Die Reihenfolge ist wichtig: Die Validierung folgt auf eine erfolgreiche Verifizierung, und eine Verifizierung ist niemals ein akzeptabler Ersatz fรผr diese.

Designverifizierungs- und Validierungsprozess in der Softwareentwicklung

Designรผberprรผfung

Designรผberprรผfung Die Verifizierung ist eine Methode, um durch Prรผfung und Nachweis zu bestรคtigen, dass die Ausgabe eines entwickelten Softwareprodukts den Eingabespezifikationen entspricht. Ziel der Verifizierung wรคhrend der Softwareentwicklung ist es, sicherzustellen, dass das entwickelte Softwareprodukt den Spezifikationen entspricht.

Als Design-Input gelten alle physikalischen und leistungsbezogenen Anforderungen, die als Grundlage fรผr das Design dienen. Das Design-Output ist das Ergebnis jeder Designphase und des gesamten Designaufwands. In regulierten Branchen wie der Medizintechnik bildet das finale Design-Output die Grundlage fรผr die Gerรคtedokumentation. Daher findet sich die Terminologie der Designkontrolle so hรคufig in der Verifizierungsdokumentation.

In der Praxis vergleicht die Verifizierung zwei Dokumentensรคtze: die ursprรผnglichen Spezifikationen, Normen und Vorgaben mit den resultierenden Zeichnungen, dem Code und den Testanweisungen. Jede Abweichung zwischen ihnen stellt einen Verifizierungsbefund dar.

Design-Validierung

Die Verifizierung beweist die interne Konsistenz. Die Validierung stellt die schwierigere Frage, ob die Spezifikation รผberhaupt das richtige Produkt beschrieben hat.

Design-Validierung Die Designvalidierung ist ein Prozess zur Bewertung des Softwareprodukts anhand der genauen Anforderungen von Endnutzern oder Stakeholdern. Ziel der Designvalidierung ist es, das Softwareprodukt nach der Entwicklung zu testen, um zu bestรคtigen, dass es diese Anforderungen in der jeweiligen Nutzerumgebung erfรผllt.

Bei der Validierung geht es darum, die Konsistenz und Vollstรคndigkeit eines Designs im Hinblick auf die Nutzerbedรผrfnisse nachzuweisen. In dieser Phase wird eine Version des Produkts entwickelt und anhand der Nutzeranforderungen validiert.

Das Banner unten kennzeichnet die beiden Hรคlften der Aktivitรคt, so wie sie รผblicherweise in Konstruktionsunterlagen dargestellt werden.

รœberschrift โ€žDesignvalidierungโ€œ, die in Designkontrolldatensรคtzen verwendet wird

Das nachfolgende Diagramm zeigt den Designvalidierungsprozess selbst, von den Benutzerbedรผrfnissen bis zum validierten Produkt.

Ablauf des Designvalidierungsprozesses von den Benutzerbedรผrfnissen bis zum validierten Produkt

Ziel ist es, anhand objektiver Beweise nachzuweisen, dass das Produkt die dokumentierten Nutzerbedรผrfnisse erfรผllt. Objektive Beweise sind schlichtweg physische Belege fรผr das Ergebnis โ€“ beispielsweise ein Bild, eine Textdatei, eine Audiodatei oder ein unterzeichneter Bericht โ€“, die belegen, dass das Verfahren tatsรคchlich durchgefรผhrt wurde.

Anhand dieser objektiven Nachweise wird im Prozess fortlaufend geprรผft, ob das Produkt die vordefinierten Anforderungen erfรผllt. Dies umfasst Testaktivitรคten, Inspektionen, Analysen und รคhnliche Verfahren, weshalb die Validierung รผblicherweise auf diesen Nachweisen basiert. Systemtests und User Acceptance Testing anstatt auf Ebene der einzelnen Einheiten zu รผberprรผfen.

Unterschied zwischen Designverifizierung und Validierung

Es gibt immer wieder Missverstรคndnisse zwischen Verifizierung und Validierung. Es handelt sich um unterschiedliche Aktivitรคten, die beide in jeder Phase des Entwicklungsprozesses durchgefรผhrt werden und nicht erst zu einem einzelnen Meilenstein.

Designรผberprรผfung Design-Validierung
Die Designverifizierung wird dort eingesetzt, wo das tatsรคchliche Designergebnis mit dem erwarteten Designergebnis รผbereinstimmen sollte, das die Spezifikationen des Produkts erfรผllt. Die Validierung des Designs dient dazu, sicherzustellen, dass das endgรผltige Design den Erwartungen der Nutzer entspricht.
Die Designverifizierung fragt: Haben Sie das Produkt richtig gestaltet? Die Designvalidierung fragt: Haben Sie das richtige Produkt entworfen?
Die Designverifizierung umfasst die Einheit und die Primรคrebene. Integrationstests. Die Designvalidierung umfasst sekundรคre oder รผbergeordnete Integrations- und Systemebenentests.
Bestimmte Aspekte der Designvalidierung kรถnnen wรคhrend der Designverifizierung durchgefรผhrt werden, die Designverifizierung ist jedoch kein Ersatz fรผr die Designvalidierung. Die Designvalidierung folgt einer erfolgreichen Designverifizierung.
Die Designverifizierung kann an einem einzelnen Modul oder am kompletten System unter beliebigen Bedingungen durchgefรผhrt werden. Die Designvalidierung muss unter einer spezifizierten Bedingung gemรครŸ den Benutzeranforderungen durchgefรผhrt werden.
Die Designverifizierung kann statische Verfahren nutzen. Sie umfasst Systeminspektionen, Analysen und formale Verifizierungsaktivitรคten. Die Designvalidierung umfasst den Abschlussbericht der Testergebnisse, der geprรผft, genehmigt und unterzeichnet wird. Diese Dokumente werden zur spรคteren Verwendung archiviert.

Eine nรผtzliche Abkรผrzung: Die Verifizierung erfolgt meist statische Arbeit anhand von Dokumenten, wobei die Validierung hauptsรคchlich dynamisches Testen gegen eine Laufformation.

Entwurfsverifizierungsprozess

Der Verifizierungsprozess lรคuft in fรผnf Phasen ab, und jede Phase erzeugt ein Artefakt, von dem die nรคchste Phase abhรคngt.

Identifizierung und Vorbereitung:

  • Wรคhrend der Spezifikationsentwicklung werden parallel Verifizierungsaktivitรคten identifiziert. So kann der Entwickler sicherstellen, dass die Spezifikation tatsรคchlich รผberprรผfbar ist, damit der Testingenieur detaillierte Testplรคne und -verfahren erstellen kann. Jede ร„nderung der Spezifikation muss kommuniziert werden.
  • Ermitteln Sie den besten Ansatz zur Durchfรผhrung der Verifizierung und definieren Sie die Messmethoden, erforderlichen Ressourcen, Werkzeuge und Einrichtungen.
  • Der fertige Verifizierungsplan wird mit dem Designteam besprochen, um mรถgliche Probleme aufzudecken, bevor der Plan endgรผltig festgelegt wird.

Planung:

  • Die Planung der Verifizierung ist eine parallele Aktivitรคt der Kern- und Entwicklungsteams. Sie findet wรคhrend des gesamten Projektlebenszyklus statt und wird bei jeder ร„nderung der Designvorgaben aktualisiert.
  • Wรคhrend dieser Phase wird die zu testende Software oder das zu testende System im Umfang dokumentiert.
  • Ein vorlรคufiger Testplan wird erstellt und anschlieรŸend verfeinert. Der Plan erfasst die kritischen Meilensteine, die das Projektrisiko reduzieren.
  • Werkzeuge, Testumgebung und Entwicklungsstrategie werden ausgewรคhlt, und die Anforderungen, die durch Inspektion oder Analyse bestรคtigt werden sollen, werden identifiziert.

Entwickelnping:

  • Testfall Die Entwicklung fรคllt zusammen mit der SDLC-Methodik Das Projektteam hat die Umsetzung vorgenommen. In dieser Phase werden verschiedene Testmethoden identifiziert.
  • Die Designvorgaben mรผssen so entwickelt werden, dass selbst einfachste Verifizierungsaktivitรคten eindeutig und รผberprรผfbar sind.
  • Die Verifizierungszeit wird verkรผrzt, wenn รคhnliche Konzepte nacheinander verifiziert werden, da die Ausgabe eines Tests als Eingabe fรผr einen nachfolgenden Test wiederverwendet werden kann.
  • TracEs werden Verknรผpfungen zwischen Testfรคllen und den entsprechenden Designeingaben hergestellt, um sicherzustellen, dass jede Anforderung getestet wird und dass die Designausgabe den Designeingaben entspricht.

Ausfรผhrung:

  • Die wรคhrend der Entwicklungsphase erstellten Testverfahren werden gemรครŸ dem Testplan ausgefรผhrt und wรคhrend der Verifizierungsaktivitรคt strikt eingehalten.
  • Falls ungรผltige Ergebnisse auftreten oder ein Verfahren geรคndert werden muss, mรผssen die ร„nderungen dokumentiert und formell genehmigt werden.
  • Jedes gefundene Problem wird wie รผblich als Defekt protokolliert. Fehlermanagementprozess.
  • A tracEabilitรคtsmatrix wird erstellt, um zu รผberprรผfen, ob alle im Verifizierungstestplan aufgefรผhrten Designeingaben getestet wurden, und um die Erfolgsquote zu ermitteln.

Berichte:

  • Diese Aktivitรคt wird am Ende jeder Phase der Verifizierungsausfรผhrung durchgefรผhrt.
  • Der Designverifizierungsbericht enthรคlt eine detaillierte Zusammenfassung der Verifizierungsergebnisse, einschlieรŸlich Konfigurationsmanagement, den Ergebnissen fรผr jede Testart und den wรคhrend der Verifizierungsaktivitรคt festgestellten Problemen.
  • Eine Designverifizierung tracDer Machbarkeitsbericht wird anhand der Anforderungen und der entsprechenden Testergebnisse erstellt, um zu bestรคtigen, dass alle Anforderungen getestet wurden und entsprechende Ergebnisse erfasst wurden.
  • Jede Abweichung wird dokumentiert und angemessen behandelt.
  • RevNach Abschluss der Designverifizierungsaktivitรคten werden รœberprรผfungen durchgefรผhrt und die Ergebnisse formell genehmigt.

Entwurfsvalidierungsprozess

Die Validierung folgt keiner starren Abfolge. Stattdessen greift sie auf eine kleine Auswahl akzeptierter Methoden zurรผck, und ein Projekt verwendet normalerweise mehr als eine davon.

  • Vergleich mit gleichwertigen Konstruktionen. Manche Konstruktionen lassen sich validieren, indem man sie mit รคhnlichen Gerรคten fรผr einen รคhnlichen Zweck vergleicht. Dies ist insbesondere relevant bei der Validierung von Konfigurationsรคnderungen an bestehender Infrastruktur oder von Standardkonstruktionen, die in ein neues System oder eine neue Anwendung integriert werden.
  • Vorfรผhrung und Inspektion. Eine oder beide Methoden kรถnnen verwendet werden, um Anforderungen und andere Funktionalitรคten des Produkts zu validieren.
  • Analysis. Das Design kann mittels mathematischer Modellierung oder einer Simulation analysiert werden, die die erforderliche Funktionalitรคt nachbildet.
  • Testen. Am endgรผltigen Entwurf werden Tests durchgefรผhrt, um die Funktionsfรคhigkeit des Systems gemรครŸ den Spezifikationen zu bestรคtigen. Funktionsprรผfung und nicht-funktionale Tests den Benutzeranforderungen entsprechen.
  • Dokumentation. Der Testplan, die Durchfรผhrung und die Ergebnisse sollten dokumentiert und als Teil der Konstruktionsunterlagen aufbewahrt werden. Die Validierung umfasst letztendlich die gesammelten Ergebnisse aller Validierungsaktivitรคten.
  • ร„quivalenzbegrรผndung. Werden bei der abschlieรŸenden Designvalidierung gleichwertige Produkte verwendet, muss der Hersteller die ร„hnlichkeit und etwaige Unterschiede zur ursprรผnglichen Produktion dokumentieren.

Beispiel

Ein kurzes, ausgearbeitetes Beispiel verdeutlicht den Unterschied.

  • Nehmen wir ein einfaches Produkt: eine wasserdichte Uhr.
  • Im Produktanforderungsdokument kรถnnte beispielsweise stehen: โ€žDie Uhr muss beim Schwimmen wasserdicht sein.โ€œ Das ist die Nutzeranforderung, und daran werden die Validierungsergebnisse gemessen.
  • Die Designspezifikation kรถnnte beispielsweise festlegen, dass โ€ždie Uhr auch dann funktionieren sollte, wenn der Benutzer lรคngere Zeit schwimmtโ€œ. Dies ist die Designvorgabe, und anhand derer die รœberprรผfung erfolgt.
  • Die Testergebnisse sollten bestรคtigen, dass die Uhr diese Anforderungen erfรผllt. Falls nicht, werden so lange รœberarbeitungen durchgefรผhrt, bis sie diese erfรผllt.

Beachten Sie, wie eine Uhr die Verifizierung bestehen, aber dennoch die Validierung nicht erfรผllen kann. Wenn die Spezifikation ein lรคngeres Schwimmen als fรผnfzehn Minuten definiert und Schwimmer in der Realitรคt eine Stunde im Wasser bleiben, entspricht die Ausgabe des Designs zwar perfekt den Eingaben, aber der Benutzer scheitert trotzdem.

Vorteile der Designvalidierung und -verifizierung

Die folgenden Vorteile ergeben sich daraus, dass beide Aktivitรคten kontinuierlich und nicht nur als abschlieรŸende MaรŸnahme durchgefรผhrt werden.

  • Die Entwรผrfe kรถnnen kontinuierlich รผberwacht werden, wodurch es mรถglich ist, die vom Benutzer definierten Anforderungen in jeder Phase zu erfรผllen.
  • Die Validierung des Designs verdeutlicht den Unterschied zwischen der tatsรคchlichen Funktionsweise und der erwarteten Funktionsweise.
  • Durch die Dokumentation der Validierungsverfahren wird die Funktionalitรคt spรคter leicht verstรคndlich, insbesondere bei ร„nderungen oder Erweiterungen.
  • Die Entwicklungszeit wird kontinuierlich verkรผrzt und die Produktivitรคt verbessert sich, was dazu beitrรคgt, das Produkt wie erwartet zu liefern.
  • Der Prozess definiert den Umfang und die Reichweite jeder anzuwendenden Validierungsmethode.
  • Die Validierung kann anhand detaillierter Konstruktionsdaten erfolgen, die die Anforderungen des Endnutzers reprรคsentieren.
  • Jegliche Abweichung zwischen dem Ergebnis und den Benutzeranforderungen wird erfasst und geht nicht verloren.
  • ร„nderungen an einem validierten Design lรถsen eine erneute Validierung aus, sodass der Datensatz nie vom Produkt abweicht.
  • Die Dokumentation aller Aktivitรคten wรคhrend des Validierungsprozesses ist der einzige hinreichende Beweis dafรผr, dass das Design den Benutzeranforderungen entspricht.

Die รœberprรผfung und Validierung des Designs sollten daher am besten innerhalb des grรถรŸeren Projekts geplant werden. Lebenszyklus von Softwaretests und gegenรผber dem anderen abgebildet Arten von Softwaretests, anstatt als separate Compliance-รœbung behandelt zu werden.

Hรคufig gestellte Fragen

Der absteigende linke Arm umfasst die Verifizierungsaktivitรคten โ€“ Anforderungs-, Design- und Code-Reviews. Der aufsteigende rechte Arm umfasst die Validierungsaktivitรคten, von Unit- und Integrationstests bis hin zu System- und Abnahmetests, wobei jede Ebene die ihr gegenรผberliegende Spezifikation erfรผllt.

GrรถรŸtenteils, aber nicht strikt. Die Verifizierung stรผtzt sich auf Reviews, Inspektionen und Walkthroughs, wรคhrend die Validierung den Build ausfรผhrt. Die Verifizierung kann weiterhin ausgefรผhrte Unit-Tests umfassen, daher sollte die Unterscheidung zwischen statischen und dynamischen Tests eher als Tendenz denn als Regel betrachtet werden.

IEEE 1012Der Standard fรผr die Verifizierung und Validierung von Systemen, Software und Hardware bildet das Hauptrahmenwerk. Qualitรคtsmanagementnormen wie ISO 9001 fordern sowohl Design- als auch Entwicklungskontrollen, und regulierte Branchen ergรคnzen diese durch eigene Designkontrollregeln.

Die Verifizierung wird รผblicherweise von Ingenieuren und Prรผfern durchgefรผhrt, die unabhรคngig von demjenigen sind, der das Design erstellt hat. Die Validierung hingegen bezieht Endnutzer oder deren Vertreter ein, da nur sie beurteilen kรถnnen, ob das gelieferte Produkt den tatsรคchlichen Anforderungen entspricht.

KI-gestรผtzte Tools kennzeichnen mehrdeutige oder nicht testbare Anforderungen wรคhrend der รœberprรผfung und schlagen Folgendes vor: tracDie Verifizierungsmatrix stellt die Verbindungen zwischen Designvorgaben und Testfรคllen her und hebt Abdeckungslรผcken hervor. Die Genehmigungsentscheidung liegt weiterhin beim Prรผfer, da die Nachweise stichhaltig sein mรผssen.

GitHub-Copilot Sie kann den Testcode entwerfen, der ein Verifizierungsverfahren implementiert, und unbekannte Module wรคhrend einer Codeรผberprรผfung erlรคutern. Sie kann jedoch nicht selbst objektive Nachweise erbringen, weshalb die generierten Ergebnisse weiterhin รผberprรผft und formell genehmigt werden mรผssen.

Die Validierung als reine Formalitรคt nach bestandener Verifizierung zu behandeln, Designvorgaben zu formulieren, die nicht messbar sind, und โ€ฆ tracFunktionsfรคhigkeit bis zum Schluss. Jeder einzelne Datensatz sieht vollstรคndig aus, hรคlt aber weder einer Prรผfung noch der Nutzung durch einen echten Benutzer stand.

Immer wenn die ร„nderung ein Benutzerbedรผrfnis oder die Bedingungen, unter denen das Produkt validiert wurde, beeintrรคchtigen kรถnnte, bestimmt eine Folgenabschรคtzung den Umfang: Eine begrenzte Korrektur kann erforderlich sein Regressionstests Nur bei einem geรคnderten Arbeitsablauf muss die betroffene Validierung wiederholt werden.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: