Name

EclEmma

Homepage

EclEmma.org

Lizenz

Eclipse Public License

Untersuchte Version

EclEmma in Version 1.4.3 vom 18.10.2009 mit Eclipse 3.5.2 und TestNG 5.11

Letzter Untersuchungszeitpunkt

15.03.2010

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 TestNG. 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 man 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 sich anschauen, ob man alle in dem Moment wichtigen Aspekte ausgeführt hat.

Einsatzgebiete

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 verläuft erfreulich reibungslos direkt über den Eclipse-Updatemanager. Dazu muss nur die URL http://update.eclemma.org/ dort eingetragen werden und das Plugin direkt aus Eclipse heraus heruntergeladen werden. Auch eine manuelle Installation durch Kopieren der Plugindateien in das Eclipseverzeichnis ist möglich. Anschließend kann das Plugin sofort über den neuen Button im Menü verwendet werden. Andere Entwicklungsumgebungen oder der Standalonebetrieb werden nicht unterstützt. Siehe hierzu auch Automatisierung.

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 eine FAQ. Die einzig verfügbare Sprache ist Englisch.
Der Userguide ist eine Schritt-für-Schritt-Anleitung, die selbst dem völlig unbedarften 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 man nach kürzester Zeit sämtliche Funktionen erschlossen hat. Am Ende der Anleitung ist noch eine Tabelle mit den recht nützlichen Shortcuts sowie eine Zusammenfassung aller Einstellungsmöglichkeiten zu finden. Alles in Allem ist die Anleitung sinnvoll gegliedert und sehr übersichtlich.
Die Research-Seite enthält Hintergrundinformationen zu der Arbeitsweise von EclEmma im Speziellen sowie zu Überdeckungsverfahren im Allgemeinen. Das Ganze ist durchaus lesenswert und fördert das Verständnis für die Überdeckung durch Testfälle. Für das Arbeiten mit EclEmma ist es aber nicht unbedingt nötig die Seite zu lesen.
Die Entwicklerseite "Developer Informationen" enthält Informationen, die sich an Entwickler richten, die EclEmma direkt verbessern oder ein Projekt aufbauen wollen, das 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 das nächste Release enthalten soll.
Die FAQ wurde von einem Entwickler geschrieben, der sich mit den Belangen und Fragen seiner User 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 13 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 ist vom 08.03.2008 und orientiert sich am aktuellen Release von EclEmma vom 05.03.2008.

Nutzergruppen und Support

Für Supportanfragen 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 Emailadressen der beiden Entwickler sind auch öffentlich, sollten aber nicht zu Supportanfragen genutzt werden. Hier wird wieder auf das oben erwähnte Forum verwiesen.

Intuitive Nutzbarkeit

Das Eclipseplugin 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 der TestNG Test aus der dortigen Werkzeugvorstellung verwendet. Da EclEmma einfach die Run-Konfiguration von TestNG ausführen kann, reicht es aus, die entsprechende Konfguration aus dem EclEmma Menü auszuwählen und zu starten. (Auf dem 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 Ü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 ein IF nur mit dem Parameter "wahr" nicht aber mit "falsch" getestet wurde.
main

Detaillierte Beschreibung

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

Literatur

keine

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