From 255f7f2d140915f4dccedf6948198400a0f24371 Mon Sep 17 00:00:00 2001 From: Jeff Carouth Date: Tue, 10 Jul 2012 08:35:20 -0500 Subject: [PATCH] Fleshing out BDD to distinguish between StoryBDD and SpecBDD --- _posts/07-03-01-Behavior-Driven-Development.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/_posts/07-03-01-Behavior-Driven-Development.md b/_posts/07-03-01-Behavior-Driven-Development.md index c1b87a1..9f0d4ea 100644 --- a/_posts/07-03-01-Behavior-Driven-Development.md +++ b/_posts/07-03-01-Behavior-Driven-Development.md @@ -4,8 +4,19 @@ isChild: true ## Behaviour Driven Development -With BDD, you write human-readable stories that describe the behavior of your application. These stories -can then be run as actual tests against your application. +There are two different types of Behavior-Driven Development (BDD): SpecBDD and StoryBDD. SpecBDD focuses on technical behavior or code, while StoryBDD focuses on business or feature behaviors or interactions. PHP has frameworks for both types of BDD. + +With StoryBDD, you write human-readable stories that describe the behavior of your application. These stories +can then be run as actual tests against your application. The framework used in PHP applications for StoryBDD +is Behat, which is inspired by Ruby's [Cucumber](http://cukes.info/) project and implements the Gherkin DSL +for describing feature behavior. + +With SpecBDD, you write specifications that describe how your actual code should behave. Instead of testing +a function or method, you are describing how that function or method should behave. This framework is inspired +by the [RSpec project](http://rspec.info/) for Ruby. + +### BDD Links * [Behat](http://behat.org/) is inspired by Ruby's [Cucumber](http://cukes.info/) project -* [Selenium](http://seleniumhq.org/) is a browser automation tool, which can be [integrated with PHPUnit](http://www.phpunit.de/manual/3.1/en/selenium.html) \ No newline at end of file +* [PHPSpec](http://www.phpspec.net/) the SpecBDD framework for PHP +* [Selenium](http://seleniumhq.org/) is a browser automation tool, which can be [integrated with PHPUnit](http://www.phpunit.de/manual/3.1/en/selenium.html)