Upload
mayflower-gmbh
View
2.032
Download
3
Embed Size (px)
DESCRIPTION
"BDD is a second-generation, outside-in, pull-based, multiple-stakeholder, multiple-scale, high-automation, agile methodology. It describes a cycle of interactions with well-defined outputs, resulting in the delivery of working, tested software that matters." Zitat: Dan NorthWas dieser eher schwer verdauliche Satz von Dan North, einem der Initiatoren des Behavior Driven Development, beschreibt, soll ein kurzer Überblick über die Prinzipien von BDD beleuchten. An Hand von Beispielen soll das BDD Framework für PHP "Behat" vorgestellt werden. E
Citation preview
Mayflower GmbH I 3
Test 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/
Mayflower GmbH I 7
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
Mayflower GmbH I 8
Create software that matters
Dan North
Mayflower GmbH I 10
Agile acceptance testing Acceptance Test Driven Development
Example Driven Development Story testing
Specification by Example
Mayflower GmbH I 11
specification by example: key process patterns
Nach: Gojko Adzic, Specification by Example
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
Mayflower GmbH I 17
Behat Konstantin Kudryashov Senior from-birth PHP Developer bei KnpLabs „everzet“
Mayflower GmbH I 18
Behat Installation
http://behat.org/
Quick Intro, Cookbook, Manual
pear channel-discover pear.behat.org
pear install behat/behat
git clone http://github.com/Behat/Behat
Mayflower GmbH I 34
Noch mehr Behat
I Tags: behat -tag='@myTag'
I Name: behat -name='my scenario'
I Ausgabe als junit: behat -out='junit'
I Profile: behat -profile='myProfile'
I Feature: behat /features/myfeature.feature:30
Mayflower GmbH I 35
BDD in der Praxis: Jimdo GmbH
I BDD kann auch in laufenden Projekte integriert werden
I Voraussetzung ist eine Story-basierte Struktur
I BDD muss, wie auch z.B. Scrum, gelebt werden
I BDD schafft eine gute Voraussetzung für weitere Automatisierungen, z.B. Selenium
I BDD ermöglicht eine Abstraktion, die Teilaspekte besser sichtbar macht
I Probleme bereiten
· Legacy Code
· Mehrsprachigkeit (z.B. ein japanisches und ein deutsches Team)
Mayflower GmbH I 36
BDD Literatur
I The Rspec Book, David Chelimsky et al.
I Specification By Example, Gojko Adzic
I Growing Object-Oriented Software, Guided By Tests, Stefe Freemen, Nat Pryce
27.09.2011 Mayflower GmbH 37
Vielen Dank für Ihre Aufmerksamkeit!
Referent Micha Trieba
+49 89 242054 1168
Mayflower GmbH
Mannhardtstrasse6
80538 München