<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Axel Jung &#187; Continuus Integration</title>
	<atom:link href="http://www.ajung.de/tag/continuus-integration/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ajung.de</link>
	<description>Privater Blog von Axel Jung aus Wiesbaden</description>
	<lastBuildDate>Tue, 22 Nov 2011 21:13:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>UnitTH  Unit Tests im zeitlichen Verlauf</title>
		<link>http://www.ajung.de/2011/11/22/unitth-unit-tests-im-zeitlichen-verlauf/</link>
		<comments>http://www.ajung.de/2011/11/22/unitth-unit-tests-im-zeitlichen-verlauf/#comments</comments>
		<pubDate>Tue, 22 Nov 2011 21:13:42 +0000</pubDate>
		<dc:creator>ajung</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webwerkzeuge]]></category>
		<category><![CDATA[Continuus Integration]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[Unittests]]></category>

		<guid isPermaLink="false">http://www.ajung.de/?p=696</guid>
		<description><![CDATA[In unserem aktuellen Projekt werden ziemlich viele Selenium Tests erstellt und ausgeführt. Selenium Tests bedürfen einer besonders Intensiven Wartung und Pflege. Der Künde wünschte sich ein Monitoring über den Zustand der Tests in zeitlicher Hinsicht. Jenkins bietet einige Plugins zur Visualisierung an, aber das reichte uns nicht. Ziel war es eine Gesamtsicht  und Einzelsicht auf [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://junitth.sourceforge.net/"><img class="size-full wp-image-697 alignright" title="unitth-header" src="http://www.ajung.de/wp-content/uploads/2011/11/unitth-header.jpg" alt="" width="330" height="80" /></a>In unserem aktuellen Projekt werden ziemlich viele Selenium Tests erstellt und ausgeführt. Selenium Tests bedürfen einer besonders Intensiven Wartung und Pflege. Der Künde wünschte sich ein Monitoring über den Zustand der Tests in zeitlicher Hinsicht. Jenkins bietet einige Plugins zur Visualisierung an, aber das reichte uns nicht. Ziel war es eine Gesamtsicht  und Einzelsicht auf alle Test Module zu haben. Bei jeden Test sollte erkennbar sein bei welchen Build Lauf er erfolgreich war oder nicht.</p>
<p><a href="http://junitth.sourceforge.net/">UnitTH</a> ist ein kleines Java Tool das aus den Unit Test Ergebnis Dateien einen Report erzeugen kann.</p>
<p>Das Tool untersucht bestehende Unit Test Report XML Dateien und erzeugt daraus ein einen Report. Die zeitliche Achse wird durch Build Läufe erzeugt. UnitTH erkennt die Build Läufe anhand von Ordnern.</p>
<p>Die Reports muss in dieser Struktur vorliegen:</p>
<p>/build1/junit_log1.xml<br />
/build1/junit_log2.xml<br />
/build2/junit_log1.xml<br />
/build2/junit_log2.xml</p>
<p>In den Ordnern können beliebig viele XML Dateien liegen.</p>
<p>Testsuiten sind für das Tool sogenannte Module. Damit wird der Report gegliedert. Man muss also darauf achten das die Suiten in den Reports eindeutige Namen haben und nicht verschachtelte Suiten haben. Meine Report Dateien haben nicht ganz dem Schema entsprochen. Ich wandel die Dateien mit XSLT um.</p>
<p>Der Aufruf erfolgt so:</p>
<p><strong>java -jar -Dunitth.report.dir=/…/unitth/report unitth.jar /…/unitth/xml/*</strong></p>
<p>Man gibt also nur das Ziel Verzeichnis für die Reports und den Pfad zu den XML Dateien.</p>
<p>In den Report bekommt man eine praktische Übersicht über den aktuellen Stand der Tests und den Trend.</p>
<p><a href="http://www.ajung.de/wp-content/uploads/2011/11/unitth_overview.png"><img class="alignnone size-full wp-image-698" title="unitth_overview" src="http://www.ajung.de/wp-content/uploads/2011/11/unitth_overview.png" alt="" width="317" height="346" /></a></p>
<p>Über die Graphen kann man erkennen, wie sich die Testdauer verhält und ob sich die Anzahl der Tests verändert.</p>
<p><a href="http://www.ajung.de/wp-content/uploads/2011/11/unitth_graph.png"><img class="alignnone size-medium wp-image-699" title="unitth_graph" src="http://www.ajung.de/wp-content/uploads/2011/11/unitth_graph-500x235.png" alt="" width="500" height="235" /></a></p>
<p>Man bekommt eine Liste der Build Läufe und darin zusammengefasst wie deren Status war. Hier sieht man auch schön die aktuellen Trends.</p>
<p><a href="http://www.ajung.de/wp-content/uploads/2011/11/unitth_runs.png"><img class="alignnone size-medium wp-image-700" title="unitth_runs" src="http://www.ajung.de/wp-content/uploads/2011/11/unitth_runs-500x154.png" alt="" width="500" height="154" /></a></p>
<p>Die Module (Testsuiten) werden auch zusammengefasst dargestellt und man kann sich auf einer Unterseite den Verlauf auf Testcase Basis anschauen. Dadurch kann man besonders kritische Testfälle erkennen und dann stabilisieren.</p>
<p><a href="http://www.ajung.de/wp-content/uploads/2011/11/unitth_tests.png"><img class="alignnone size-medium wp-image-701" title="unitth_tests" src="http://www.ajung.de/wp-content/uploads/2011/11/unitth_tests-500x277.png" alt="" width="500" height="277" /></a></p>
<p>Das spannendste Feature ist die Spread Ansicht. Hier sieht man, bei welchen Build die Testfälle fehlgeschlagen sind. Damit kann man sogenannte &#8220;Blinker&#8221; Test finden. Um diese dann zu Isolieren.</p>
<p><a href="http://www.ajung.de/wp-content/uploads/2011/11/unitth_verteilung.png"><img class="alignnone size-medium wp-image-702" title="unitth_verteilung" src="http://www.ajung.de/wp-content/uploads/2011/11/unitth_verteilung-500x241.png" alt="" width="500" height="241" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajung.de/2011/11/22/unitth-unit-tests-im-zeitlichen-verlauf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatisches Deployment mit Springloops</title>
		<link>http://www.ajung.de/2008/10/24/automatisches-deployment-mit-springloops/</link>
		<comments>http://www.ajung.de/2008/10/24/automatisches-deployment-mit-springloops/#comments</comments>
		<pubDate>Fri, 24 Oct 2008 10:56:27 +0000</pubDate>
		<dc:creator>ajung</dc:creator>
				<category><![CDATA[Webwerkzeuge]]></category>
		<category><![CDATA[Continuus Integration]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://www.ajung.de/?p=364</guid>
		<description><![CDATA[Eine Versionsverwaltung gehört mittlerweile zu fast jeden Software Projekt. Für Webeprojekte nutze ich gerne den Anbieter Springloops. Dieser bieten für wenig Geld einen Subversion Server und eine schicke Oberfläche für das Deployment. Wunderbar ist auch die Möglichkeit eines Rollbacks, die ich schon des öfteren benutzt habe. Seit kurzem haben die Macher von Springloops das Automatische [...]]]></description>
			<content:encoded><![CDATA[<p>Eine Versionsverwaltung gehört mittlerweile zu fast jeden Software Projekt. Für Webeprojekte nutze ich gerne den Anbieter <a href="http://www.springloops.com/">Springloops</a>. Dieser bieten für wenig Geld einen Subversion Server und eine schicke Oberfläche für das Deployment. Wunderbar ist auch die Möglichkeit eines Rollbacks, die ich schon des öfteren benutzt habe.</p>
<p><img class="alignright size-medium wp-image-366" title="deploy_1224845730161" src="http://www.ajung.de/wp-content/uploads/2008/10/deploy_1224845730161.png" alt="" width="202" height="80" />Seit kurzem haben die Macher von <a href="http://www.springloops.com/">Springloops</a> das Automatische Deployment eingebaut. Man kann jetzt individuell für jeden Ziel Server einstellen ob die aktuellste Version automatisch oder manuell deployed werden soll.</p>
<p>Besonders praktisch ist das, wenn man einen Testserver aufgesetzt hat. Normalerweise setzte ich immer einen Test Server und einen Live Server in Springloops auf. Das geht auch mit ganz simplen Webhosting Packeten. Einfach ein anderes Zielverzeichniss auf den Server auswählen und eine Test Domain darauf konfigieriern.</p>
<p>Bei diesen Testserver macht ein automatisches Deployment Sinn und spart die Klickerei. Man kann es auch gut für die Continuus Integration verwenden wenn man auf diesen Testserver Per Cronjob regelmäßig die Tests ablaufen lasst.</p>
<p>Das schöne an Springloops ist dass man keinerlei Administratoren Kenntnisse braucht und auch keinen eigenen Webserver mit Root Rechten.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajung.de/2008/10/24/automatisches-deployment-mit-springloops/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

