Slide 1

Slide 1 text

BDD from scratch

Slide 2

Slide 2 text

I am Lelo @l3l0 Hello!

Slide 3

Slide 3 text

> Invented by Dan North in 2006 > Should solve problem of communication between developers and business pepole base on examples Behavior Driven Development

Slide 4

Slide 4 text

> It evolved from the TDD Behavior Driven Development

Slide 5

Slide 5 text

BDD and TDD

Slide 6

Slide 6 text

Behavior Driven Development

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

Potrzeba biznesowa: JAKO użytkownik z rolą księgowego CHCĘ zmienić status faktury na zatwierdzoną oraz wysłać emaila ŻEBY klient mógł dostać fakturę First Attemp

Slide 9

Slide 9 text

Discuss and use business language

Slide 10

Slide 10 text

Potrzeba biznesowa: JAKO Kontroler Finansowy CHCĘ aby po zatwierdzeniu faktury została ona wysłana na zdefiowany e- mail ŻEBY klient mógł zapłacić za usługi Better language

Slide 11

Slide 11 text

Scenariusz: Zatwierdzenie faktury Kiedy zatwierdzę fakturę Wtedy na maila klienta powinna zostać wysłana faktura Oraz faktura powinna zostać oznaczona jako zaakceptowana Scenarios

Slide 12

Slide 12 text

Scenariusz: Zatwierdzenie faktury Zakładając że osobą kontaktową dla klienta "Cocoders Sp. z o.o." jest "Leszek Prabucki" z mailem "l3l0@cocoders.com" Oraz faktura "2015/P/0001-1" z następującymi danymi została wystawiona dla klienta "Cocoders Sp. z o.o.": | Nazwa nabywcy | Cocoders Sp z o.o. | | NIP nabywcy | 9562307984 | | Adres nabywcy | Królowej Jadwigi 1/3, Toruń | | Nazwa usługi nr 1 | Rekrutacje | | Ilość usługi nr 1 | 1 | | Cena usługi nr 1 netto | 5000 | | VAT od usługi nr 1 | 23% | Kiedy zatwierdzę fakturę o numerze "2015/P/0001-1" Wtedy na maila "l3l0@cocoders.com" powinna zostać wysłana faktura Oraz faktura powinna trafić do puli faktur zatwierdzonych Scenarios

Slide 13

Slide 13 text

use Behat\Behat\Context\Context; class AccountantContext implements Context { /** * @When zatwierdzę fakturę o numerze :number */ public function zatwierdzeFaktureONumerze($number) { } } Design base on example

Slide 14

Slide 14 text

Living Documentation

Slide 15

Slide 15 text

QA role in BDD

Slide 16

Slide 16 text

BDD pitfalls

Slide 17

Slide 17 text

Thank You! @l3l0