Überdeckungswerkzeug Cobertura
Cobertura
http://cobertura.sourceforge.net/
GNU General Public License 2.0
cobertura-1.9.4.1
30.08.2011
Cobertura ist ein Code Überdeckungswerkzeug für
die C0- und C1-Überdeckung. Es misst die prozentuale
Abdeckung von Programmcode und gibt Testern die Möglichkeit, mit der Testabdeckung
unzureichend getestete Stellen zu finden.
Das Werkzeug ist für Einsteiger relativ einfach nutzbar, wobei die Benutzung
über ANT-Tasks oder Kommandozeile nicht so intuitiv, ist wie bei dem Werkzeug CodeCover.
Die Besonderheiten von Cobertura sind übersichtliche, ausführliche Berichte,
die im Gegensatz zu dem vergleichbaren Werkzeug Emma auch die Anzahl der Durchläufe
einer Codezeile anzeigen.
Das Layout der Berichte erinnert stark an Javadoc.
Eine weitere interessante Eigenschaft, die Cobertura von anderen Werkzeugen abhebt,
ist die Möglichkeit, in der ANT-Task eine Prozentzahl für die Überdeckung
festzulegen, die nicht unterschritten werden darf.
Somit sind Entwickler dazu gezwungen, bei Erweiterungen der Software auch gleich Tests
zu schreiben.
Diese Eigenschaften machen das Werkzeug auch interessant für fortgeschrittene Benutzer.
Cobertura wird für Überdeckungstests im Rahmen der Qualitätssicherung von Software
eingesetzt.
In erster Linie ist Cobertura darauf ausgelegt, zusammen mit ANT benutzt zu werden und
bringt außerdem einige andere Werkzeuge als Bibliotheken mit, von denen es
abhängig ist.
Es ist auch möglich, das Werkzeug über die Kommandozeile oder mit Maven zu
benutzen, wobei die Maven Plugins nicht vom Hersteller selbst sind.
Es ist keine Installation notwendig, die Software muss lediglich entpackt werden.
Die Dokumentation ist in Englisch und beschränkt sich auf ein FAQ, eine
knappe Einführung und die Erklärung der Bedienung des ANT-Tasks und
der Kommandozeile.
Mit Hilfe dieser Anleitungen ist es aber ohne große Probleme möglich,
die Benutzung der Software nachzuvollziehen.
Die Verwendung von Maven ist nicht näher erläutert und es wird lediglich
auf die Plugin-Projektseiten und ein Tutorial in Spanisch verwiesen.
Die Projektseite sieht nicht regelmäßig gewartet aus. Die letzten
Nachrichten auf der Hauptseite und das letzte Release, sind vom März 2010.
Es existierern Mailinglisten und Tracker auf SourceForge.
Für Tester ohne Erfahrung mit ähnlichen Werkzeugen oder ANT, ist die
Nutzbarkeit nicht intuitiv aber anhand von Beispielen und Dokumentation gut
nachvollziehbar.
Cobertura ist darauf ausgelegt, mit ANT verwendet zu werden. Automatisierung
über Batch-Skripte oder Maven sind ebenfalls möglich.
Einleitung:
Das Beispiel soll die Benutzung von Cobertura anhand eines simplen Projekts
demonstrieren. Im Vordergund steht dabei die ANT Build-Datei.
Das Beispielprojekt hat die Ordner-Struktur wie sie standardmäßig von Netbeans
angelegt wird, mit getrennten Source- und Testordnern.
Diese Struktur kann auch bei Eclipse nachgebildet werden, so dass man dann
die Build-Datei des Beispiels ebenfalls verwenden kann.
Für Tests mit einem gemeinsamen Source-Ordner kann die build.xml Datei angepasst
werden, wobei die Dokumentation des Herstellers behilflich ist, da deren Beispiel
mit so einer Struktur arbeitet.
Vorbereitung:
Das Beispielprojekt besteht aus einer Klasse, deren überdeckung gemessen wird
und einer JUnit 4 Testklasse.
ANT wird als eingerichtet und Cobertura als heruntergeladen und entpackt vorausgesetzt.
Zusätzlich wird eine JUnit 4 .jar im "Classpath" des Projekts benötigt.
Dies ist am einfachsten durch Hinzufügen der .jar-Datei in den lib Ordner von ANT
sichergestellt.
Wenn diese Voraussetzungen erfüllt sind, kann das Beispielprojekt heruntergeladen
und entpackt werden:
CoberturaBeispiel.zip
Im entpackten Projektordner sollte dann die build.properties Datei angepasst werden.
Hier muss der Pfad neben "cobertura.dir" auf den entpackten Cobertura Ordner zeigen.
Durchführung:
Der Test wird über die Konsole mit dem Befehl "ANT coverage" gestartet
und generiert die Reporte im Unterordner "reports".
Coverage Report:
JUnit Report:
http://cobertura.sourceforge.net/introduction.html
keine
Zurück zur KombiQu-Werkzeugübersicht
Zurück zur KombiQu-Hauptseite