Upgrade to Pro — share decks privately, control downloads, hide ads and more …

BDD from scratch

BDD from scratch

Jako programista oraz właściciel firmy, która zajmuje się wytwarzaniem oprogramowania, chciałbym opisać technikę którą używam w codziennej pracy czyli BDD. BDD jako metodologia związana z zwinnymi technikami wytwarzania oprogramowania przeżyła wielką przemianę na przełomie ostatnich lat, opowiemy sobie o tym wszystkim. Postaram się ukazać ‚flow” BDD czyli ukazać jak to wszystko przebiega od wymagań biznesowych do implementacji. Przykłady które będę pokazywał na prezentacji, będą bazować na języku PHP oraz frameworku do BDD który nazywa się Behat.

Leszek Prabucki

February 04, 2016
Tweet

More Decks by Leszek Prabucki

Other Decks in Programming

Transcript

  1. > Invented by Dan North in 2006 > Should solve

    problem of communication between developers and business pepole base on examples Behavior Driven Development
  2. 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
  3. 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
  4. Scenariusz: Zatwierdzenie faktury Kiedy zatwierdzę fakturę Wtedy na maila klienta

    powinna zostać wysłana faktura Oraz faktura powinna zostać oznaczona jako zaakceptowana Scenarios
  5. Scenariusz: Zatwierdzenie faktury Zakładając że osobą kontaktową dla klienta "Cocoders

    Sp. z o.o." jest "Leszek Prabucki" z mailem "[email protected]" 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 "[email protected]" powinna zostać wysłana faktura Oraz faktura powinna trafić do puli faktur zatwierdzonych Scenarios
  6. use Behat\Behat\Context\Context; class AccountantContext implements Context { /** * @When

    zatwierdzę fakturę o numerze :number */ public function zatwierdzeFaktureONumerze($number) { } } Design base on example