Product Design, Manufacturing & Innovation Resources
Heim » Statische vs. dynamische Verifizierung (IT)

Statische vs. dynamische Verifizierung (IT)

1970
Software-Ingenieur, der statische Überprüfungen mit Code-Analyse-Tools in der Informatik durchführt.

(Abbildung dient nur zur Veranschaulichung)

Überprüfung Techniken werden grob als statisch oder dynamisch klassifiziert. Bei der statischen Überprüfung (oder statischen Analyse) wird der Code oder das Design des Systems untersucht, ohne es auszuführen. Beispiele hierfür sind Code-Reviews, Inspektionen und automatische statische Analysetools. Bei der dynamischen Überprüfung (oder dem Testen) wird das System mit einer Reihe von Eingaben ausgeführt und sein Verhalten beobachtet, um Fehler zu finden. Beide Verfahren ergänzen sich für eine umfassende Qualitätssicherung.

Statische und dynamische Überprüfung sind komplementäre Ansätze zur Fehlersuche. Die statische Überprüfung wird zu einem frühen Zeitpunkt im Entwicklungszyklus durchgeführt, oft bevor der Code überhaupt kompiliert wird. Sie kann die gesamte Codebasis analysieren und Probleme wie Syntaxfehler, Typabweichungen, Nullzeiger-Dereferenzen und Verstöße gegen Codierungsstandards aufdecken. Da sie nicht ausgeführt werden muss, kann sie Probleme in Bereichen des Codes aufdecken, die durch Tests nur schwer zu erreichen sind. Automatisierte statische Analysewerkzeuge sind heute ein Standardbestandteil moderner Entwicklungsabläufe und geben den Entwicklern in ihren integrierten Entwicklungsumgebungen (IDEs) sofortiges Feedback.

Bei der dynamischen Verifizierung, die auch als Testen bezeichnet wird, liegt der Schwerpunkt auf dem Laufzeitverhalten der Software. Dabei wird das Programm mit bestimmten Eingaben ausgeführt und die tatsächliche Ausgabe mit der erwarteten Ausgabe verglichen. Nur so lassen sich bestimmte Arten von Fehlern aufdecken, z. B. Leistungsengpässe, Speicherlecks, die mit der Zeit auftreten, oder die falsche Handhabung komplexer Benutzerinteraktionen. Die dynamische Überprüfung umfasst verschiedene Testebenen, von Unit-Tests, die einzelne Komponenten prüfen, bis hin zu Systemtests, die die gesamte Anwendung validieren. Dynamische Tests sind zwar leistungsfähig, aber von Natur aus unvollständig; sie können nur das Vorhandensein von Fehlern für die getesteten Eingaben nachweisen, nicht aber deren Abwesenheit für alle möglichen Eingaben.

Eine umfassende Überprüfungsstrategie setzt beide Methoden ein. Die statische Analyse fängt eine Klasse von Fehlern kostengünstig und frühzeitig ab, während die dynamische Prüfung das funktionale und nicht-funktionale Verhalten des laufenden Systems validiert und sicherstellt, dass es unter Betriebsbedingungen die erwartete Leistung erbringt.

UNESCO Nomenclature: 1203
- Informatik

Typ

Abstraktes System

Störung

Wesentliche

Verwendung

Weitverbreitete Verwendung

Vorläufer

  • compiler theory (for parsing and semantic analysis)
  • frühe Debugging-Techniken (z. B. Print-Anweisungen)
  • formale Logik
  • Code Walkthrough und Inspektionsverfahren

Anwendungen

  • Werkzeuge zur statischen Analyse in IDEs (z. B. lint, findbugs)
  • Unit-Test-Frameworks (z. B. junit, pytest)
  • Verfahren zur Überprüfung von Vorschriften und Peer Reviews
  • Leistungs- und Belastungstests
  • Sicherheits-Penetrationstests

Patente:

NA

Potenzielle Innovationsideen

Aufgrund des hohen Datenverkehrs durch Web-Scraping-Bots, der derzeit mehr als 40.000 Anfragen pro Tag umfasst, ist dieser Inhalt ausschließlich Community-Mitgliedern vorbehalten.
> Anmelden < oder > Registrieren < (100% kostenlos) Zugriff darauf sowie auf alle anderen eingeschränkten Inhalte und Tools.

Verwandt mit: statische Analyse, dynamische Analyse, Testen, Verifizierung, Softwarequalität, Code Review, Unit Testing, Lint.

Historischer Kontext

Statische vs. dynamische Verifizierung (IT)

1960
1960
1967
1970
1970
1970
1970
1956
1960
1967
1967
1970
1970
1970
1970-01-01

(wenn das Datum unbekannt oder nicht relevant ist, z. B. „Strömungsmechanik“, wird eine gerundete Schätzung seines bemerkenswerten Auftretens bereitgestellt)

Verwandte Erfindungen, Innovationen und technische Prinzipien

Bilder in voller Größe und Downloads sind nur für registrierte Mitglieder 100% kostenlos verfügbar.

> Login <