gearsGrundlagen

Statische Tests basieren auf der PrĂŒfung von Arbeitsergebnissen, ohne dass der Programmtext auf einem Rechner ausgefĂŒhrt wird. Im Gegensatz zum dynamischen Testen können hierbei nicht nur der Quellcode, sondern alle Arten von Dokumenten (wie Anforderungen, EntwĂŒrfe oder BenutzerhandbĂŒcher) untersucht werden.

Formen

Man unterscheidet grundsÀtzlich zwei Herangehensweisen.

chevron-rightManuelle PrĂŒfung (Reviews)hashtag

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.

chevron-rightWerkzeuggestĂŒtzte statische Analysehashtag

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.

chevron-rightFrĂŒhe Fehlererkennung (Shift-Left)hashtag

FehlerzustĂ€nde werden identifiziert, noch bevor sie in nachfolgende Entwicklungsschritte einfliessen oder im dynamischen Test zu teuren AusfĂ€llen fĂŒhren.

chevron-rightDirektes Finden von FehlerzustÀndenhashtag

WĂ€hrend dynamische Tests nur die Auswirkungen eines Fehlers (Fehlerwirkungen) zeigen, finden statische Tests den Fehlerzustand direkt im Dokument oder Programmtext.

chevron-rightVerbesserung der QualitÀthashtag

GeprĂŒft werden Merkmale wie Lesbarkeit, Wartbarkeit, VollstĂ€ndigkeit und Testbarkeit der Dokumente.

chevron-rightWissensaustauschhashtag

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.

chevron-rightGegenstand der PrĂŒfunghashtag

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.

chevron-rightArt der gefundenen Fehlerhashtag

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.

chevron-rightZeitpunkt im Lebenszyklushashtag

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.

chevron-rightQualitÀtsmerkmalehashtag

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

Last updated