Um wie viel bin ich hinterher schlauer: BDD Gherkin Behat
Mayflower GmbH I 3
Test Driven Development
Vorführender
Präsentationsnotizen
TDD bringt Code der laeuft TDD bringt auch eine Betrachtung von Funktionalitaet, eine bessere Architektur ABER noch nicht zwangsweise Software, die das tut, was sie tun soll
Mayflower GmbH I 4
Vorführender
Präsentationsnotizen
TDD setzt Umdenken und Einübung voraus
Mayflower GmbH I 5
Behaviour Driven Development
Mayflower GmbH I 6
Dan North ThoughtWorks, DRW Trading Group http://dannorth.net/ „It's all behaviour“ JBehave http://dannorth.net/introducing-bdd/ http://dannorth.net/whats-in-a-story/
Vorführender
Präsentationsnotizen
Einer der Initiatoren Vom test zu behaviour Something should do something Business value defines the next step BDD formalisiert Akzeptanzkriterien Bring alle Stakeholder zusammen, um Akzeptanzkriterien zu formulieren BDD provides a “ubiquitous language” for analysis
escape the dual gumption traps of “that’s not what I asked for”
or “I forgot to tell you about this other thing”
Dan North
Vorführender
Präsentationsnotizen
Gumption: Tatkraft, Entschlosenheit „Entmutigung“ A gumption trap is an event or mindset that can cause a person to lose enthusiasm and discourage them from starting or continuing a project. Kreislauf von Spezifikation, Entwicklung, Test, verkuerzen
Software, die stabil läuft Software, die nicht ständig patches braucht Software, die tut was sie soll
Mayflower GmbH I 9
Mayflower GmbH I 10
Agile acceptance testing Acceptance Test Driven Development
Example Driven Development Story testing
Specification by Example
Vorführender
Präsentationsnotizen
Nicht synonym, aber beschreiben die Komponenten von BDD
Mayflower GmbH I 11
specification by example: key process patterns
Nach: Gojko Adzic, Specification by Example
Mayflower GmbH I 12
Agile
Mayflower GmbH I 13
Story = feature As a [role] I want [feature] So that [benefit, business value]
Mayflower GmbH I 14
Acceptance Criteria = Scenario Scenario 1 Step a Step b Scenario 2 Step a Step b
Mayflower GmbH I 15
Step definition Given [context] And [some more context] When [event] And [another event] Then [outcome] And [another outcome]
Mayflower GmbH I 16
Gherkin
Vorführender
Präsentationsnotizen
Gherkin = Gewuerzgurke DSL Intermediaer zwischen Plain Text und Code Like YAML or Python, Gherkin is a line-oriented language that uses indentation to define structure. Line endings terminate statements (e.g., steps) and either spaces or tabs may be used for indentation (but spaces are more portable). Finally, most lines in Gherkin start with a special keyword:
Mayflower GmbH I 17
Behat Konstantin Kudryashov Senior from-birth PHP Developer bei KnpLabs „everzet“
Vorführender
Präsentationsnotizen
Mehr BDD Frameworks Rspec, Cucumber Junit, Jbehave Nunit, Specflow Jasmine