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

35
Value Through Collaboration Behavior Driven Development

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

Page 1: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Value Through Collaboration

Behavior Driven Development

Page 2: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Table of

Introduction

Specification by Example

Common mistakes

Behavior Driven Development

BDD and Continuous Integration

A Case Study: Gtech

What about Open Source?

Page 3: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Have you experienced it?

Page 4: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Have you experienced it?

Page 5: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Have you experienced it?

Page 6: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Have you experienced it?

Page 7: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

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

Page 8: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Table of

Introduction

Specification by Example

Common mistakes

Behavior Driven Development

BDD and Continuous Integration

A Case Study: Gtech

What about Open Source?

Page 9: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Specification

Page 10: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Aligned Stakeholders

Page 11: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

The Three

Conversation

Confirmation

Card

Page 12: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Table of

Introduction

Specification by Example

Common mistakes

Behavior Driven Development

BDD and Continuous Integration

A Case Study: Gtech

What about Open Source?

Page 13: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Common

Page 14: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Death by

Page 15: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

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.

Page 16: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Redundancy of

Page 17: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Table of

Introduction

Specification by Example

Common mistakes

Behavior Driven Development

BDD and Continuous Integration

A Case Study: Gtech

What about Open Source?

Page 18: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

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.

Page 19: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Ubiquitous

Page 20: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

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

Gherkin

Page 21: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

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

Page 22: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

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

Page 23: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

BDD

Page 24: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Table of

Introduction

Specification by Example

Common mistakes

Behavior Driven Development

BDD and Continuous Integration

A Case Study: Gtech

What about Open Source?

Page 25: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Integration with

Page 26: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

BDD

Page 27: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Table of

Introduction

Specification by Example

Common mistakes

Behavior Driven Development

BDD and Continuous Integration

A Case Study: Gtech

What about Open Source?

Page 28: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

A Case Study:

Gtech Global Lottery

Page 29: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Technical

Page 30: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Working in

Page 31: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Set of Steps

Page 32: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Let’s see

Page 33: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Table of

Introduction

Specification by Example

Common mistakes

Behavior Driven Development

BDD and Continuous Integration

A Case Study: Gtech

What about Open Source?

Page 34: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Open Source

https://github.com/TechnologyConversations

http://www.bddassistant.com

Page 35: Behavior Driven Development - Agilia Conference...Behavior Driven Development BDD and Continuous Integration A Case Study: Gtech What about Open Source? Specification Aligned Stakeholders

Thank !!!