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

Behavior Driven Development Pros and Cons

Avatar for Exactpro 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

Avatar for Exactpro

Exactpro

November 13, 2011
Tweet

More Decks by Exactpro

Other Decks in Technology

Transcript

  1. 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
  2. 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 .
  3. Behavior Driven Development (BDD) Approach a feature1 feature3 QA Analyst

    Scenarios Class Developer feature4 QA Analyst Ubiquitous language Behavior
  4. 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]
  5. 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
  6. 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
  7. Are developers ready for BDD? • A developer often writes

    specifications • Specs are very detailed • Scripts, scenarios or a manual? • Easy to understand
  8. 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 ….