behavior driven development pros and cons

Post on 19-Nov-2014

7.980 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

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

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

feature1feature3

QA AnalystScenarios

Class

Developer

feature4

QA Analyst

Ubiquitous language

Behavior

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.

top related