? Validierung und Verifizierung (V & V ) ist der Prozess verwendet werden, um sicherzustellen, dass ein Software-Engineering- Projekt seine Design-Ziele erfüllt. Die Überprüfung wird verwendet , um zu testen , ob ein Software- work-in -progress zu einem bestimmten Phase in der Entwicklung ihrer Ziele erfüllt und die Validierung wird verwendet, um zu testen , ob ein Software-Projekt abgeschlossen seine Ziele erfüllt. Es gibt zwei Verfahren zur Validierung und Überprüfung : Überprüfung und Testen . Testing ist Lernen
Testing kann die Erkundung der Eigenschaften von einem Stück Software beschrieben werden. Die Prüfingenieure einzurichten Experimente , um zu sehen , was die Software kann und was nicht zu tun. Dies wird oft zeigen ein unerwartetes Verhalten in der realen Welt Nutzungsszenarien , so dass die Test-Ingenieure , um Bericht zu erstatten den Konstrukteuren . Die Konstrukteure können dann den Quellcode zu studieren und zu verstehen versuchen, was die Ursache der unerwarteten Verhalten , und wie man es beheben .
Checking ist Bestätigung
Checking wird verwendet, um bestätigen, dass Software eine bestimmte Aufgabe ausführt richtig . Eine Überprüfung kann so einfach sein wie eine assert-Anweisung , die entweder besteht oder nicht , wenn eine Bedingung überprüft wird. Wenn ein Software-Entwickler glaubt, etwas wahr zu sein ( dass x gleich 5 ist , zum Beispiel) , kann er eine Kontrolle , um die Richtigkeit dieser Überzeugung bestätigen. Wenn die Überprüfung fehlschlägt, dann ist etwas was die Software zu unerwartetem Verhalten .
Checking kann automatisiert
Checking automatisiert werden kann. Die Programmiersprache C hat die " behaupten "-Anweisung direkt hinein gebaut . Wenn Sie mit dem Entwurf ein Stück Software und erwarten eine bestimmte Bedingung in einem bestimmten Stadium in der Programmausführung , sollten Sie eine assert-Anweisung . Wenn die Behauptung fehl, stürzt das Programm . Dies sagt Ihnen, dass Ihre Annahmen fehlerhaft sind , und dass es ein Fehler im Code.
Testing kann nicht automatisiert werden
Testing von Menschen getan werden muss. Es sind keine Programmierung Konstrukte, die ein Stück Software in der gleichen Weise ein Mensch testen können. Testing beinhaltet Experimentieren mit Software und Aufzeichnung der Ergebnisse . Dabei setzen die Software durch Echtzeit- Welt nutzen , die einen Menschen erfordert . Testing ermöglicht die V & V -Team , um Fehler zu entdecken, dass Kontrolle würde verpasst haben .