Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
BDD, using Behat
from Use Case to implementation
Herman Peeren
8 mei 2014, 010PHP
Developing software not easy
improved a bit over the years:
Waterfall
Waterfall vs Agile
iterations (sprints)
Waterfall vs Agile
DDD
TDD
BDD
Sapir–Whorf hypothesis
Linguistic relativity:
Structure of a language affects the ways in which its
respective speakers co...
Nelleke Verhoeff, Red Cheeks Factory,
Nelleke Verhoeff, Red Cheeks Factory,
DDD
ubiquitous language:
using the language of the domain you are modeling
TDD
Tests afterwards are boring, I like to create new things!
TDD
Tests first!
Some recent TDD critics
•	architecture destroyed by unit-level-tests
•	easy to measure doesn’t mean it’s important
David H...
BDD
Dan North
http://dannorth.net/introducing-bdd/
Functional testing
Selenium
http://docs.seleniumhq.org/
Selenium in PHPUnit
http://phpunit.de/manual/current/en/selenium.html
Acceptence testing
Behat
http://behat.org/
Behat
•	based on Cucumber (Gherkin language)
•	given - when - then
Behat: define features
steps suggestions
define steps
Mink
http://mink.behat.org/
Codeception
http://codeception.com/
No Gherkin-language, but PHP (new WebGuy)
Behat, Behavioral Driven Development (BDD) in PHP
Behat, Behavioral Driven Development (BDD) in PHP
Behat, Behavioral Driven Development (BDD) in PHP
Behat, Behavioral Driven Development (BDD) in PHP
Behat, Behavioral Driven Development (BDD) in PHP
Behat, Behavioral Driven Development (BDD) in PHP
Behat, Behavioral Driven Development (BDD) in PHP
Behat, Behavioral Driven Development (BDD) in PHP
Upcoming SlideShare
Loading in …5
×

Behat, Behavioral Driven Development (BDD) in PHP

1,433 views

Published on

In order to improve the software development process you should use the language of the domain you are modeling. Behat, a tool for Behavior Driven Development in PHP, can help in the communication with the domain-expert / product-owner.

Published in: Software, Technology

Behat, Behavioral Driven Development (BDD) in PHP

  1. 1. BDD, using Behat from Use Case to implementation Herman Peeren 8 mei 2014, 010PHP
  2. 2. Developing software not easy
  3. 3. improved a bit over the years:
  4. 4. Waterfall
  5. 5. Waterfall vs Agile iterations (sprints)
  6. 6. Waterfall vs Agile
  7. 7. DDD TDD BDD
  8. 8. Sapir–Whorf hypothesis Linguistic relativity: Structure of a language affects the ways in which its respective speakers conceptualize their world. голубой Wilhelm von Humboldt Franz Boas Edward Sapir
  9. 9. Nelleke Verhoeff, Red Cheeks Factory,
  10. 10. Nelleke Verhoeff, Red Cheeks Factory,
  11. 11. DDD ubiquitous language: using the language of the domain you are modeling
  12. 12. TDD Tests afterwards are boring, I like to create new things!
  13. 13. TDD Tests first!
  14. 14. Some recent TDD critics • architecture destroyed by unit-level-tests • easy to measure doesn’t mean it’s important David Heinemeier Hansson (‘DHH’) http://www.confreaks.com/videos/3315-railsconf-keynote James Coplien (‘Cope’) www.rbcs-us.com/documents/Why-Most-Unit-Testing-is-Waste.pdf
  15. 15. BDD Dan North http://dannorth.net/introducing-bdd/ Functional testing
  16. 16. Selenium http://docs.seleniumhq.org/
  17. 17. Selenium in PHPUnit http://phpunit.de/manual/current/en/selenium.html Acceptence testing
  18. 18. Behat http://behat.org/
  19. 19. Behat • based on Cucumber (Gherkin language) • given - when - then
  20. 20. Behat: define features steps suggestions
  21. 21. define steps
  22. 22. Mink http://mink.behat.org/
  23. 23. Codeception http://codeception.com/ No Gherkin-language, but PHP (new WebGuy)

×