Statische vs. dynamische Testverfahren
Testverfahren in der Softwareentwicklung werden in statische und dynamische Verfahren unterteilt,
je nachdem, ob der Code ausgeführt wird oder nicht.
Statische Testverfahren
Statische Tests prüfen Software oder Dokumente, ohne das Programm auszuführen.
- Analyse von Quellcode oder Dokumentation
- Fehlererkennung früh im Entwicklungsprozess
- Keine Programmausführung notwendig
Beispiele:
- Code Review 👨💻
- Walkthrough
- Inspektion
- Static Code Analysis (z. B. SonarQube)
Dynamische Testverfahren
Dynamische Tests führen das Programm aus und prüfen das Verhalten zur Laufzeit.
- Software wird tatsächlich ausgeführt
- Prüfung von Funktionen und Verhalten
- Fehler werden im laufenden Betrieb erkannt
Beispiele:
- Unit Tests 🧪
- Integrationstests
- Systemtests
- Abnahmetests
- Black-Box-Test
- White-Box-Test
- Extremwerttest
Vergleich
| Merkmal |
Statisch |
Dynamisch |
| Ausführung |
Nein |
Ja |
| Fokus |
Code / Dokumente |
Programmlaufzeit |
| Zeitpunkt |
Früh im Projekt |
Während / nach Entwicklung |
| Beispiele |
Code Review, Inspektion |
Unit Test, Systemtest |
Merksatz für die FISI-Prüfung:
Statisch = ohne Ausführung (z. B. Code Review)
Dynamisch = mit Ausführung (z. B. Unit Test)
Typische Prüfungsantwort
Statische Testverfahren prüfen Software oder Dokumente ohne Ausführung des Programms, z. B. durch Code Reviews.
Dynamische Testverfahren führen das Programm aus und überprüfen das Verhalten zur Laufzeit, z. B. durch Unit- oder Systemtests.
```