Session Abstract:
I'm a developer. Similarly to other developers, I like dealing with technologies, architectures and solutions. I also like thinking about ways how to do this better and better. 2009 was the first time I encountered behavior driven development (BDD) -- as a tool to extend our agile development process to the entire project, including testers and product owners. BDD works like a glue that connects and reinforces agile methods you already use, making one plus one more than two.
BDD is still often regarded as a developer tool, so in this session, I would like to explain why Testers should care about BDD: What it is good for? What benefits you might expect? What is the role and responsibility of a tester in a BDD process? What is Gherkin and why do we care about vegetables at all?
12. Team Foundation Server Version Control
TeamFoundation Server Workitems
SpecLog
Story Maps
Product
Backlog
Sprint
Backlog
Task Board
SpecFlow Scenarios
Test-
auto-
mation
Product
Living
Documen-
tation
Our Process
Source: TechTalk (www.techtalk.at)
13. Planning a story with acceptance
criteria
“Imagine this story is
already implemented:
How would you verify
it?”
“I would try to put a book
into the shopping cart …”
“I would try to remove a
book from the shopping
cart…”
“I’d check whether the shopping
cart is empty, when I enter the
shop …”
Shopping cart should be
empty when entering the
shop
Source: TechTalk (www.techtalk.at)
14. Gherkin Scenarios
Scenario: Books can be added to the shopping basket
Given the following books
|Author |Title |
|Martin Fowler |Analysis Patterns |
|Gojko Adzic |Bridging the Communication Gap |
And my shopping basket is empty
When I add the book “Analysis Patterns” to my shopping basket
Then my shopping basket should contain 1 copy of “Analysis Patterns”
23. Thank you!
See you at on scrummaster.com.ua's booth!
Gaspar Nagy
coach • trainer • bdd addict • creator of specflow
@gasparnagy • gaspar@specsolutions.eu
Editor's Notes
Start Time: 5min
Expectation: People have heard of BDD
Goal: Summary for common understanding
2001: Dan North invented the term (test -> “should”) -> JBehave (Java) -> RSpec (Ruby) -> Cucumber (Ruby)
second generation: not original, evolved from lots of other stuff
Dan North: BDD is a second generation agile methodology.
The most important ones probably: Specification by Example, ATDD, TDD, DDD
DDD (here): focus on problem domain, not technology
We have another talk about explaining all the relations, but that is not the goal of this talk.
… Just one Concept we want to highlight: Specfication by Example
Paper published for IEEE, Robert C. Marting and Grigori Melnik
Möbius strip
Traditionally this is not recognized because RE and Testing are set up as different disciplines
But they are about the same: how the system is used
Wouldn’t it make sense to leverage some synergies?
1977, space shuttle (first real trip 1981)
Landing: most critical; launch: most expensive
Boeing 747 Shuttle Carrier Aircraft (SCA)
1977-ben az Űrsikló program előkészületei folytak (az első valódi űrutazás 1981-ben történt). Az űrutazás egyik legkritikusabb pontja a leszállás a felszállás viszont az egyik legköltségesebb.
Tekintve, hogy a fel és leszállások száma – jó esetben kiegyenlíti egymást, szükség volt egy olyan megoldásra, amivel a leszállás tesztelhető a felszállás költségei nélkül.
Ehhez végül egy jelentősen átalakított Boeing 747-est (kettőt) használtak, amely képes volt a tetejére erősített űrsiklót a levegőbe emelni.
Boings were used to carry space shuttles to road shows later
Nincsenek adatok, ennek költségeiről, de bizonyára sok pénzbe került.
(A csatlakozási pontot vicces felirattal látták el, amiben jelölik, hogy az ürrepülőt „fekete felével lefelé” kell rögzíteni.
Tesztautomatizálás közben is hasonló problémákba ütközhetünk. Tesztelni kell egy folyamatot, de a tesztelhetőség miatt komoly infrastruktúrát kell felépíteni, aminek az egyedüli szerepe a tesztelhetőség lehetővé tétele vagy hatékonyságának növelése. Ezeket mi stub-oknak hívjuk.
Az átalakított boingeket később arra is használták, hogy az űrrepülőket múzeumokba vagy légiparádékra szállítsák – talán a mi stubjaink is jók lesznek valamire még?
Boings were used to carry space shuttles to road shows later
Nincsenek adatok, ennek költségeiről, de bizonyára sok pénzbe került.
(A csatlakozási pontot vicces felirattal látták el, amiben jelölik, hogy az ürrepülőt „fekete felével lefelé” kell rögzíteni.
Tesztautomatizálás közben is hasonló problémákba ütközhetünk. Tesztelni kell egy folyamatot, de a tesztelhetőség miatt komoly infrastruktúrát kell felépíteni, aminek az egyedüli szerepe a tesztelhetőség lehetővé tétele vagy hatékonyságának növelése. Ezeket mi stub-oknak hívjuk.
Az átalakított boingeket később arra is használták, hogy az űrrepülőket múzeumokba vagy légiparádékra szállítsák – talán a mi stubjaink is jók lesznek valamire még?