behavior driven development pros and cons

16
The Pros of Behavior Driven Development (BDD): Business User Scenarios Natalya Zaytseva Exactpro Systems LLC

Upload: iosif-itkin

Post on 19-Nov-2014

7.980 views

Category:

Technology


3 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Behavior Driven Development Pros and Cons

The Pros of Behavior Driven Development (BDD): Business User Scenarios

Natalya Zaytseva

Exactpro Systems LLC

Page 2: Behavior Driven Development Pros and Cons

Test Driven Development (TDD)

Test Failed

Add a test

Test Passed

Update the code

Refactor

Page 3: Behavior Driven Development Pros and Cons

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

Page 4: Behavior Driven Development Pros and Cons

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

.

Page 5: Behavior Driven Development Pros and Cons

Behavior Driven Development (BDD)

Approach

a

feature1feature3

QA AnalystScenarios

Class

Developer

feature4

QA Analyst

Ubiquitous language

Behavior

Page 6: Behavior Driven Development Pros and Cons

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]

Page 7: Behavior Driven Development Pros and Cons

BDD Cons

Ivan Bobrov

EXTENT October 2011

Page 8: Behavior Driven Development Pros and Cons

The Beginning

Page 9: Behavior Driven Development Pros and Cons

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

Page 10: Behavior Driven Development Pros and Cons

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

Page 11: Behavior Driven Development Pros and Cons

Are developers ready for BDD?

• A developer often writes specifications

• Specs are very detailed

• Scripts, scenarios or a manual?

• Easy to understand

Page 12: Behavior Driven Development Pros and Cons

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

Page 13: Behavior Driven Development Pros and Cons

Release

A Product is ready to use

BDD it’s a design tool

Page 14: Behavior Driven Development Pros and Cons

1770 year

Page 15: Behavior Driven Development Pros and Cons

2011 year

Page 16: Behavior Driven Development Pros and Cons

Thank you.