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

Behavior Driven Development Pros and Cons

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

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 ….