Behavior Driven Development Pros and Cons

5206c19df417b8876825b5561344c1a0?s=47 Exactpro
November 13, 2011

Behavior Driven Development Pros and Cons

The Cons of Behavior Driven Development (BDD)
Ivan Bobrov, ClubQA Co-Founder, Kostroma

The Pros of Behavior Driven Development (BDD): Business User Scenarios
Natalia Zaitseva, Exchange Functional Test Automation Lead Innovative Trading Systems

EXTENT Conference.
October 29-30, 2011
Test Automation for Trading Systems
Renaissance Hotel Moscow

5206c19df417b8876825b5561344c1a0?s=128

Exactpro

November 13, 2011
Tweet

Transcript

  1. The Pros of Behavior 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 feature1 feature3 QA Analyst

    Scenarios Class Developer feature4 QA Analyst Ubiquitous language Behavior
  6. 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]
  7. BDD Cons Ivan Bobrov EXTENT October 2011

  8. The Beginning

  9. 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
  10. 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
  11. Are developers ready for BDD? • A developer often writes

    specifications • Specs are very detailed • Scripts, scenarios or a manual? • Easy to understand
  12. 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 ….
  13. Release A Product is ready to use BDD it’s a

    design tool
  14. 1770 year

  15. 2011 year

  16. Thank you.