SlideShare une entreprise Scribd logo
1  sur  41
Télécharger pour lire hors ligne
@wakaleojohnfergusonsmart.com
BEYOND GIVEN/WHEN/THEN
Why diving into Cucumber is the wrong
approach to adopting BDD
@wakaleo
@wakaleojohnfergusonsmart.com
“You do BDD? Cool, I love test automation!”
“We couldn’t do BDD this sprint because
we didn’t have any UI stories”
“Yes, we do BDD here, the tester
uses Cucumber for all his tests”
“We're dev complete so let's write
some Bee-Dee-Dees”
“The Jira story is not complete until the BA
defines their given-when-thens”
@wakaleojohnfergusonsmart.com
BDD is NOT
Using “Given-When-Then” in your stories
Though you may find the Given/When/Then structure useful at certain stages when you
practice BDD
@wakaleojohnfergusonsmart.com
BDD is NOT
Using Cucumber to write automated web tests
Though you may find Cucumber useful at certain stages
when you practice BDD
@wakaleojohnfergusonsmart.com
BDD IS
A way of collaborating
using conversations about examples and business rules
to deliver better software
@wakaleojohnfergusonsmart.com
To deliver
software that
matters
And a common
language to build
a shared
understanding
Using rules and
examples at
multiple levels
Collaborate to
discover
requirements and
identify uncertainty
@wakaleojohnfergusonsmart.com
Business
BA
Developers
Testers
As a corporate frequent flyer
I want to earn points on my business flights
So that I can get discounts on my holiday flights
Examples
Rules
Acceptance Criteria
SHARED
UNDERSTANDING
Executable
Specifications
Scenario: First class earns double points
Given I fly from London to Paris
When I am in First Class

Then I should earn twice as many points
Scenario: First class earns double points
Given I fly from London to Paris
When I am in First Class

Then I should earn twice as many points
Development and
exploratory testing
Software that
matters
@wakaleojohnfergusonsmart.com
Discover
Define
Formalise
Automate
Gherkin
Cucumber
@wakaleojohnfergusonsmart.com
Gherkins get people together
@wakaleojohnfergusonsmart.com
Scenario: Applying for a joint credit card with insufficient combined income
The combined income must be over £10,000
Given Susan has an income of £3000
And Jim has an income of £2500
When Susan and Jim apply for a joint credit card online
Then the application should be refused
What rule are we illustrating
Preconditions
Action
Expected outcome
Gherkin: a simple but flexible format
@wakaleojohnfergusonsmart.com
Feature: Credit card financial checks
In order to avoid bad debts
As a financial institution
I want to ensure that a customer’s credit limit is in line with the their earnings
Scenario Outline: The maximum credit card limit depends on the customer's salary
A customer needs a salary of at least £10,000. There are two types of card,
one with a limit of £2500, and another with a limit of £5000
Given an individual customer with an annual salary of <Salary>
When the customer applies for a credit card
Then the credit card application should be <Approved or Refused>
And if approved, the maximum credit limit should be <Max Limit>
Examples:
| Salary | Approved or Refused | Max Limit | Notes |
| £5000 | Refused | 0 | must be over £10,000 |
| £15,000 | Approved | £2500 | Up to £15,000 |
| £25,000 | Approved | £5000 | Over £15,000 |
| £100,000 | Approved | £5000 | Max limit £5000 |
Gherkin: a simple but flexible format
Why
What
How
Examples
@wakaleojohnfergusonsmart.com
“I wrote you a long letter because I
didn’t have time to write a short one”
- Mark Twain
@wakaleojohnfergusonsmart.com
Feature: Display customer details
As a user
I want to view the customer's personal profile
In order to access the personal information on the customer
Scenario: Customer Profile field 'Gender'
Given I am logged into the application
And I have displayed the customer
When I view the customer profile on the summary screen
Then I should see the Gender field (field type: Dropdown - read only information)



Scenario: Customer Profile ‘DOB/Age' field
Given I am logged into the application
And I have displayed the customer
When I view the Personal Profile on the Summary screen
Then I should see the DOB/Age field (DOB field type: Date, format: dd mmm yyyy - read only)
(Age field type:read only - numeric) under Personal Profile
And it should be blank if no value returned

Scenario: Customer Profile 'Marital Status' field
Scenario: Customer Profile 'Dependents' field
The Gherkin notation is not a guarantee of quality
@wakaleojohnfergusonsmart.com
Sometimes G/W/T happens too early
“The Jira story is not complete until the BA
defines their given-when-thens”
@wakaleojohnfergusonsmart.com
@wakaleojohnfergusonsmart.com
Scenario Outline: User tries to log on to application with invalid credentials

Given I am a registered user
When I login as <username> with password <password>
Then I should not be allowed to logon
And I should see the error message <error-message>
Examples:
| username | password | message |
| scott | | Please enter a password |
| | tiger | Please enter a username |
| scott | wrong | Invalid username or password |
Sure, but what else?
@wakaleojohnfergusonsmart.com
And sometimes G/W/T happens too late
“Yes, we do BDD here, the tester
uses Cucumber for all his tests”
“We're dev complete so let's write
some Bee-Dee-Dees”
“You do BDD? Cool, I love test automation!”
@wakaleojohnfergusonsmart.com
@wakaleojohnfergusonsmart.com
@wakaleojohnfergusonsmart.com
A better approach?
@wakaleojohnfergusonsmart.com
establishes validatesShared
Understanding
Collaboration
Formalisation
Sprint Planning Sprint Delivery
@wakaleojohnfergusonsmart.com
Advocate
Sceptic
Cross-Examiner
What should it do, and why?
How can it work?
What can go wrong?
How can we prove it works?
@wakaleojohnfergusonsmart.com
Discover
@wakaleojohnfergusonsmart.com
Framing the question
@wakaleojohnfergusonsmart.com
✓Impact Mapping
✓Story Mapping
✓Event Storming
The Bigger Picture
@wakaleojohnfergusonsmart.com
Know what your goals are
Know when you know they are achieved
Don’t confuse success with completion
@wakaleojohnfergusonsmart.com
Define
@wakaleojohnfergusonsmart.com
Identify the outputs
@wakaleojohnfergusonsmart.com
Rich guy Joe
successfully
orders a card
Student Billy can’t order a card
because his income is too low
Salary must be sufficient
✓Example Mapping
Find Key Rules and Examples
@wakaleojohnfergusonsmart.com
Rich guy Joe
successfully
orders a card
Applies for
card
His credit
rating is OK
His salary is
sufficient
An account is
created
The credit
card is posted
✓Feature Mapping
Scenario Steps Outcomes
His credit
rating sucks
Explore flows
@wakaleojohnfergusonsmart.com
Rich guy Joe
successfully
orders a card
Applies for
card
His credit
rating is OK
His salary is
sufficient
An account is
created
The credit
card is posted
✓Feature Mapping
Scenario Steps Outcomes
Explore variations
Student Billy
can’t order a
card
Applies for
card
His credit
rating is OK
His salary is
not sufficient
His application
is rejected
@wakaleojohnfergusonsmart.com
The Three Facets of BDD
#1) Investigate
@wakaleojohnfergusonsmart.com
The Three Facets of BDD
#2) Communicate
@wakaleojohnfergusonsmart.com
The Three Facets of BDD
#3) Challenge
The Three Facets of BDD
#3) Challenge
@wakaleojohnfergusonsmart.com
Formalise
@wakaleojohnfergusonsmart.com
Write executable specifications
Feature: Credit card financial checks
In order to avoid bad debts
As a financial institution
I want to ensure that a customer’s credit limit is in line with the their earnings
Scenario Outline: The maximum credit card limit depends on the customer's salary
A customer needs a salary of at least £10,000. There are two types of card,
one with a limit of £2500, and another with a limit of £5000
Given an individual customer with an annual salary of <Salary>
When the customer applies for a credit card
Then the credit card application should be <Approved or Refused>
And if approved, the maximum credit limit should be <Max Limit>
Examples:
| Salary | Approved or Refused | Max Limit | Notes |
| £5000 | Refused | 0 | must be over £10,000 |
| £15,000 | Approved | £2500 | Up to £15,000 |
| £25,000 | Approved | £5000 | Over £15,000 |
| £100,000 | Approved | £5000 | Max limit £5000 |
@wakaleojohnfergusonsmart.com
Automate
@wakaleojohnfergusonsmart.com
Automate
Feature: Credit card financial checks
In order to avoid bad debts
As a financial institution
I want to ensure that a customer’s credit limit is in line with the their earnings
Scenario Outline: The maximum credit card limit depends on the customer's salary
A customer needs a salary of at least £10,000. There are two types of card,
one with a limit of £2500, and another with a limit of £5000
Given an individual customer with an annual salary of <Salary>
When the customer applies for a credit card
Then the credit card application should be <Approved or Refused>
And if approved, the maximum credit limit should be <Max Limit>
Examples:
| Salary | Approved or Refused | Max Limit | Notes |
| £5000 | Refused | 0 | must be over £10,000 |
| £15,000 | Approved | £2500 | Up to £15,000 |
| £25,000 | Approved | £5000 | Over £15,000 |
| £100,000 | Approved | £5000 | Max limit £5000 |
@wakaleojohnfergusonsmart.com
Automation should serve the team, not the other way round
@wakaleojohnfergusonsmart.com
Investigate Communicate
Challenge
Verified Understood
Heard
Gherkin
and
Cucum
ber
@wakaleojohnfergusonsmart.com
AGILEPRAGUE discount coupon
50% discount for conference attendees
on “BDD with Cucumber and Serenity”
http://serenity-dojo.com
THANK YOU!
https://www.johnfergusonsmart.com
John Ferguson Smart
@wakaleo

Contenu connexe

Tendances

BDD in Action - Automated Web Testing with WebDriver and Serenity
BDD in Action - Automated Web Testing with WebDriver and SerenityBDD in Action - Automated Web Testing with WebDriver and Serenity
BDD in Action - Automated Web Testing with WebDriver and SerenityJohn Ferguson Smart Limited
 
Specification-By-Example with Gherkin
Specification-By-Example with GherkinSpecification-By-Example with Gherkin
Specification-By-Example with GherkinChristian Hassa
 
Rest api 테스트 수행가이드
Rest api 테스트 수행가이드Rest api 테스트 수행가이드
Rest api 테스트 수행가이드SangIn Choung
 
How to Break the Requirements into User Stories
How to Break the Requirements into User StoriesHow to Break the Requirements into User Stories
How to Break the Requirements into User StoriesShriKant Vashishtha
 
Strategies to split user stories
Strategies to split user storiesStrategies to split user stories
Strategies to split user storiescpolc
 
Cypress-vs-Playwright-Rematch-Applitools.pdf
Cypress-vs-Playwright-Rematch-Applitools.pdfCypress-vs-Playwright-Rematch-Applitools.pdf
Cypress-vs-Playwright-Rematch-Applitools.pdfApplitools
 
Cucumber presentation
Cucumber presentationCucumber presentation
Cucumber presentationAkhila B
 
Playwright: A New Test Automation Framework for the Modern Web
Playwright: A New Test Automation Framework for the Modern WebPlaywright: A New Test Automation Framework for the Modern Web
Playwright: A New Test Automation Framework for the Modern WebApplitools
 
User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013Fabio Armani
 
Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile AppsSauce Labs
 
User Story Slicing - easy way to split user stories
User Story Slicing - easy way to split user stories  User Story Slicing - easy way to split user stories
User Story Slicing - easy way to split user stories Arto Eskelinen
 
Nestjs MasterClass Slides
Nestjs MasterClass SlidesNestjs MasterClass Slides
Nestjs MasterClass SlidesNir Kaufman
 
BDD - Writing better scenario
BDD - Writing better scenarioBDD - Writing better scenario
BDD - Writing better scenarioArnauld Loyer
 
SI 화면테스트(단위) 가이드
SI 화면테스트(단위) 가이드SI 화면테스트(단위) 가이드
SI 화면테스트(단위) 가이드SangIn Choung
 
Invest In Good User Stories
Invest In Good User StoriesInvest In Good User Stories
Invest In Good User StoriesCraig Brown
 
Methodology: feature epic and user story
Methodology:  feature epic and user storyMethodology:  feature epic and user story
Methodology: feature epic and user storyJean-François Nguyen
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User StoriesJaneve George
 

Tendances (20)

BDD in Action - Automated Web Testing with WebDriver and Serenity
BDD in Action - Automated Web Testing with WebDriver and SerenityBDD in Action - Automated Web Testing with WebDriver and Serenity
BDD in Action - Automated Web Testing with WebDriver and Serenity
 
User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
 
Specification-By-Example with Gherkin
Specification-By-Example with GherkinSpecification-By-Example with Gherkin
Specification-By-Example with Gherkin
 
Rest api 테스트 수행가이드
Rest api 테스트 수행가이드Rest api 테스트 수행가이드
Rest api 테스트 수행가이드
 
Cucumber and Spock Primer
Cucumber and Spock PrimerCucumber and Spock Primer
Cucumber and Spock Primer
 
How to Break the Requirements into User Stories
How to Break the Requirements into User StoriesHow to Break the Requirements into User Stories
How to Break the Requirements into User Stories
 
Strategies to split user stories
Strategies to split user storiesStrategies to split user stories
Strategies to split user stories
 
Cypress-vs-Playwright-Rematch-Applitools.pdf
Cypress-vs-Playwright-Rematch-Applitools.pdfCypress-vs-Playwright-Rematch-Applitools.pdf
Cypress-vs-Playwright-Rematch-Applitools.pdf
 
Cucumber presentation
Cucumber presentationCucumber presentation
Cucumber presentation
 
Playwright: A New Test Automation Framework for the Modern Web
Playwright: A New Test Automation Framework for the Modern WebPlaywright: A New Test Automation Framework for the Modern Web
Playwright: A New Test Automation Framework for the Modern Web
 
User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013
 
Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile Apps
 
User Story Slicing - easy way to split user stories
User Story Slicing - easy way to split user stories  User Story Slicing - easy way to split user stories
User Story Slicing - easy way to split user stories
 
Nestjs MasterClass Slides
Nestjs MasterClass SlidesNestjs MasterClass Slides
Nestjs MasterClass Slides
 
BDD - Writing better scenario
BDD - Writing better scenarioBDD - Writing better scenario
BDD - Writing better scenario
 
SI 화면테스트(단위) 가이드
SI 화면테스트(단위) 가이드SI 화면테스트(단위) 가이드
SI 화면테스트(단위) 가이드
 
Invest In Good User Stories
Invest In Good User StoriesInvest In Good User Stories
Invest In Good User Stories
 
Methodology: feature epic and user story
Methodology:  feature epic and user storyMethodology:  feature epic and user story
Methodology: feature epic and user story
 
Cucumber & gherkin language
Cucumber & gherkin languageCucumber & gherkin language
Cucumber & gherkin language
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User Stories
 

Similaire à Beyond Given/When/Then - why diving into Cucumber is the wrong approach to adopting BDD

Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...John Ferguson Smart Limited
 
Engage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a differenceEngage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a differenceJohn Ferguson Smart Limited
 
Odesk Tutorial
Odesk Tutorial Odesk Tutorial
Odesk Tutorial Lancemode
 
Growing software from examples
Growing software from examplesGrowing software from examples
Growing software from examplesSeb Rose
 
Commercial Credit Builder
Commercial Credit BuilderCommercial Credit Builder
Commercial Credit Builderprolificone
 
Personal Money Management
Personal Money ManagementPersonal Money Management
Personal Money ManagementKevin Ray
 
Personal Finance: All About Credit Reports and Credit Scores by @Phroogal
Personal Finance: All About Credit Reports and Credit Scores by @PhroogalPersonal Finance: All About Credit Reports and Credit Scores by @Phroogal
Personal Finance: All About Credit Reports and Credit Scores by @PhroogalJason Vitug
 
Supplier Payment Optimization With Virtual Card Payments- B2B Virtual Payments
Supplier Payment Optimization With Virtual Card Payments- B2B Virtual PaymentsSupplier Payment Optimization With Virtual Card Payments- B2B Virtual Payments
Supplier Payment Optimization With Virtual Card Payments- B2B Virtual PaymentsMegan Lennek
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven DevelopmentSkills Matter
 
Business credit for business owners - Credit Management Association
Business credit for business owners - Credit Management AssociationBusiness credit for business owners - Credit Management Association
Business credit for business owners - Credit Management AssociationCredit Management Association
 
Invoice Factoring Broker Training
Invoice Factoring Broker TrainingInvoice Factoring Broker Training
Invoice Factoring Broker TrainingKeith Mabe
 
Invoice Factoring Broker Training
Invoice Factoring Broker TrainingInvoice Factoring Broker Training
Invoice Factoring Broker TrainingKeith Mabe
 
Invoice Factoring Brokers
Invoice Factoring BrokersInvoice Factoring Brokers
Invoice Factoring BrokersKeith Mabe
 
2 ivan pashko - fake it 'til you make it
2   ivan pashko - fake it 'til you make it2   ivan pashko - fake it 'til you make it
2 ivan pashko - fake it 'til you make itIevgenii Katsan
 
Getting Paid - how to avoid bad debts
Getting Paid - how to avoid bad debtsGetting Paid - how to avoid bad debts
Getting Paid - how to avoid bad debtsAndrew Wilson
 
Banking Credit Risk- EDA.pptx
Banking Credit Risk- EDA.pptxBanking Credit Risk- EDA.pptx
Banking Credit Risk- EDA.pptxrishikakhanna7
 

Similaire à Beyond Given/When/Then - why diving into Cucumber is the wrong approach to adopting BDD (20)

Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
 
Engage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a differenceEngage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a difference
 
Odesk Tutorial
Odesk Tutorial Odesk Tutorial
Odesk Tutorial
 
Growing software from examples
Growing software from examplesGrowing software from examples
Growing software from examples
 
Commercial Credit Builder
Commercial Credit BuilderCommercial Credit Builder
Commercial Credit Builder
 
Sakthi Resume New
Sakthi Resume NewSakthi Resume New
Sakthi Resume New
 
Personal Money Management
Personal Money ManagementPersonal Money Management
Personal Money Management
 
Personal Finance: All About Credit Reports and Credit Scores by @Phroogal
Personal Finance: All About Credit Reports and Credit Scores by @PhroogalPersonal Finance: All About Credit Reports and Credit Scores by @Phroogal
Personal Finance: All About Credit Reports and Credit Scores by @Phroogal
 
Credit 101 2014
Credit 101 2014Credit 101 2014
Credit 101 2014
 
Supplier Payment Optimization With Virtual Card Payments- B2B Virtual Payments
Supplier Payment Optimization With Virtual Card Payments- B2B Virtual PaymentsSupplier Payment Optimization With Virtual Card Payments- B2B Virtual Payments
Supplier Payment Optimization With Virtual Card Payments- B2B Virtual Payments
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
 
Business credit for business owners - Credit Management Association
Business credit for business owners - Credit Management AssociationBusiness credit for business owners - Credit Management Association
Business credit for business owners - Credit Management Association
 
test
testtest
test
 
Invoice Factoring Broker Training
Invoice Factoring Broker TrainingInvoice Factoring Broker Training
Invoice Factoring Broker Training
 
Invoice Factoring Broker Training
Invoice Factoring Broker TrainingInvoice Factoring Broker Training
Invoice Factoring Broker Training
 
Invoice Factoring Brokers
Invoice Factoring BrokersInvoice Factoring Brokers
Invoice Factoring Brokers
 
2 ivan pashko - fake it 'til you make it
2   ivan pashko - fake it 'til you make it2   ivan pashko - fake it 'til you make it
2 ivan pashko - fake it 'til you make it
 
Credit 101 presentation
Credit 101 presentationCredit 101 presentation
Credit 101 presentation
 
Getting Paid - how to avoid bad debts
Getting Paid - how to avoid bad debtsGetting Paid - how to avoid bad debts
Getting Paid - how to avoid bad debts
 
Banking Credit Risk- EDA.pptx
Banking Credit Risk- EDA.pptxBanking Credit Risk- EDA.pptx
Banking Credit Risk- EDA.pptx
 

Plus de John Ferguson Smart Limited

My Reading Specs - Refactoring Patterns for Gherkin Scenarios
My Reading Specs - Refactoring Patterns for Gherkin ScenariosMy Reading Specs - Refactoring Patterns for Gherkin Scenarios
My Reading Specs - Refactoring Patterns for Gherkin ScenariosJohn Ferguson Smart Limited
 
Artisti e Condotierri - How can your team become artists of the 21st century ...
Artisti e Condotierri - How can your team become artists of the 21st century ...Artisti e Condotierri - How can your team become artists of the 21st century ...
Artisti e Condotierri - How can your team become artists of the 21st century ...John Ferguson Smart Limited
 
Engage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a differenceEngage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a differenceJohn Ferguson Smart Limited
 
All the world's a stage – the next step in automated testing practices
All the world's a stage – the next step in automated testing practicesAll the world's a stage – the next step in automated testing practices
All the world's a stage – the next step in automated testing practicesJohn Ferguson Smart Limited
 
It's Testing, Jim, but not as we know it - BDD for Testers
It's Testing, Jim, but not as we know it - BDD for TestersIt's Testing, Jim, but not as we know it - BDD for Testers
It's Testing, Jim, but not as we know it - BDD for TestersJohn Ferguson Smart Limited
 
BDD in Action: Building Software Right and Building the Right Software
BDD in Action: Building Software Right and Building the Right SoftwareBDD in Action: Building Software Right and Building the Right Software
BDD in Action: Building Software Right and Building the Right SoftwareJohn Ferguson Smart Limited
 
BDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world applicationBDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world applicationJohn Ferguson Smart Limited
 

Plus de John Ferguson Smart Limited (20)

My Reading Specs - Refactoring Patterns for Gherkin Scenarios
My Reading Specs - Refactoring Patterns for Gherkin ScenariosMy Reading Specs - Refactoring Patterns for Gherkin Scenarios
My Reading Specs - Refactoring Patterns for Gherkin Scenarios
 
Artisti e Condotierri - How can your team become artists of the 21st century ...
Artisti e Condotierri - How can your team become artists of the 21st century ...Artisti e Condotierri - How can your team become artists of the 21st century ...
Artisti e Condotierri - How can your team become artists of the 21st century ...
 
Engage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a differenceEngage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a difference
 
BE A POD OF DOLPHINS, NOT A DANCING ELEPHANT
BE A POD OF DOLPHINS, NOT A DANCING ELEPHANTBE A POD OF DOLPHINS, NOT A DANCING ELEPHANT
BE A POD OF DOLPHINS, NOT A DANCING ELEPHANT
 
Shift left-devoxx-pl
Shift left-devoxx-plShift left-devoxx-pl
Shift left-devoxx-pl
 
All the world's a stage – the next step in automated testing practices
All the world's a stage – the next step in automated testing practicesAll the world's a stage – the next step in automated testing practices
All the world's a stage – the next step in automated testing practices
 
CukeUp 2016 Agile Product Planning Workshop
CukeUp 2016 Agile Product Planning WorkshopCukeUp 2016 Agile Product Planning Workshop
CukeUp 2016 Agile Product Planning Workshop
 
Serenity and the Journey Pattern
Serenity and the Journey PatternSerenity and the Journey Pattern
Serenity and the Journey Pattern
 
BDD - Collaborate like you mean it!
BDD - Collaborate like you mean it!BDD - Collaborate like you mean it!
BDD - Collaborate like you mean it!
 
BDD-Driven Microservices
BDD-Driven MicroservicesBDD-Driven Microservices
BDD-Driven Microservices
 
BDD Anti-patterns
BDD Anti-patternsBDD Anti-patterns
BDD Anti-patterns
 
It's Testing, Jim, but not as we know it - BDD for Testers
It's Testing, Jim, but not as we know it - BDD for TestersIt's Testing, Jim, but not as we know it - BDD for Testers
It's Testing, Jim, but not as we know it - BDD for Testers
 
BDD in Action - Devoxx 2014
BDD in Action - Devoxx 2014BDD in Action - Devoxx 2014
BDD in Action - Devoxx 2014
 
BDD in Action: Building Software Right and Building the Right Software
BDD in Action: Building Software Right and Building the Right SoftwareBDD in Action: Building Software Right and Building the Right Software
BDD in Action: Building Software Right and Building the Right Software
 
BDD: The unit test of the product owner
BDD: The unit test of the product ownerBDD: The unit test of the product owner
BDD: The unit test of the product owner
 
Its testing-jim-but-not-as-we-know-it-devoxx
Its testing-jim-but-not-as-we-know-it-devoxxIts testing-jim-but-not-as-we-know-it-devoxx
Its testing-jim-but-not-as-we-know-it-devoxx
 
BDD in Action - building software that matters
BDD in Action - building software that mattersBDD in Action - building software that matters
BDD in Action - building software that matters
 
BDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world applicationBDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world application
 
TDD and BDD in Java 8 - what's in it for me?
TDD and BDD in Java 8 - what's in it for me?TDD and BDD in Java 8 - what's in it for me?
TDD and BDD in Java 8 - what's in it for me?
 
Continuous Integration 101
Continuous Integration 101Continuous Integration 101
Continuous Integration 101
 

Dernier

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 

Dernier (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

Beyond Given/When/Then - why diving into Cucumber is the wrong approach to adopting BDD