Ein Breakpoint ist ein Haltepunkt im Quellcode, an dem ein Debugger die Programmausführung stoppt, damit der Entwickler den aktuellen Zustand des Programms analysieren und das Programm schrittweise weiter ausführen kann.
1.Testplanung: Festlegen, was getestet wird und wie.
2.Testentwurf: Erstellen der Testfälle.
3.Testvorbereitung: Umgebung einrichten, Daten bereitstellen.
4.Testdurchführung: Tests ausführen.
5.Testauswertung: Ergebnisse prüfen und Fehler dokumentieren.
6.Testabschluss: Tests zusammenfassen und abschließen.
Beim Debugging werden die Ursachen für Fehler in einer Software analysiert und wenn möglich behoben.
Es gibt zwei grundlegende Ansätze:
Statische Codeanalyse:
Der Code wird untersucht, ohne das Programm auszuführen, um Fehler, Auffälligkeiten oder potenzielle Probleme zu finden.
Dynamische Analyse durch zusätzliche Ausgaben:
Im Quellcode werden temporäre Ausgaben eingefügt, um z. B. Zwischenwerte von Variablen auf dem Bildschirm oder in einer Logdatei auszugeben. Dadurch lässt sich der Programmablauf besser nachvollziehen.
-Whitebox-Test: Testen mit Kenntnis des internen Programmaufbaus
(z. B. Kontrollfluss, Codepfade).
- Ist strukturorientiertes Testverfahren
-Blackbox-Test: Testen ohne Kenntnis des Quellcodes; nur Eingaben
und Ausgaben werden geprüft.
- ist ein spezifikationsorientiertes Verfahren, weil hier nicht der
Quellcode, sondern nur die Schnittstelle und deren
Anforderungsspezifikationen getestet werden.
prüfen die Software ohne sie auszuführen.
Der Code, die Dokumentation oder das Design werden dabei analysiert, gelesen oder überprüft, um Fehler frühzeitig zu finden.
Typische statische Testverfahren sind:
Statische Codeanalyse (automatisch durch Tools)
Code-Reviews
Inspektionen
Walkthroughs
Beim Extremwertetest gibt man dem Programm die kleinsten und größten zulässigen Werte, um zu sehen:
- Läuft das Programm stabil?
- Werden Grenzfälle richtig verarbeitet?
- Gibt es Fehlermeldungen, Abstürze oder falsche Ergebnisse?
Ein Modul‑, Unit‑ oder Komponententest prüft eine einzelne Einheit eines Programms (z. B. eine Funktion, Methode oder Klasse) darauf, ob sie korrekt funktioniert.
Dabei wird die Einheit isoliert getestet, ohne das Zusammenspiel mit anderen Komponenten.
überprüft, ob mehrere voneinander abhängige Systemkomponenten fehlerfrei zusammenarbeiten.
Ein Systemtest ist der abschließende Test des gesamten Systems.
Dabei wird geprüft, ob alle funktionalen und nicht funktionalen Anforderungen vollständig und korrekt erfüllt werden.
ist dass Änderungen am Quellcode nachverfolgt, gespeichert und verwaltet werden.
Man kann frühere Versionen wiederherstellen, Änderungen vergleichen und im Team gleichzeitig am Code arbeiten.
Typische Tools sind z. B. Git.