Anforderungen mit FitNesse managen

Versionierung von Anforderungen

In FitNesse sind die Anforderungen versioniert … im Beispiel hier ist die Version001 stabil und in der Version002 kann weiter spezifiziert werden.

Abbildung 2: Zwei Versionen - eine zum weiter spezifizieren und stabile für die Umsetzung

Um eine neue Version zu erstellen, machen wir eine Filesystem Kopie:

Abbildung 3: Repräsentation im Filesystem

Anforderungen sind direkt referenzierbar

Per URL sind alle Anforderungen versioniert referenzierbar.

Abbildung 4: Die URLs sind direkt abrufbar

Ein UseCase

Hier ein Beispiel für einen UseCase, unten stehen die Abnahmetests

Abbildung 5: Ein UseCase

Der zugehörige Akzeptanztest

Abbildung 6: Ein Abnahmetest

Suche nach Anforderungen

FitNesse bietet auch die Möglichkeit zur Volltext-Suche:

Abbildung 7: Das FitNesse Such-Formular

Abbildung 8: Das Suchergebnis

Eine Ansicht

Hier sieht man eine Ansicht mit eingeklappten Kapiteln:

Abbildung 9: Eingebettete Anforderungen eingeklappt

Und hier ist das Kapitel „Community Suche“ aufgeklappt … alle zugeordneten Anforderungen stehen untereinander:

Abbildung 10: Eingebettete Anforderungen aufgeklappt

Der Edit-Mode zeigt, die Anforderungen sind hier nur referenziert:

Abbildung 11: Im Edit Mode wird die Referenzierung deutlich

Testunterstützung

Alle Anforderungen sind TestSuites im Sinne von FitNesse. Damit lassen sich die Anforderungen auf beliebigen Ebenen in FitNesse Manier gemeinsam testen. Eine generische Fixture präsentiert die Testanweisungen dem Tester.

Abbildung 12: Teilautomatische Testunterstützung

Als Ergebnis bekommt man eine schöne Test-Zusammenfassung für den einzelnen Test…

Abbildung 13: Mehrere Abnahmetests in einer Suite zusammengefasst

Und für alle durchgeführten Tests und Retests ...

Abbildung 14: Ein historischer Überblick über die letzten Testdurchführungen

Was noch fehlt

Das oben angedeutet Tooling funktioniert für kleine Projekte schon, hat aber noch die folgenden zwei Lücken: Teilautomatische Testunterstützung nur prototypisch: Die Testunterstützung funktioniert im Moment nur prototypisch. Die Testanweisungen werden im Moment per Swing realisiert – eine webbasierte Realisierung ist möglich aber aufwändiger und noch nicht umgesetzt.