Emma (Eigenschreibweise: EMMA) ist ein quelloffenes Werkzeug zur Messung der Testabdeckung in Java-Programmen. Dabei wird während der Ausführung einer Applikation gemessen, durch welche Klassen, Methoden, Blöcke und Zeilen Code die Abarbeitung lief.

Emma hieß ursprünglich „YACT“ (Yet Another Coverage Tool), nachdem dieser Name aber bereits bei Sourceforge vergeben war, benannte Vlad Roubtsov das Tool in „Emma“, nach dem Namen seiner Frau, um.

Emma wird wie die meisten Werkzeuge zur Messung der Testabdeckung vor allem für die Messung der Abdeckung durch Modultests herangezogen. Das Ergebnis lässt auf die Güte dieser Modultests schließen und somit auf die technische Qualität der Software. Dabei laufen die Tests laut eigenen Angaben um nur 5–20 % langsamer als ohne die Verwendung von Emma.

Im Gegensatz zu vergleichbaren Werkzeugen erlaubt Emma auch die Messung der Testabdeckung ohne vorhergehende Instrumentierung des Codes. Dies wird durch einen speziellen Classloader umgesetzt. Damit ermöglicht Emma die Messung von bereits in Produktion befindlicher Software, um beispielsweise toten Code oder nicht benötigte Programmteile zu erkennen.

Verschiedene Plugins für Entwicklungsumgebungen und Qualitätsicherungswerkzeuge wie beispielsweise das NetBeans-Modultest-Code-Coverage-Plugin oder SONAR basieren auf Emma.pronetbeans.com: (englisch)codehaus.org: (englisch) Allein von der SourceForge-Seite wurde Emma mehr als 130.000 Mal heruntergeladen.Emma Sourceforge Download History Es existieren Emma-Plugins für Apache Ant, Apache Maven und Eclipse, welche den Download und die Verwendung von Emma im Zuge des Buildprozesses vereinfachen.

Siehe auch Clover (Software) – Kommerzielles Code Coverage Tool Cobertura – Open Source Code Coverage Tool JaCoCo – Vom EclEmma Team geschriebenes Open Source Code Coverage Tool dotCover – Kommerzielles Code Coverage Tool von JetBrains

Weblinks Sourceforge Projektseite von Emma () Eclipse Emma plugin Aleksey Shevchenko: "Code Coverage for Free: How to Use EMMA" – Artikel im Developer.com

Einzelnachweise

Kategorie:Software-Metrik Kategorie:Freies Programmierwerkzeug Kategorie:Java-Programmierwerkzeug Kategorie:Testsoftware