Das Unit Test Framework bietet nicht nur das automatische Testen von einzelnen Funktionseinheiten. Dank der Abdeckungsmessung kann es auch genutzt werden, unnötige oder verwaiste Codeabschnitte zu identifizieren. Außerdem lässt sich so prüfen, ob die Testfälle wirklich vollständig sind.
Beispiel
Als Beispiel nehme ich die bekannte Methode zum Prüfen des Datums. Am Ende der Methode füge ich nun diese Anweisung ein
IF 1 <> 1.
RAISE invalid_date.
ENDIF.
Die Prüfung schlägt immer fehl, so dass der Code Block nie aufgerufen wird.
Neben dem einfachen Aufruf des Unit Tests lässt sich dieser auch mit einer Abdeckungsmessung aufrufen.
Im Ergebnis des Unit Tests erhalten wir nun einen weiteren Reiter "Abdeckungsmetrik"
Wie in der Ausgabe zu sehen, wurden bei den Tests 94,12% des Codes verwendet. Durch Vorwärtsnavigation gelangt man zum eingefärbten Quellcode aus dem direkt ersichtlich ist, welche Anweisungen nicht aufgerufen wurden.
Fazit
Anhand der nicht ausgeführten Quellcode Abschnitte lassen sich zwei Schlussfolgerungen formulieren.
- Der Quellcode ist überflüssig da es keinen Fall gibt, der ihn verwendet
- Die Testfälle sind unvollständig, da nicht alle Verzweigungen des Codes aufgerufen wurden