Whitebox-Test

Übungsaufgaben zu Whitebox-Tests und Überdeckungsmaßen

Zwei Übungsaufgaben zu Whitebox-Tests: durchlaufene und fehlende Anweisungen bestimmen, Anweisungs-, Zweig- und Pfadüberdeckungsgrad berechnen, Testdaten ergänzen, die Zahl der Pfade berechnen, die Mindestzahl an Testfällen bestimmen, eine englische Projektrichtlinie anwenden, einen Unit-Test formulieren und die Wahl eines Überdeckungsmaßes begründen.

Übungsaufgaben zu Teststrategie und Qualitätssicherung

Drei Übungsaufgaben zu Maßnahmen der Qualitätssicherung, Reviews und statischer Codeanalyse, Blackbox- und Whitebox-Tests, Teststufen im V-Modell, Regressionstests, Testkonzept und Testdaten, User Acceptance Test sowie Syntax-, Semantik- und Laufzeitfehlern. Dazu bewertest Du Vorschläge aus dem Projektteam und machst Gegenvorschläge.

Teststrategie und Qualitätssicherung: Wie Software gut wird und gut bleibt

Gute Software entsteht nicht durch Zufall und auch nicht durch einen einzigen Test am Schluss. Dieser Artikel ordnet die Maßnahmen der Qualitätssicherung (konstruktiv, analytisch, statisch, dynamisch), erklärt Reviews und statische Codeanalyse, vergleicht Blackbox- und Whitebox-Tests, unterscheidet Syntax-, Semantik- und Laufzeitfehler, stellt die Teststufen im V-Modell und den User Acceptance Test vor, zeigt, wofür Regressionstests da sind, und beschreibt, was in ein Testkonzept gehört.

Whitebox-Übungsaufgabe „Sortierung“: Kontrollflussgraph, McCabe-Zahl und Überdeckung

Zu einer gegebenen Funktion (ein Sortieralgorithmus) soll ein Kontrollflussgraph erstellt werden, die McCabe-Zahl berechnet werden (beides optional), die Überdeckungsmetriken für einen bestehenden Test berechnet werden, weitere Tests aus Whitebox-Sicht ergänzt werden und alles mit einem Code-Coverage-Tool implementiert werden.

Versandkostenrechner-Übungsaufgabe zur Testfallerstellung nach Whitebox-Systematik

Zu einer gegebenen Java-Methode (Versandkostenrechner) erstellst Du einen Kontrollflussgraphen und berechnest die McCabe-Zahl (beides optional), bestimmst Anweisungs- und Zweigüberdeckung eines vorhandenen Tests, ergänzt weitere Testfälle nach Whitebox-Systematik, prüfst alles mit dem Code-Coverage-Werkzeug JaCoCo und suchst einen logischen Fehler, den die Whitebox-Sicht übersieht.

Überdeckungsmetriken zur Bestimmung der Testgüte (Whitebox-Testing)

Der Artikel erklärt, wie die Whitebox-Metriken Anweisungs-, Zweig-, Pfad- und Bedingungsüberdeckung berechnet werden, und nennt ihre Vor- und Nachteile. An einem Java-Beispiel mit Kontrollflussgraphen zeigt er, wie sich daraus neue Testfälle ergeben, wie Du alle Pfade eines Algorithmus notierst, die Mindestzahl an Testfällen bestimmst und begründet eine passende Überdeckungsart auswählst.

Metrik der Komplexität eines Algorithmus: Die McCabe-Zahl (Zyklomatische Komplexität)

Die Zyklomatische Komplexität (McCabe-Zahl) gibt ein Maß für die Wartbarkeit von Code an. Sie kann auf verschiedene Arten bestimmt werden (binäre Verzweigungen, Anzahl Pfade, Anzahl Knoten und Kanten). Sie kann als Indikator für zu hohe Komplexität innerhalb von Methoden genutzt werden, kann aber objektorientierte Komplexität nicht detektieren.