# Remote Code-Coverage durch Selenium-Tests



## fastjack (2. Feb 2011)

Weis jemand, wie ich eine Code-Coverage von Klassen erzeugen kann, die durch das Testen einer Web-GUI mittels Selenium benutzt werden. Also typischer Fall jBoss als Server, Tomcat als Webserver mit Web-GUI, Selenium als Testwerkzeug. Wie erreicht man in so einem Fall eine optimale Testabdeckung? Die Selenium-Tests müßten ja dazu führen, das die Klassen der Web-GUI und die enstprechenden Beans im Server eine große Code-Coerage erhalten. Kennt jemand da eine besondere Herangehensweise?


----------



## maki (2. Feb 2011)

Hm.. nutze selber Cobertura, man könnte damit im Prinzip jede Klasse/Jar "instrumentieren", und das führt zur Coverage analyse, allerdings ist die Konfiguration nicht sehr schwer imho, das Cobertura auch wissen muss wo sich der Quelltext der Klassen/Jars befindet.


----------



## fastjack (3. Feb 2011)

Naja, ich verstehe nur nicht, wie die Coverage sozusagen über die Grenzen einer VM hinweg funktionieren kann. Eine VM für den Tomcat, eine VM für den jBoss, eine Selenium (jetty).


----------



## maki (3. Feb 2011)

fastjack hat gesagt.:


> Naja, ich verstehe nur nicht, wie die Coverage sozusagen über die Grenzen einer VM hinweg funktionieren kann. Eine VM für den Tomcat, eine VM für den jBoss, eine Selenium (jetty).


Das ist kein Problem (erstmal), es geht nur darum, die Klassen zu "instrumentieren", was zur Folge hat dass die eine Art Log schreiben, welche Zeilen/Anweisungen wie oft ausgeführt wurden.
Die Coverage von Selenium/Jetty sollte egal sein und ignoriert werden 

Schwierig ist dann diese Daten zusammenzuführen aus den verschiedenen Logs, inkl. Rferenz auf die Sourcen, denn nur dann kann man eine Coverage von Codezeilen erzeugen.

Angeblich soll Clover da mehr bieten als Emma/Cobertura, ist aber kostenpflichtig und deswegen hab ich das nie ausprobiert.

Kannst ja mal bei Cobertura nachlesen: Cobertura: Documentation

"Cobertura session merging" bescheibt den ungefähren Process für Ant Builds, sollte aber auch für andere Buildsysteme funktionieren.


----------



## fastjack (3. Feb 2011)

ja jetzt ist es klar  das ist whl. das ganze mergen der gesammelten emma-Dateien usw.. Okay, ich werds mal ausprobieren. Vielen Dank maki!


----------

