The Pros of Behavior Driven Development (BDD): Business User Scenarios Natalya Zaytseva Exactpro Systems LLC
Test Driven Development (TDD) Test Failed Add a test Test Passed Update the code Refactor
Test Driven Development (TDD) Benefits Unit tests prove that code actually works Refactoring allows to improve the design of the code Low-level regression test suite Test-first reduces the cost of bugs Drawbacks Developers can consider it as a waste of time Anticipation by developers the concept of “Testing” The tests can be targeted on verification of classes and methods and not on what the code really  should do
Behavior Driven Development (BDD) Shifting from thinking in “tests” to thinking in “behavior”  Collaboration  between Business stakeholders, Business Analysts, QA team and Developers Ubiquitous language .
Behavior Driven Development (BDD) Approach a feature4 QA Analyst Ubiquitous language Behavior feature1 feature3 QA Analyst Scenarios Class Developer
BDD: Business Scenarios Story: [Narrative]  As  a Role I request  a Feature To gain  a Benefit Scenario Given  [context] AND [some more context] When  [Event] Then  [Outcome] And [Another Outcome]
BDD Cons  Ivan Bobrov EXTENT October 2011
The Beginning
Is it easy to describe? Scenario:   An  Artist creates an art work  Given  I am a registered artist  And  I am on my dashboard  And  I follow "Add an artwork" within "#dashboard"  When  I fill in "Title" with "The Portrait"  And  I fill in "Description" with "A nice portrait."  And  I select "Painting" from "Category"  And  I attach “ portret .jpg" to "Select picture"  And  I press "Create"  Then  I should see  "The Portrait " was successfully added to your art collection
A Client and BDD is Face to Face With every new project I hoped that Cucumber can become one of the communication tools between our team and the customer.  Only once I managed to get the customer write the scenarios , however the quality wasn't good and they had to be rewritten by a developer   It was difficult to convince the customer to review the scenarios on a daily basis . They preferred writing a document or using a ticketing system like Redmine. The result is that we have requirements in 2 places - tickets and scenarios Andrzej Krzywda
Are developers ready for BDD? A developer often writes specifications Specs are very detailed Scripts, scenarios or a manual? Easy to understand
BDD doesn’t show a real life In BBD Scenario NewOrderSingle where SecurityID=S1  and Price=P1  and Side=BUY  and Quantity=Q1 … In Real Life Initialize TCP connection Send Logon to the GW Wait for Logon response Start sending HeartBeats Send NewOrderSingle with ….
Release A Product is ready to use BDD it’s a design tool
1770 year
2011 year
Thank you.

Behavior Driven Development Pros and Cons

  • 1.
    The Pros ofBehavior Driven Development (BDD): Business User Scenarios Natalya Zaytseva Exactpro Systems LLC
  • 2.
    Test Driven Development(TDD) Test Failed Add a test Test Passed Update the code Refactor
  • 3.
    Test Driven Development(TDD) Benefits Unit tests prove that code actually works Refactoring allows to improve the design of the code Low-level regression test suite Test-first reduces the cost of bugs Drawbacks Developers can consider it as a waste of time Anticipation by developers the concept of “Testing” The tests can be targeted on verification of classes and methods and not on what the code really should do
  • 4.
    Behavior Driven Development(BDD) Shifting from thinking in “tests” to thinking in “behavior” Collaboration between Business stakeholders, Business Analysts, QA team and Developers Ubiquitous language .
  • 5.
    Behavior Driven Development(BDD) Approach a feature4 QA Analyst Ubiquitous language Behavior feature1 feature3 QA Analyst Scenarios Class Developer
  • 6.
    BDD: Business ScenariosStory: [Narrative] As a Role I request a Feature To gain a Benefit Scenario Given [context] AND [some more context] When [Event] Then [Outcome] And [Another Outcome]
  • 7.
    BDD Cons Ivan Bobrov EXTENT October 2011
  • 8.
  • 9.
    Is it easyto describe? Scenario: An Artist creates an art work Given I am a registered artist And I am on my dashboard And I follow "Add an artwork" within "#dashboard" When I fill in "Title" with "The Portrait" And I fill in "Description" with "A nice portrait." And I select "Painting" from "Category" And I attach “ portret .jpg" to "Select picture" And I press "Create" Then I should see "The Portrait " was successfully added to your art collection
  • 10.
    A Client andBDD is Face to Face With every new project I hoped that Cucumber can become one of the communication tools between our team and the customer. Only once I managed to get the customer write the scenarios , however the quality wasn't good and they had to be rewritten by a developer It was difficult to convince the customer to review the scenarios on a daily basis . They preferred writing a document or using a ticketing system like Redmine. The result is that we have requirements in 2 places - tickets and scenarios Andrzej Krzywda
  • 11.
    Are developers readyfor BDD? A developer often writes specifications Specs are very detailed Scripts, scenarios or a manual? Easy to understand
  • 12.
    BDD doesn’t showa real life In BBD Scenario NewOrderSingle where SecurityID=S1 and Price=P1 and Side=BUY and Quantity=Q1 … In Real Life Initialize TCP connection Send Logon to the GW Wait for Logon response Start sending HeartBeats Send NewOrderSingle with ….
  • 13.
    Release A Productis ready to use BDD it’s a design tool
  • 14.
  • 15.
  • 16.