Fitnesse

Name

Fitnesse

Homepage

www.fitnesse.org

Lizenz

GNU Lizenz (GPL)

Untersuchte Version

Version vom 26.10.2011

Letzter Untersuchungszeitpunkt

18.05.2012

Kurzbeschreibung

Das Opensource-Test-Framework Fitnesse (basierend auf Slim oder FIT) kann als Test-Framework, WIKI und als Webserver verwendet werden. Mit Hilfe des Frameworks lassen sich einfach Testdaten aus Tabellen (z.B. aus Excel) auswerten.

Fazit

Die Einrichtung des Test-Frameworks Fitnesse erfordert erweiterte Entwicklerkenntnisse. Nach der Einrichtung jedoch kann Fitnesse einfach bedient werden und ist somit für Anwender sehr gut nutzbar.

Einsatzgebiete

Fitnesse dient dazu, Tests ohne Programmierkenntnisse zu erstellen und bietet zahlreiche Einsatzgebiete.

Einsatzumgebungen

Um Fitnesse zu verwenden, benötigt man FIT oder Slim. Die Umgebung läuft im Hintergrund und lässt sich nach dem Starten über "localhost" aufrufen.

Installation

Eine Installationsanweisung für Fitnesse finden Sie hier. Die Installation des Frameworks ist recht einfach (jar-Datei wird mitgeliefert).

Mit dem Befehl
 java -jar fitnesse.jar -p 8080 
(Verzeichnis beachten!) lässt sich Fitnesse starten.
Das Framework wird jetzt im Hintergrund ausgeführt.
Mit
 localhost 
kann man im Browser darauf zugreifen.



Nun sollte, wenn man in einem Browser localhost aufruft, folgendes zu sehen sein:

Dokumentation

Ein guter Schnelleinstieg in das Werkzeug ist gegeben, danach ist man jedoch auf externe Dokumentationsquellen (Tutorials etc.) angewiesen.
Weiterführende Tutorials sind hier verlinkt.

Wartung der Projektseite

Die Projekthomepage ist leider nicht sehr übersichtlich gestaltet und man verliert sich oft in Untermenüs.
Daher ist eine etwas längere Einarbeitung in die Thematik notwendig.
Eine Versionsaktualisierung findet in der Regel mind. einmal jährlich statt.

Intuitive Nutzbarkeit

Ist das Framework erstmal eingebunden, kann es leicht bedient werden und legt Wert darauf, auch von Nicht-Programmierern benutzt zu werden.

Einführendes Beispiel

Da Fitnesse standardmäßig eine Reihe von Tests mitliefert, kann leicht überprüft werden, ob die Installation erfolgreich war. Dazu muss einfach nach der Installation
	http://localhost:8080/FitNesse.SuiteAcceptanceTests?suite
in dem Browser aufgerufen werden. Dort werden dann 238 Tests erfolgreich ausgeführt. Anhand dieser Tests kann man Fitnesse ein wenig kennenlernen und einige Sachen ausprobieren.

Nun soll ein eigener Test geschrieben werden. Dazu wird zuerst einmal eine zu testende Klasse benötigt. Im folgenden Beispiel wird eine Divisionsklasse, die eine Divisionsfunktion und eine Funktion zum Umwandeln von Großbuchstaben in Kleinbuchstaben beinhaltet, verwendet.
	package fitner;
	public class StringTools{
		public static String toLowerCase(String text){
			return text.toLowerCase();
			}
	}
	
	package fitner;
	import fit.*;
	public class Division extends ColumnFixture {
		public double numerator, denominator;
		public String text;
		public double quotient(){
			return numerator / denominator;
		}
		public String toLowerCase(){
			return StringTools.toLowerCase(text); 
		}
	}
Tests werden dann wie folgt eingegeben: Nach einem Klick auf "edit" im Browserfenster kann folgender Code beispielhaft eingegeben werden
	!|fitner.Division|
	|text|toLowerCase?|
	|einer|einer|
	|EiNer|einer|
	|EiNer|eiNer
In der ersten Zeile steht immer die zu testende Klasse. Die zweite Zeile beinhaltet immer die Methoden und die Variablennamen, die in der zu testenden Methode gesetzt werden sollen. Danach können beliebig viele Tests geschrieben werden. Es muss lediglich eingegeben werden, welche Werte die Variablen im Test annehmen sollen und was als Ergebnis erwartet wird. Die erwarteten Ergebnisse stehen hierbei immer unter der "Spalte" der jeweiligen Methode. Jetzt fehlt nur noch eine Zeile in der der Pfad zum Arbeitsverzeichnis steht:
		!path C:\workspace\PROJEKT\
	
Diese Tests können nun wie die Standardtests von Fitnesse ausgeführt werden.



Auch hier ist es wichtig das richtige Verzeichnis der Klasss anzugeben. Sollte die Klasse vom Framework nicht gefunden werden. So werden die Fehler als Exceptions ausgegeben.



Literatur



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