Formen
Man unterscheidet grundsätzlich zwei Herangehensweisen.Manuelle Prüfung (Reviews)
Manuelle Prüfung (Reviews)
Hierbei werden Dokumente von einer oder mehreren Personen systematisch gelesen und bewertet. Das Ziel ist es, inhaltliche Fehler, Unklarheiten oder Lücken durch menschliche Analyse- und Denkfähigkeit aufzudecken. Mehr dazu hier.
Werkzeuggestützte statische Analyse
Werkzeuggestützte statische Analyse
Spezialisierte Software prüft Dokumente (vor allem Quellcode) auf formale Strukturen, die Einhaltung von Programmierstandards oder Anomalien im Daten- und Kontrollfluss.
Ziele und Nutzen
Der Hauptzweck statischer Tests ist die Prävention.Frühe Fehlererkennung (Shift-Left)
Frühe Fehlererkennung (Shift-Left)
Fehlerzustände werden identifiziert, noch bevor sie in nachfolgende Entwicklungsschritte einfliessen oder im dynamischen Test zu teuren Ausfällen führen.
Direktes Finden von Fehlerzuständen
Direktes Finden von Fehlerzuständen
Während dynamische Tests nur die Auswirkungen eines Fehlers (Fehlerwirkungen) zeigen, finden statische Tests den Fehlerzustand direkt im Dokument oder Programmtext.
Verbesserung der Qualität
Verbesserung der Qualität
Geprüft werden Merkmale wie Lesbarkeit, Wartbarkeit, Vollständigkeit und Testbarkeit der Dokumente.
Wissensaustausch
Wissensaustausch
Besonders manuelle Reviews fördern das gemeinsame Verständnis im Team und verbessern die Arbeitsmethoden.
Unterschied zum dynamischen Testen
Der wesentliche Unterschied zwischen statischen und dynamischen Tests liegt in der Ausführung des Testobjekts. Während beim statischen Test Dokumente und Programmtext ohne eine Ausführung auf einem Rechner geprüft werden, setzt der dynamische Test ein ablauffähiges Programm voraus, das mit Testdaten versorgt und tatsächlich ausgeführt wird.Gegenstand der Prüfung
Gegenstand der Prüfung
Statische Tests können auf alle Arten von Arbeitsergebnissen (Anforderungen, Entwürfe, Quellcode, Verträge, Benutzerhandbücher) angewendet werden. Dynamische Tests konzentrieren sich ausschliesslich auf den ausführbaren Programmcode.
Art der gefundenen Fehler
Art der gefundenen Fehler
Statische Tests entdecken Fehlerzustände (Defekte) direkt im Dokument. Dynamische Tests weisen dagegen Fehlerwirkungen (Ausfälle) nach, also die sichtbaren Konsequenzen von im Code verborgenen Fehlerzuständen.
Zeitpunkt im Lebenszyklus
Zeitpunkt im Lebenszyklus
Statische Verfahren können sehr früh (z.B. direkt nach der Erstellung einer Spezifikation) eingesetzt werden. Dynamische Tests können erst durchgeführt werden, wenn ein ausführbares Programmfragment vorliegt.
Qualitätsmerkmale
Qualitätsmerkmale
Statische Tests bewerten vor allem die innere Qualität und Wartbarkeit (Struktur, Einhaltung von Standards). Dynamische Tests messen Eigenschaften, die erst zur Laufzeit sichtbar werden, wie Performanz, Antwortzeiten oder das Ressourcenverhalten.
Vor- und Nachteile
- Frühes Feedback
- Effizienz
- Wissensaustausch
- Prävention
- Keine Laufzeitprüfung
- Abhängigkeit von Fähigkeiten