BDD Frameworks & Tools

Kategorisierung

  • Teamzentriert (Kundenzentriert)
    • Das Framework dient der Kommunikation über Rollen im Team hinweg. Die Kommunikation zwischen verschiedenen Projektteilnehmern soll verbessert werden.
    • Sind verboser, nutzen eine DSL oder eine GUI um Tests zu berschreiben.
  • Entwicklerzentriert
    • Das Framework dient primär Entwicklern um Tests besser, ausdruckstärker zu formulieren.
    • Sind prägnant und kurz. Haben wenig Annotationen.

Viele Frameworks lassen sich als Hybride einsetzen, also sowohl kundenzentriert als auch entwicklerzententriert. Mehr über diese Kategorisierung ist in diesem Blog-Post beschrieben: Teamzentriert vs. Entwicklerzentriert.

Agile-Test-Quadranten:

Eine alternative Kategorisierung sind die Agilen-Test-Quadranten aus dem Buch: „Agile Testing“ (S.131).

Eigenschaften von Frameworks

  • Typisierte und nicht typisierte Specs.
  • Unterstützte Test-Runner
    • NUnit.
    • R#
  • Beschreibung
    • Klassen- und Methodennamen beschreiben die Specs
    • Fluent Interfaces beschreiben die Spec
    • Attritbute beschreiben die Spec
  • Reports
    • HTML
    • Console
  • GUI
    • Text to Code Converter
    • GUI für Spec-Verwaltung

Frameworks: „Mainstream“ Lösungen.

Frameworks: Andere

  • NaturalSpec (F#)
  • aubergine
  • specunit-net
  • specter
  • SpecMaker
  • ngourd
  • Expect (http://expect.codeplex.com) (Besser Cuke4Nuke oder SpecFlow verwenden, wenn textuelle Stories erwünscht werden. Der Autor schreibt Mitte 2010, auf der Projektseite, dass die Meisten Tools in dem Feld, Wikis als Quelle für Anforderungen verwenden würden und zeigt damit, das er sich mit anderen Frameworks nur unvollständig auseinandergesetzt hat. Die Umsetzung selbst ist sehr Cuke4Nuke ähnlich, aber nicht soweit gediehen.)

GUI + Framework

Werkzeuge, die eine GUI für das Pflegen von Testfällen verwenden:

  • GreenPeppter (Kommerziell, aber preiswert. Macht einen guten Eindruck. Visual Studio Plugin.)
  • Fitnesse (Wiki für die Spezifikation von Tests, Der Senior unter den Frameworks, optischer Charme von 2001)
  • StoryTeller (In WPF entwickelt, noch nicht abgeschlossen, weitere Entwicklung unklar. Jeremy Miller, rät selbst dazu andere Tools zu verwenden, und warnt vor Fitnesse)

BDD Beispiele:

Artikel