EclEmma
EclEmma.org
Eclipse Public License
EclEmma in Version 1.5.0 vom 14.07.2010 mit Eclipse 3.6.0 und JUnit 3
15.05.2011
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.
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.
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.
Als Plugin in Eclipse integrierbar.
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
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.
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.
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.
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.
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.
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)

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

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

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.

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.

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.

Eine Übersicht über weiterführende Informationen und Artikel über EclEmma:
http://eclemma.org/resources.html
keine
Zurück zur JSF-Werkzeugübersicht
Zurück zu den Werkzeugen
Zurück zur CSI-Hauptseite