Überdeckungswerkzeug Cobertura

Name

Cobertura

Homepage

http://cobertura.sourceforge.net/

Lizenz

GNU General Public License 2.0

Untersuchte Version

cobertura-1.9.4.1

Letzter Untersuchungszeitpunkt

30.08.2011

Kurzbeschreibung

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.

Fazit

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.

Einsatzgebiete

Cobertura wird für Überdeckungstests im Rahmen der Qualitätssicherung von Software eingesetzt.

Einsatzumgebungen

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.

Installation

Es ist keine Installation notwendig, die Software muss lediglich entpackt werden.

Dokumentation

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.

Wartung der Projektseite

Die Projektseite sieht nicht regelmäßig gewartet aus. Die letzten Nachrichten auf der Hauptseite und das letzte Release, sind vom März 2010.

Nutzergruppen und Support

Es existierern Mailinglisten und Tracker auf SourceForge.

Intuitive Nutzbarkeit

Für Tester ohne Erfahrung mit ähnlichen Werkzeugen oder ANT, ist die Nutzbarkeit nicht intuitiv aber anhand von Beispielen und Dokumentation gut nachvollziehbar.

Automatisierung

Cobertura ist darauf ausgelegt, mit ANT verwendet zu werden. Automatisierung über Batch-Skripte oder Maven sind ebenfalls möglich.

Einführendes Beispiel

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.

Projektstruktur

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.

Projektordner

Hier muss der Pfad neben "cobertura.dir" auf den entpackten Cobertura Ordner zeigen.

Properties Datei

Durchführung:

Der Test wird über die Konsole mit dem Befehl "ANT coverage" gestartet und generiert die Reporte im Unterordner "reports".

Coverage Report:
Coverage Report

JUnit Report:
JUnit Report

Detaillierte Beschreibung

http://cobertura.sourceforge.net/introduction.html

Literatur

keine

Zurück zur KombiQu-Werkzeugübersicht
Zurück zur KombiQu-Hauptseite