White-Box-Test: Unterschied zwischen den Versionen

Aus FI-Wiki
Keine Bearbeitungszusammenfassung
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:
== Merkmale ==
== Merkmale ==
* Tester kennt den Quellcode   
* Tester kennt den Quellcode   
* Fokus auf **Programmstruktur und Logik**  
* Fokus auf '''Programmstruktur und Logik'''  
* Ziel: maximale Abdeckung interner Wege ([[Code Coverage]])   
* Ziel: maximale Abdeckung interner Wege ([[Code Coverage]])   
* sehr gut für Unit-Tests geeignet
* sehr gut für Unit-Tests geeignet
Zeile 15: Zeile 15:


== Typische Methoden ==
== Typische Methoden ==
* '''Anweisungsüberdeckung''' – jede Anweisung wird ausgeführt   
* '''[[Code_Coverage#Anweisungsüberdeckung_(Statement_Coverage)|Anweisungsüberdeckung]]''' – jede Anweisung wird ausgeführt   
* '''Zweigüberdeckung''' – alle möglichen „Wege“ durch If/Else   
* '''[[Code_Coverage#Zweigüberdeckung_(Branch_Coverage)|Zweigüberdeckung]]''' – alle möglichen „Wege“ durch If/Else   
* '''Pfadüberdeckung''' – alle vollständigen Kombinationen von Pfaden   
* '''[[Code_Coverage#Pfadüberdeckung_(Path_Coverage)|Pfadüberdeckung]]''' – alle vollständigen Kombinationen von Pfaden   
* '''Schleifen- und Bedingungstests'''
* '''Schleifen- und Bedingungstests'''


== Vorteile ==
== Vorteile ==

Aktuelle Version vom 7. April 2026, 07:19 Uhr

Der White-Box-Test ist ein dynamisches Testverfahren, bei dem der Tester die interne Struktur und den Quellcode des Programms kennt. Im Gegensatz zum Black-Box-Test wird hier gezielt überprüft, ob alle Codepfade, Verzweigungen und internen Abläufe korrekt funktionieren.

Merkmale

  • Tester kennt den Quellcode
  • Fokus auf Programmstruktur und Logik
  • Ziel: maximale Abdeckung interner Wege (Code Coverage)
  • sehr gut für Unit-Tests geeignet

Was wird getestet?

  • Wird jede Zeile Code mindestens einmal ausgeführt?
  • Sind alle Verzweigungen korrekt implementiert?
  • Funktionieren Schleifen, Bedingungen und Ausnahmen richtig?
  • Gibt es toten Code (unerreichbare Bereiche)?

Typische Methoden

Vorteile

  • sehr hohe Testtiefe
  • entdeckt Fehler in der Logik und internen Struktur
  • gute Grundlage für robuste Unit-Tests
  • deckt auch versteckte oder seltene Codepfade auf

Nachteile

  • erfordert Programmierkenntnisse
  • zeitaufwendig bei großen Systemen
  • testet nicht die funktionalen Anforderungen aus Benutzersicht
  • kann blind für fehlende Funktionen sein (wenn etwas gar nicht implementiert wurde)

Kurzmerksatz

White-Box-Test bedeutet Testen mit Blick in den Code. Ideal für Logik-, Struktur- und Pfadprüfungen.