Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous...

Post on 20-Jun-2020

8 views 0 download

Transcript of Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous...

Value Through Collaboration

Behavior Driven Development

Table of

Introduction

Specification by Example

Common mistakes

Behavior Driven Development

BDD and Continuous Integration

A Case Study: Gtech

What about Open Source?

Have you experienced it?

Have you experienced it?

Have you experienced it?

Have you experienced it?

Who we?

Víctor Fairén

Telecom Engineer for 9 years Continuous Delivery Lead at Gtech Scrum Master at Gtech Working with Agile since 2011

Jordi Falguera

Software Engineer for 10+ years Master BlackBelt Lean 6Sigma Technology Manager at Gtech Working on BDD since 2011

@torinoxx @jordi_falguera

Table of

Introduction

Specification by Example

Common mistakes

Behavior Driven Development

BDD and Continuous Integration

A Case Study: Gtech

What about Open Source?

Specification

Aligned Stakeholders

The Three

Conversation

Confirmation

Card

Table of

Introduction

Specification by Example

Common mistakes

Behavior Driven Development

BDD and Continuous Integration

A Case Study: Gtech

What about Open Source?

Common

Death by

Groupthink

Groupthink is a psychological phenomenon that occurs within a group of people, in which the desire for harmony or conformity in the group results in an irrational or dysfunctional decision-making outcome.

Redundancy of

Table of

Introduction

Specification by Example

Common mistakes

Behavior Driven Development

BDD and Continuous Integration

A Case Study: Gtech

What about Open Source?

What is

BDD was created by Dan North as as a response to the issues encountered teaching test-driven development (TDD) and is basically a way to rethink the approach to unit testing and acceptance testing.

• How software development managed by both business interests and technical insight.

• Requirements are specified in a way that they are explicit, executable and testable.

• The BDD tools serve to add automation to the ubiquitous language which is the central theme of BDD.

Ubiquitous

Gherkin is a Business Readable, Domain Specific Language that lets you describe software's behavior without detailing how that behavior is implemented.

Gherkin

Stories in

User story template

Narrative: In Order to [benefit] As a [role] I Want to [feature]

Acceptance Criteria: Scenario: [description]

Given [context or precondition] When [event or action] Then [outcome validation]

Story Title

BDD

public void goUrl(String url) { String formattedUrl = this.getVariableValue(url); String baseUrl = this.getVariableValue("@baseUrl"); if (!formattedUrl.startsWith("http") && !baseUrl.isEmpty()) { formattedUrl = baseUrl + "/" + formattedUrl; } try { getDriver().get(formattedUrl); } catch (TimeoutException e) { if (!this.getPageLoadTimeout()) { throw e; } } this.webWait(this.getWaitAction()); }

@Given ("the user is on the URL $url")

Scenario: Successful login Given the user is on the URL / …

BDD

Table of

Introduction

Specification by Example

Common mistakes

Behavior Driven Development

BDD and Continuous Integration

A Case Study: Gtech

What about Open Source?

Integration with

BDD

Table of

Introduction

Specification by Example

Common mistakes

Behavior Driven Development

BDD and Continuous Integration

A Case Study: Gtech

What about Open Source?

A Case Study:

Gtech Global Lottery

Technical

Working in

Set of Steps

Let’s see

Table of

Introduction

Specification by Example

Common mistakes

Behavior Driven Development

BDD and Continuous Integration

A Case Study: Gtech

What about Open Source?

Open Source

https://github.com/TechnologyConversations

http://www.bddassistant.com

Thank !!!