Programmierblog von Johannes Dienst

Code Coverage am Beispiel: Pfadüberdeckung (Path Coverage)

Posted by in Grundlagen, Java, Softwarequalität, Testverfahren

In den letzten beiden Blogposts ging es um die Überdeckungsmaße Zweigüberdeckung und Zeilenüberdeckung. Die Zweigüberdeckung ist ein stärkeres Maß für die Qualität der Abdeckung, da sie die Zeilenüberdeckung enthält. Sie ist also eine echte Obermenge. Die Pfadüberdeckung ist wiederum eine echte Obermenge der Zweigüberdeckung und ist damit als das härteste Maß der Überdeckungsmessung zu betrachten. In diesem Post wird zuerst wieder an einem Beispiel die Pfadüberdeckung vorgestellt. Ziel ist es, eine vollständige Pfadüberdeckung durch die vorhandene Testsuite zu erreichen. Auf los geht’s los 🙂 Pfadüberdeckung die Theorie: Vollständig Die Pfadüberdeckung…read more

0

Code Coverage am Beispiel: Zweigüberdeckungs (Branch Coverage)

Posted by in Grundlagen, Java, Softwarequalität, Testverfahren

Im letzten Blog ging es um Zeilenüberdeckung. Ich habe gezeigt, wie man sie am Beispiel des Game of Life von Conway einsetzt, um bessere Tests zu schreiben, die jede Anweisung mindestens einmal ausführen. In diesem Teil möchte ich zuerst zeigen, warum die Zeilenüberdeckung zwar eine sinnvolle Metrik ist, aber doch nicht ausreicht, um die Qualität der Testsuite abzusichern. Das lässt sich sehr leicht an einem Fehler zeigen, den die bisherigen Tests nicht gefunden haben. Als Zweites möchte ich auf die Zweigüberdeckung eingehen. Diese ist eine echte Obermenge der Zeilenüberdeckung und…read more

0

Code Coverage am Beispiel: Zeilenüberdeckung (Line Coverage)

Posted by in Grundlagen, Softwarequalität, Testverfahren

Wie letzte Woche angekündigt, werde ich diese Woche beginnen, die verschiedenen Überdeckungsmaße für Code vorzustellen. Als Beispielprojekt habe ich mir das Game of Life von Conway ausgesucht, was als interessante Übungsaufgabe Einiges an Logik hergibt. Eine einfache Zelle Die Regeln für Conways Game of Life sind sehr einfach: Eine tote Zelle wird in der nächsten Generation belebt, wenn sie genau drei lebende Nachbarzellen hat Eine lebende Zelle lebt in der nächsten Generation weiter, wenn sie genau drei oder weniger als drei lebende Nachbarzellen besitzt Eine lebende Zelle stirbt in der…read more

0