Name

EclEmma

Homepage

EclEmma.org

Lizenz

Eclipse Public License

Untersuchte Version

EclEmma in Version 1.5.0 vom 14.07.2010 mit Eclipse 3.6.0 und JUnit 3

Letzter Untersuchungszeitpunkt

15.05.2011

Kurzbeschreibung

EclEmma ist ein Eclipse Plugin, das die Zweigüberdeckung (C1) für jede Zeile anzeigt, indem es überprüft, welche Programmteile durchlaufen wurden. Ausgeführt werden können Eclipse/RCP-Applications, JUnit-Tests, JUnit-Plugin-Tests, TestNG-Tests, Equinox OSGi Frameworks sowie lokale Java-Anwendungen. Getestet wurde hier mit JUnit. Zum Starten wird einfach eine vorhandene oder neue Run-Konfiguration als "Coverage" gestartet. Angezeigt wird anschließend, welcher Teil des Codes abgearbeitet wurde und welcher nicht. EclEemma (Eclipse Emma) basiert dabei auf Emma und bindet dessen Funktionalität für einen schnellen und einfachen Zugriff in Eclipse ein.

Fazit

EclEmma ist ein äußerst hilfreiches Plugin um zu sehen, welche Teile des Codes durch die Testfälle, die man programmiert hat, abgedeckt werden und welche nicht. Da es ein breites Spektrum an Testtools unterstützt, ist es sehr flexibel. Für sehr kleine Dinge, die nur schnell auf Funktion hin geprüft werden müssen, bietet es sich an, das Programm einfach direkt über den "Coverage"-Eintrag im Menü zu starten und mit dem Programm eine Weile zu arbeiten. Anschließend kann man beurteilen, ob man alle in dem Moment wichtigen Aspekte ausgeführt hat.

Einsatzgebiete

Das Werkzeug zeigt die Anweisungs- bzw. Zweigüberdeckung (welche Teile des Programm ausgeführt wurden) an und überprüft so die Testfälle auf ihre Vollständigkeit.

Einsatzumgebungen

Als Plugin in Eclipse integrierbar.

Installation

Die Installation übernimmt den Eclipse-Installer. Dazu muss nur die URL http://update.eclemma.org/ dort eingetragen werden, woraufhin das Plugin direkt aus Eclipse heraus heruntergeladen und installiert wird. Auch eine manuelle Installation durch Kopieren der Plugin-Dateien in das Eclipse-Verzeichnis ist möglich. Anschließend kann das Plugin sofort über den neuen Button im Menü verwendet werden. Andere Entwicklungsumgebungen oder der Stand-Alone Betrieb werden nicht unterstützt. Siehe hierzu auch Automatisierung.
Installationsanleitung mit Screenshots

Dokumentation

Die Dokumentation ist auf der Internetseite des Projekts verfügbar. Sie umfasst einen Userguide, eine Research-Seite, die die Hintergründe erläutert, eine Seite mit Entwicklerinformationen, sowie ein FAQ. Die einzige verfügbare Sprache ist Englisch.
Der Userguide ist eine Schritt-für-Schritt-Anleitung, die selbst dem völlig unerfahrenen Anwender in wenigen Seiten erklärt, wie das Plugin zu benutzen ist. Der Guide ist dabei knapp aber mit Unterstützung von vielen Bildern so geschrieben, dass nach kürzester Zeit sämtliche Funktionen verständlich sind. Am Ende der Anleitung befindet sich eine Tabelle mit nützlichen Shortcuts, sowie eine Zusammenfassung aller Einstellungsmöglichkeiten. Alles in Allem ist die Anleitung sinnvoll gegliedert und sehr übersichtlich.
Die Research-Seite enthält lesenswerte Hintergrundinformationen zu der Arbeitsweise von EclEmma im Speziellen, sowie zu Überdeckungsverfahren im Allgemeinen. Das Durchlesen fördert das Verständnis für die Überdeckung durch Testfälle, ist aber für das Arbeiten mit EclEmma nicht unbedingt notwendig.
Die Entwicklerseite "Developer Informationen" enthält Informationen, die sich an Entwickler richten, die EclEmma direkt verbessern wollen oder beabsichtigen ein Projekt aufzubauen, welches auf EclEmma-Quellcode zurückgreift. Beschrieben wird, wo man die Quellen herunterladen kann, sowie Hintergrundinformation über den Aufbau von EclEmma, eine Liste mit noch zu erledigenden Aufgaben sowie eine weitere Liste, die beschreibt, was der nächste Release enthalten soll.
Die FAQ wurde von einem Entwickler geschrieben, der sich mit den Belangen und Fragen von Benutzern auseinandergesetzt hat, da exakt die Fragen beantwortet werden, die sich im Verlauf der Arbeit mit dem Plugin stellen. Etwas versteckt im Support-Menü werden die 14 Fragen kurz und verständlich beantwortet.

Wartung der Projektseite

Die Projektseite wird in unregelmäßigen Abständen auf den neusten Stand gebracht und macht einen aufgeräumten Eindruck. Die momentane Version 1.5.0 ist vom 24.06.2010.

Nutzergruppen und Support

Für Support-Anfragen unterhalten die beiden Autoren ein Forum auf SourceForge, bei dem man sich allerdings mit einem SourceForge Account anmelden muss, um Etwas schreiben zu dürfen. Die EMail-Adressen der beiden Entwickler sind öffentlich zugänglich, sollten aber nicht zu Supportanfragen genutzt werden. Hier wird wieder auf das oben erwähnte Forum verwiesen.

Intuitive Nutzbarkeit

Das Eclipse Plugin lässt sich ohne Vorkenntnisse und größtenteils auch ohne die Anleitung gelesen zu haben nutzen. Da sich das Arbeiten meist darauf beschränkt, das Programm oder die Testfälle mit EclEmma zu starten und anschließend die farblichen Hervorhebungen, bzw. die Übersicht über die Überdeckung in den verschiedenen Klassen zu begutachten, ist quasi keine Einarbeitungszeit notwendig.

Automatisierung

Das Plugin muss immer über den Button in Eclipse gestartet werden, eine Einbindung in Ant-Skripte oder Ähnliches ist in EclEmma nicht vorgesehen, da EclEmma aber auf Emma aufbaut, werden diese Anwendungsbereiche auch indirekt unterstützt.

Einführendes Beispiel

Als Testkonfiguration wurde ein JUnit Test verwendet. Da EclEmma einfach die Run-Konfiguration von JUnit ausführen kann, reicht es aus, die entsprechende Konfiguration aus dem EclEmma Menü auszuwählen und zu starten. (Auf folgendem Bild Links zu sehen)
icon

Über das Run-Menü lassen sich auch weitere Einschränkungen vornehmen, die bei der Datensammlung berücksichtigt werden. settings

In der Konsole am unteren Rand, wird dann eine Aufstellung eingeblendet, die die Übersicht über die erreichte Überdeckung in den einzelnen Programmteilen anzeigt.
console

Auf Wunsch kann diese Übersicht auch direkt auf die Verzeichnisstruktur des Projekts gelegt werden. So ist es möglich, während dem Arbeiten direkt zu sehen, an welchen Stellen noch Probleme auftreten.
side

Direkt im Code werden die ausgeführten Codeabschnitte in Grün hervorgehoben. Rote Abschnitte wurden nicht ausgeführt und gelbe nur unzureichend getestet. Gelb tritt zum Beispiel auf, wenn in einer "IF" Entscheidung nicht alle Zustände von Atomaren Prädikaten (z.B. mit "wahr" aber nicht mit "falsch") getestet wurden. Diese Eigenschaft bietet die Möglichkeit, neben der Anweisungsüberdeckung, die mit dem Coverage-Wert gemessen wird auch die Bedingungsüberdeckung zu analysieren.
main

Mit einem Rechtsklick auf die Übersicht in der "Coverage" Konsole, kann über das "Export Report" Menü die Session für spätere Nutzung gespeichert werden oder ein aufbereiteter Bericht in Text, HTML oder XML Format generiert werden.
export

Detaillierte Beschreibung

Eine Übersicht über weiterführende Informationen und Artikel über EclEmma:
http://eclemma.org/resources.html

Literatur

keine

Zurück zur JSF-Werkzeugübersicht
Zurück zu den Werkzeugen
Zurück zur CSI-Hauptseite