<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Behavior_Driven_Development</id>
	<title>Behavior Driven Development - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Behavior_Driven_Development"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Behavior_Driven_Development&amp;action=history"/>
	<updated>2026-05-17T23:17:33Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Behavior_Driven_Development&amp;diff=1809924&amp;oldid=prev</id>
		<title>imported&gt;Bif Jefferson: Einzelnachweise responsive</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Behavior_Driven_Development&amp;diff=1809924&amp;oldid=prev"/>
		<updated>2026-02-08T21:32:29Z</updated>

		<summary type="html">&lt;p&gt;Einzelnachweise responsive&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Behavior Driven Development&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;BDD&amp;#039;&amp;#039;&amp;#039;, {{deS|verhaltensgetriebene Softwareentwicklung}}), auch als &amp;#039;&amp;#039;&amp;#039;Specification Driven Development&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;SDD&amp;#039;&amp;#039;&amp;#039;, {{deS|anforderungsgetriebene Softwareentwicklung}}) bezeichnet, ist eine Technik der [[Agile Softwareentwicklung|agilen Softwareentwicklung]], welche die Zusammenarbeit zwischen [[Qualitätsmanagement]] und [[Business-Analyse]] in Softwareentwicklungsprojekten stärkt. Beim Behavior Driven Development werden während der Anforderungsanalyse die Aufgaben, Ziele und Ergebnisse der Software in einer bestimmten Textform festgehalten, die später als automatisierte Tests ausgeführt werden kann. Damit kann die Software auf ihre korrekte Implementierung getestet werden. Die [[Softwareanforderung]]en werden dabei meist in „Wenn-dann“-Sätzen basierend auf der Sprache des [[Domain-driven Design]]s verfasst. Damit soll der Übergang zwischen der Sprache der Definition der fachlichen Anforderungen und der Programmiersprache, mittels derer die Anforderungen umgesetzt werden, erleichtert werden.&lt;br /&gt;
&lt;br /&gt;
Behavior Driven Development wurde erstmals 2003 durch Dan North&amp;lt;ref name=&amp;quot;Einführung&amp;quot;&amp;gt;D.&amp;amp;nbsp;North, [http://dannorth.net/introducing-bdd Introducing Behaviour Driven Development]&amp;lt;/ref&amp;gt; als Antwort auf [[testgetriebene Entwicklung]] beschrieben und hat sich seit damals weiterentwickelt.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Dan North et al. |url=http://forums.pragprog.com/forums/95/topics/3035 |titel=Question about Chapter 11: Writing software that matters |sprache=en |offline=ja |archiv-url=https://web.archive.org/web/20091107220359/http://forums.pragprog.com/forums/95/topics/3035 |archiv-datum=2009-11-07 |archiv-bot= |abruf=2011-11-09 |zitat=The phrase ‘BDD is TDD done well’, while a nice compliment, is a bit out of date. […] BDD has evolved considerably over the years into the methodology we describe in the book. Back when it was focused purely on the TDD space–&amp;amp;nbsp;around 2003-2004&amp;amp;nbsp;– this was a valid description. Now it only covers a small part of the BDD proposition.}}&amp;lt;/ref&amp;gt; Dan North entwickelte auch das erste Framework für die Umsetzung von BDD, JBehave.&amp;lt;ref name=&amp;quot;Einführung&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Techniken des Behavior Driven Developments ==&lt;br /&gt;
Behavior Driven Development besteht aus folgenden Elementen:&lt;br /&gt;
* Starke Einbeziehung der [[Stakeholder]] in den Prozess durch sogenannte Outside-In-Softwareentwicklung. Diese ist fokussiert auf die Erfüllung der Anforderungen der Auftraggeber, Enduser, Betrieb und Insider.&lt;br /&gt;
* Textuelle Beschreibung des Verhaltens der Software und von Softwareteilen durch Fallbeispiele. Verwendung genormter Schlüsselwörter zur Markierung von Vorbedingungen, externen Verhaltens und gewünschten Verhaltens der Software.&lt;br /&gt;
* Automatisierung dieser Fallbeispiele unter Verwendung von [[Mock-Objekt]]en zur Simulation von noch nicht implementierten Softwareteilen.&lt;br /&gt;
* Sukzessive Implementierung der Softwareteile und Ersetzung der Mock-Objekte.&lt;br /&gt;
&lt;br /&gt;
Dadurch entsteht eine automatisiert prüfbare Beschreibung der umzusetzenden Software, welche jederzeit die Korrektheit der bereits umgesetzten Teile der Software überprüfen lässt.&lt;br /&gt;
&lt;br /&gt;
Wichtig ist hierbei, dass die Beschreibung nicht die Implementierung der Anwendung vorgibt, sondern den Zweck der Anwendung in Form von Anwendungsbeispielen.&lt;br /&gt;
&lt;br /&gt;
{{Zitat&lt;br /&gt;
 |Text=In addition to making it harder to focus on important issues, test scripts that describe &amp;#039;&amp;#039;how&amp;#039;&amp;#039; over-constrain the implementation. By specifying how something should be done, these tests don’t allow developers to find a better solution for the same problem. If specifications only cover what should be done then developers have more freedom to implement good solutions.&lt;br /&gt;
 |Sprache=en&lt;br /&gt;
 |Autor=Gojko Adzic&lt;br /&gt;
 |Quelle=Bridging the Communication Gap&lt;br /&gt;
 |Übersetzung=Zusätzlich dazu, dass es schwieriger ist, sich auf wichtige Fragen zu konzentrieren, überspezifizieren Testskripte, welche das &amp;#039;&amp;#039;wie&amp;#039;&amp;#039; beschreiben, die Implementierung. Durch das Beschreiben wie etwas gemacht werden sollte, erlauben diese Tests es Entwicklern nicht, bessere Lösungen für dasselbe Problem zu finden. Wenn Spezifikationen nur beschreiben &amp;#039;&amp;#039;was&amp;#039;&amp;#039; gemacht werden soll, dann haben Entwickler mehr Freiheit gute Lösungen zu implementieren.&lt;br /&gt;
 |ref=&amp;lt;ref&amp;gt;{{Literatur |Autor=Gojko Adzic |Titel=Bridging the Communication Gap: Specification by Example and Agile Acceptance Testing |Verlag=Neuri Limited |Datum=2009 |ISBN=978-0-9556836-1-9 |Seiten=79-80 |Sprache=en |Umfang=284}}&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Beispiel in der Beschreibungssprache Gherkin ==&lt;br /&gt;
Beim Behavior Driven Development werden die Anforderungen an die Software mittels Beispielen, sogenannten Szenarien beschrieben. Üblicherweise wird für die Beschreibung dieser Szenarien ein bestimmtes Format vorgegeben, damit später die automatisierte Überprüfung der Szenarien einfach umzusetzen ist. Eines dieser Formate ist die Beschreibungssprache „Gherkin“.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://github.com/cucumber/cucumber/wiki/Gherkin |titel=Cucumber - Gherkin |hrsg=Cucumber |sprache=en |abruf=2011-11-09}}&amp;lt;/ref&amp;gt; Sie wird auch in verschiedenen Behavior-Driven-Development-Implementierungen verwendet. Diese Sprache gibt es sowohl mit englischen Schlüsselwörtern (Given, When, Then, And, …), deutschen (Gegeben, Wenn, Dann, Und, …) und in weiteren Sprachen.&lt;br /&gt;
&lt;br /&gt;
Beispielsweise könnte die Anforderung „Rückgegebene und umgetauschte Ware kommt wieder ins Lager“ mit folgenden Szenarien beschrieben werden:&lt;br /&gt;
&lt;br /&gt;
=== Szenario 1: Rückgegebene Ware kommt wieder ins Lager ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Gegeben&amp;#039;&amp;#039;&amp;#039; ist, dass ein Kunde eine schwarze Hose gekauft hat&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Und&amp;#039;&amp;#039;&amp;#039; wir daraufhin 3 schwarze Hosen im Lager hatten,&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Wenn&amp;#039;&amp;#039;&amp;#039; er die Hose zurückgibt und dafür einen Gutschein erhält,&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Dann&amp;#039;&amp;#039;&amp;#039; werden wir 4 schwarze Hosen im Lager haben.&lt;br /&gt;
&lt;br /&gt;
=== Szenario 2: Umgetauschte Ware kommt wieder ins Lager ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Gegeben&amp;#039;&amp;#039;&amp;#039; ist, dass ein Kunde einen blauen Rock gekauft hat&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Und&amp;#039;&amp;#039;&amp;#039; wir daraufhin 2 blaue Röcke&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Und&amp;#039;&amp;#039;&amp;#039; 3 schwarze Röcke im Lager hatten,&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Wenn&amp;#039;&amp;#039;&amp;#039; er den blauen Rock gegen einen schwarzen Rock tauscht,&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Dann&amp;#039;&amp;#039;&amp;#039; werden wir 3 blaue Röcke&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Und&amp;#039;&amp;#039;&amp;#039; 2 schwarze Röcke auf Lager haben.&lt;br /&gt;
&lt;br /&gt;
Jedes Szenario ist ein Beispiel, welches einen spezifischen Verhaltensaspekt der Applikation illustriert. Bei der Diskussion der Szenarien sollten sich die Teilnehmer fragen, ob die Ergebnisse der Szenarien immer in dem gegebenen Kontext auftreten. Damit können weitere Szenarien zur Klärung der Anforderung entstehen.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Dan North |url=http://dannorth.net/whats-in-a-story |titel=What’s in a Story? |sprache=en |abruf=2011-11-09}}&amp;lt;/ref&amp;gt; Beispielsweise könnte ein Fachwissender erkennen, dass zurückgegebene oder umgetauschte Ware nur dann ins Lager kommt, wenn sie nicht fehlerhaft ist. Die oben genannten Szenarien müssten dann entsprechend ergänzt werden.&lt;br /&gt;
&lt;br /&gt;
Die Wörter Gegeben, Wenn und Dann werden verwendet, um die Szenarien deutlich zu machen, sie sind aber nicht unumgänglich.&lt;br /&gt;
&lt;br /&gt;
== Umsetzung mit Mock-Objekten ==&lt;br /&gt;
Die definierten Szenarien können anschließend, noch vor Beginn der Implementierung, mit automatisierten Tests versehen werden. Diese testen die Software, während die noch nicht umgesetzten Teile mit Hilfe von Mock-Objekten simuliert werden. Diese Mock-Objekte können entweder händisch erstellt oder über ein [[Mocking Framework|Mocking-Framework]] wie beispielsweise [[Mockito]] oder [[EasyMock]] generiert werden. Die Mock-Objekte können nach Fertigstellung der entsprechenden Softwareteile ersetzt werden. Diese Mock-Objekte sind auch für die Entwicklung von [[Modultest|Unit-Tests]] während der Implementierung hilfreich. Diese Vorgangsweise unterstützt die Entstehung von kleinen und [[Lose Kopplung|lose gekoppelten]] Modulen und Klassen.&lt;br /&gt;
&lt;br /&gt;
== Werkzeuge ==&lt;br /&gt;
Beim Einsatz von Behavior Driven Development benötigt man Werkzeuge („Frameworks“), für die man das Verhalten der in den Szenarien auftretenden Schritte programmiert, sodass das Werkzeug die Szenarien interpretieren und gegen die umgesetzte Applikation ausführen kann. Die Werkzeuge selbst sind oft nur für bestimmte Programmiersprachen geeignet. Die bekanntesten Vertreter sind [[JBehave]], [[Framework for Integrated Test|Framework for Integrated Test (FIT)]], [[FitNesse]], [[Concordion]] für Java und [[RBehave]], sowie [[Cucumber (Software)|Cucumber]] für [[Ruby (Programmiersprache)|Ruby]], Java und JavaScript.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;C++&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Catch&amp;lt;ref name=&amp;quot;Catch&amp;quot;&amp;gt;{{Internetquelle |url=https://github.com/philsquared/Catch |titel=Catch |werk=github.com |sprache=en |abruf=2017-09-25}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ruby&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* RBehave&amp;lt;ref name=&amp;quot;rbehave&amp;quot;&amp;gt;{{Internetquelle |autor=Dan North |url=http://dannorth.net/2007/06/introducing-rbehave |titel=Introducing rbehave |datum=2007-06-17 |sprache=en |offline=ja |archiv-url=https://web.archive.org/web/20070620230359/http://dannorth.net/2007/06/introducing-rbehave |archiv-datum=2007-06-20 |archiv-bot= |abruf=2011-11-09}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Python&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Aloe&amp;lt;ref name=&amp;quot;aloe&amp;quot;&amp;gt;{{Internetquelle |url=https://aloe.readthedocs.io/ |titel=Aloe |titelerg=BDD testing via nose |sprache=en |abruf=2020-06-19}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Behave&amp;lt;ref name=&amp;quot;behave&amp;quot;&amp;gt;{{Internetquelle |url=https://behave.readthedocs.io/ |titel=Behave |titelerg=behaviour-driven development, Python style. |sprache=en |abruf=2020-06-19}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* radish&amp;lt;ref name=&amp;quot;radish&amp;quot;&amp;gt;{{Internetquelle |url=http://radish-bdd.github.io/ |titel=radish |titelerg=behavior driven development for python |sprache=en |abruf=2013-01-21}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;.NET&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* NBehave&amp;lt;ref name=&amp;quot;NBehave&amp;quot;&amp;gt;{{Internetquelle |url=https://github.com/nbehave/NBehave |titel=NBehave |werk=github.com |abruf=2018-09-23}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* MSpec / Machine.Specifications&amp;lt;ref name=&amp;quot;machine.specifications - resharper&amp;quot;&amp;gt;{{Internetquelle |autor= |url=http://therightstuff.de/2010/03/03/MachineSpecifications-Templates-For-ReSharper.aspx |titel=Machine.Specifications Templates For ReSharper |werk= |hrsg= |datum= |sprache=en |archiv-url=https://web.archive.org/web/20130814152742/http://therightstuff.de/2010/03/03/MachineSpecifications-Templates-For-ReSharper.aspx |archiv-datum=2013-08-14 |offline=1 |abruf=2013-09-01}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;machine.specifications - net&amp;quot;&amp;gt;{{Internetquelle |url=https://github.com/machine/machine.specifications/ |titel=machine/machine.specifications |titelerg=Machine.Specifications is a Context/Specification framework geared towards removing language noise and simplifying tests |sprache=en |abruf=2013-09-01}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Specflow&amp;lt;ref name=&amp;quot;specflow&amp;quot;&amp;gt;{{Internetquelle |url=http://www.specflow.org/ |titel=SpecFlow. Binding Business Requirements to .NET Code |abruf=2018-09-23}}&amp;lt;/ref&amp;gt; und Pickles&amp;lt;ref name=&amp;quot;pickles&amp;quot;&amp;gt;{{Internetquelle |url=http://www.picklesdoc.com/ |titel=Pickles. Living Documentation |abruf=2018-09-23}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Concordion.NET&amp;lt;ref name=&amp;quot;concordion.net&amp;quot;&amp;gt;{{Internetquelle |url=http://concordion.org/dotnet/ |titel=Concordion |abruf=2018-09-23}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* FSpec&amp;lt;ref name=&amp;quot;fspece&amp;quot;&amp;gt;{{Internetquelle |url=https://github.com/PeteProgrammer/fspec |titel=Fspec |werk=github.com |abruf=2018-09-23}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* NaturalSpec&amp;lt;ref name=&amp;quot;naturalspec&amp;quot;&amp;gt;{{Internetquelle |url=https://github.com/forki/NaturalSpec |titel=NaturalSpec |werk=github.com |abruf=2018-09-23}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* TickSpec&amp;lt;ref name=&amp;quot;tickspec&amp;quot;&amp;gt;{{Internetquelle |url=https://github.com/neoeinstein/TickSpec |titel=TickSpec |werk=github.com |abruf=2018-09-23}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SubSpec&amp;lt;ref name=&amp;quot;subspec&amp;quot;&amp;gt;{{Internetquelle |autor=Johannes Rudolph |url=https://bitbucket.org/johannesrudolph/subspec/wiki/Home |titel=SubSpec Wiki |werk=bitbucket.org |abruf=2018-09-23}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Java&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* JBehave&amp;lt;ref name=&amp;quot;jbehave&amp;quot;&amp;gt;{{Internetquelle |url=http://jbehave.org/ |titel=JBehave |sprache=en |abruf=2018-09-23}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Jnario&amp;lt;ref&amp;gt;{{Internetquelle |url=http://jnario.org/ |titel=Jnario Homepage |sprache=en |abruf=2013-01-30}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* JGiven&amp;lt;ref&amp;gt;{{Internetquelle |url=https://entwickler.de/java/lessons-learned |autor=Marco Schulz  |titel=Behavior-driven Development: Akzeptanztests in Java mit JGiven |werk=Java Magazin 2.2020 |datum=2019-11-29 |sprache=de-DE |abruf=2023-12-08}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;JavaScript / TypeScript&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Jasmine&amp;lt;ref name=&amp;quot;Jasmine&amp;quot;&amp;gt;{{Internetquelle |url=https://jasmine.github.io/ |titel=Jasmine - Behavior-Driven JavaScript |sprache=en |abruf=2018-12-06}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Mocha&amp;lt;ref name=&amp;quot;mocha&amp;quot;&amp;gt;{{Internetquelle |url=https://mochajs.org/ |titel=Mocha |sprache=en |abruf=2018-11-02}}&amp;lt;/ref&amp;gt; in Kombination mit Chai&amp;lt;ref name=&amp;quot;chai&amp;quot;&amp;gt;{{Internetquelle |url=https://www.chaijs.com/ |titel=Chai |sprache=en |abruf=2018-11-02}}&amp;lt;/ref&amp;gt; und Sinon.js&amp;lt;ref name=&amp;quot;sinonjs&amp;quot;&amp;gt;{{Internetquelle |url=https://sinonjs.org/ |titel=Sinon |sprache=en |abruf=2018-11-02}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Scala&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* ScalaTest&amp;lt;ref name=&amp;quot;scalatest&amp;quot;&amp;gt;{{Internetquelle |url=http://scalatest.org/ |titel=ScalaTest |sprache=en |abruf=2018-11-26}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PHP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Behat&amp;lt;ref name=&amp;quot;behat&amp;quot;&amp;gt;{{Internetquelle |url=http://behat.org/ |titel=Behat |titelerg=Behat – BDD for PHP |sprache=en |abruf=2012-11-07}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Codeception&amp;lt;ref name=&amp;quot;codeception&amp;quot;&amp;gt;{{Internetquelle |url=https://codeception.com/ |titel=Codeception |abruf=2018-09-23}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Go&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Ginkgo&amp;lt;ref name=&amp;quot;ginkgo&amp;quot;&amp;gt;{{Internetquelle |url=http://onsi.github.io/ginkgo/ |titel=Ginkgo. A Golang BDD Testing Framework |abruf=2018-09-23}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;iOS&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Kiwi&amp;lt;ref&amp;gt;{{Internetquelle |url=https://github.com/kiwi-bdd/Kiwi/wiki |titel=Kiwi |sprache=en |abruf=2016-05-20}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Plattformübergreifend&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [[Cucumber (Software)|Cucumber]]&lt;br /&gt;
* Squish&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.froglogic.com/squish/features/bdd-behavior-driven-development-testing/ |titel=Squish – GUI Testing with BDD integration |sprache=en |abruf=2017-01-20}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Yulup&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.yulup.com/de/dokumentation/quick_start_guide.html#section-1-091 |titel=Yulup – Agile Requirements Engineering using the BDD approach |sprache=en |abruf=2017-08-07}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verwandte Ansätze ==&lt;br /&gt;
Im Zusammenhang mit dem Einsatz [[Generatives KI-Modell|generativer KI-Modelle]] in der [[Softwaretechnik|Softwareentwicklung]] wird ebenfalls der Begriff &amp;#039;&amp;#039;Spec-Driven Development&amp;#039;&amp;#039; verwendet. Darunter werden Vorgehensweisen verstanden, bei denen vor der Implementierung strukturierte [[Spezifikation|Spezifikationen]] erstellt werden, die als gemeinsame Grundlage für menschliche Entwickler und automatisierte [[KI-Agent|Coding-Agenten]] dienen. Die Spezifikation beschreibt dabei das beabsichtigte Verhalten der Software, wird teilweise unter Nutzung [[Large Language Model|großer Sprachmodelle]] erarbeitet und dient als zentraler Bezugspunkt für die weitere Umsetzung.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Birgitta Böckeler |url=https://martinfowler.com/articles/exploring-gen-ai.html/sdd-3-tools.html |titel=Understanding Spec-Driven-Development: Kiro, spec-kit, and Tessl |werk=martinfowler.com |datum=2025-10-15 |sprache=en |abruf=2026-02-08}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Internetquelle |autor=Madeleine Domogalla |url=https://www.heise.de/news/software-architektur-tv-Spec-Driven-Development-mit-Simon-Martinelli-11138731.html |titel=software-architektur.tv: Spec-Driven Development mit Simon Martinelli |werk=heise.de |hrsg=Heise Medien GmbH &amp;amp; Co. KG |datum=2026-01-15 |sprache=de |abruf=2026-02-08}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=David Chelimsky, Dave Astels, Zach Dennis, Aslak Hellesøy, Bryan Helmkamp, Dan North&lt;br /&gt;
   |Titel=The RSpec Book. Behaviour-Driven Development with RSpec, Cucumber, and Friends&lt;br /&gt;
   |Verlag=Pragmatic&lt;br /&gt;
   |Ort=Lewisville TX&lt;br /&gt;
   |Datum=2010&lt;br /&gt;
   |ISBN=978-1-934356-37-1&lt;br /&gt;
   |Sprache=en&lt;br /&gt;
   |Online=[http://www.pragprog.com/titles/achbd/the-rspec-book online]&lt;br /&gt;
   |Abruf=2011-11-12}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Aslak Hellesoy, Matt Wynne&lt;br /&gt;
   |Titel=The Cucumber Book. Behaviour-Driven Development for Testers and Developers&lt;br /&gt;
   |Reihe=Pragmatic Programmers&lt;br /&gt;
   |Verlag=Pragmatic Bookshelf&lt;br /&gt;
   |Ort=Dallas TX u.&amp;amp;nbsp;a.&lt;br /&gt;
   |Datum=2012&lt;br /&gt;
   |ISBN=978-1-934356-80-7&lt;br /&gt;
   |Sprache=en}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Gojko Adzic&lt;br /&gt;
   |Titel=Specification by Example&lt;br /&gt;
   |Verlag=Manning&lt;br /&gt;
   |Ort=Shelter Island, New York&lt;br /&gt;
   |Datum=2011&lt;br /&gt;
   |ISBN=978-1-617290084&lt;br /&gt;
   |Sprache=en}}&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* {{Internetquelle&lt;br /&gt;
   |autor=Dan North&lt;br /&gt;
   |url=http://dannorth.net/introducing-bdd&lt;br /&gt;
   |titel=Introducing BDD&lt;br /&gt;
   |hrsg=Better Software Magazin&lt;br /&gt;
   |datum=2006-03&lt;br /&gt;
   |sprache=en&lt;br /&gt;
   |abruf=2011-11-12}}&lt;br /&gt;
* {{Internetquelle&lt;br /&gt;
   |autor=Gregory Brown&lt;br /&gt;
   |url=http://www.oreillynet.com/pub/a/ruby/2007/08/09/behavior-driven-development-using-ruby-part-1.html&lt;br /&gt;
   |titel=Behavior Driven Development Using Ruby (Part 1)&lt;br /&gt;
   |hrsg=O’Reilly&lt;br /&gt;
   |datum=2007-08-09&lt;br /&gt;
   |sprache=en&lt;br /&gt;
   |abruf=2011-11-12}}&lt;br /&gt;
* {{Internetquelle&lt;br /&gt;
   |autor=Gregory Brown&lt;br /&gt;
   |url=http://www.oreillynet.com/pub/a/ruby/2007/08/30/behavior-driven-development-using-ruby-part-2.html&lt;br /&gt;
   |titel=Behavior Driven Development Using Ruby (Part 2)&lt;br /&gt;
   |hrsg=O’Reilly&lt;br /&gt;
   |datum=2007-08-30&lt;br /&gt;
   |sprache=en&lt;br /&gt;
   |abruf=2011-11-12}}&lt;br /&gt;
* {{Internetquelle&lt;br /&gt;
   |autor=Andrew Glover&lt;br /&gt;
   |url=http://www.ibm.com/developerworks/java/library/j-cq09187/index.html&lt;br /&gt;
   |titel=In pursuit of code quality: Adventures in behavior-driven development&lt;br /&gt;
   |titelerg=Isn’t it time you learned how to JBehave?&lt;br /&gt;
   |hrsg=IBM Developer Works&lt;br /&gt;
   |datum=2007-09-18&lt;br /&gt;
   |sprache=en&lt;br /&gt;
   |abruf=2011-11-12}}&lt;br /&gt;
* {{Internetquelle&lt;br /&gt;
   |autor=Pramodkumar J Sadalage&lt;br /&gt;
   |url=http://www.methodsandtools.com/archive/archive.php?id=78&lt;br /&gt;
   |titel=Behavior Driven Database Development (BDDD)&lt;br /&gt;
   |hrsg=Methods and Tools&lt;br /&gt;
   |sprache=en&lt;br /&gt;
   |abruf=2011-11-12}}&lt;br /&gt;
* {{Internetquelle&lt;br /&gt;
   |autor=Scott Bellware&lt;br /&gt;
   |url=http://www.tvagile.com/2009/08/13/good-test-better-code-from-unit-testing-to-behavior-driven-development/&lt;br /&gt;
   |titel=Good Test, Better Code&lt;br /&gt;
   |titelerg=From Unit Testing to Behavior-Driven Development&lt;br /&gt;
   |hrsg=Agile Scrum Videos and Tutorials&lt;br /&gt;
   |datum=2009-08-13&lt;br /&gt;
   |sprache=en&lt;br /&gt;
   |abruf=2011-11-12}}&lt;br /&gt;
* {{Internetquelle&lt;br /&gt;
   |url=http://tekpub.com/view/concepts/5&lt;br /&gt;
   |titel=Behavior Driven Design with Specflow&lt;br /&gt;
   |hrsg=[[Tekpub]]&lt;br /&gt;
   |abruf=2013-01-30}}&lt;br /&gt;
* [http://bdd.tips/ bdd.tips] – Tutorial zur Umsetzung von BDD GUI Tests, abgerufen am 19. Januar 2017.&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references responsive /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Testen (Software)]]&lt;br /&gt;
[[Kategorie:Softwaretechnik]]&lt;br /&gt;
[[Kategorie:Vorgehensmodell (Software)]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Bif Jefferson</name></author>
	</entry>
</feed>