SlideShare a Scribd company logo
1 of 13
Download to read offline
Use it to describe User Stories
and Acceptance Criterias
1. Difficulties to localize feature documentation described in some US,
developed some sprints in the past.
2. Difficulties to keep feature documentation and tests synchronized.
3. Difficulties to have a unified language across the team(PO, QA and Devs).
4. Difficulties to check the health of all features.
Motivation behind this idea
BDD (Behavior-Driven Development): Way to create testable and
automated behaviors that add value to the client before the
existence of the source code, prevent behavior-based defects
and generate a set of regression tests based on these
behaviors.
What is BDD
The Main goal of BDD for us is give to non-technical and
technical team a unified language to describe the requirements
and keep it synchronized with test that will guarantee to
clients the quality of the product.
BDD for us
How it Works
1. PO get requirements
from client.
2. PO write US in the
BDD description style:
GIVEN - WHEN - THEN
3. QA and DEV Team
write corner cases
scenarios.
4. QA and DEV Team
write the test code for
features
5. DEV Team
implement the
functionallity.
6. Client and PO
Happy because are
able to check the
Cucumber Reports in
order to be updated
about the features
progress.
Feature: Get BDD US description from RallyDev
Get BDD US description from RallyDev and save in a Cucumber descriptor file
Scenario: Get BDD US description from RallyDev and save in a file
Given The user have permissions to access RallyDev and it is up and running
When User run bdd_tool passing the parameters
Then A file should be saved in the BDD_Tests folder with the USs descriptions
Describing USs and Acceptance Criteria
Given(/^The user have permissions to access RallyDev and it is up and running$/) do
headers = RallyAPI::CustomHttpHeader.new()
headers.name = "Catbert BDD Tool Utility"
headers.vendor = "HP"
headers.version = "1.0"
config = {:base_url => "https://rally1.rallydev.com/slm"}
config[:username] = "geison.goes@hp.com"
config[:password] = "#hp204205hp#"
config[:workspace] = "IPG-IWS-PTP"
config[:project] = "Print from URL"
config[:headers] = headers
raise AssertionError if RallyAPI::RallyRestJson.new(config).nil?
end
When(/^User run bdd_tool passing the parameters$/) do
$result = system("ruby #{File.expand_path('../.')}/bdd_tool_cli.rb -u 'geison.goes@hp.com' -p '#hp204205hp#' -s 'US15335'")
end
Then(/^A file should be saved in the BDD_Tests folder with the USs descriptions$/) do
raise AssertionError unless $result
raise AssertionError unless File.exist?("#{File.expand_path('../.')}/bdd_tool_cli.rb")
end
Test code behind the US Description
Feature: Show products catalog
Show a list of products
If there is no products in catalog should show a message "..."
Scenario: Get products
Given The storefront is open
When The user click in the list catalog link
Then The user should see the catalog list page
Scenario: Get empty catalog
Given The storefront is open
When The user click in the list catalog link
Then The user should see the message "There is no products for your country!"
Describing USs and Acceptance Criteria for
Interfaces
Feature: Show products catalog
Show a list of products
If there is no products in catalog should show a message "..."
Scenario: Get catalog
Given The service is listening for requests
When The client request a list of products
Then The HTTP code response should be 200
And The response should be the JSON:
{
products: [
{name: "products1"},
{name: "products2"}
]
}
Describing USs and Acceptance Criteria for REST API
Feature: Migrate Services from Plataform X to Y
Have everything working in Y environment.
Scenario: Check services in new Plataform
Given The regression tests pointing to new servers
When The regression tests execution are completed
Then The reports result should not be changed
Describing USs and Acceptance Criteria for eOPS
Report showing status of feature and scenarios
● Having documentation as tests, there is no chance of having tests and
implementation delivering something different than desired.
● The BDD documentation works as a contract that guarantee the client needs.
● The client could check the tests reports, in order to be updated about the
progress of features requested.
● An easy and centralized local to everyone clients and team consult the
feature status and descriptions.
The main results obtained from this approach
Contact me
●
○
●
○
●
○
●
○

More Related Content

What's hot

Design patterns revisited with PHP 5.3
Design patterns revisited with PHP 5.3Design patterns revisited with PHP 5.3
Design patterns revisited with PHP 5.3
Fabien Potencier
 
Test automation expert days
Test automation   expert daysTest automation   expert days
Test automation expert days
Oren Rubin
 

What's hot (20)

Design patterns revisited with PHP 5.3
Design patterns revisited with PHP 5.3Design patterns revisited with PHP 5.3
Design patterns revisited with PHP 5.3
 
Introduction to plugin development
Introduction to plugin developmentIntroduction to plugin development
Introduction to plugin development
 
Building an API with Django and Django REST Framework
Building an API with Django and Django REST FrameworkBuilding an API with Django and Django REST Framework
Building an API with Django and Django REST Framework
 
RSpec User Stories
RSpec User StoriesRSpec User Stories
RSpec User Stories
 
TDD with PhpSpec - Lone Star PHP 2016
TDD with PhpSpec - Lone Star PHP 2016TDD with PhpSpec - Lone Star PHP 2016
TDD with PhpSpec - Lone Star PHP 2016
 
TDD with phpspec2
TDD with phpspec2TDD with phpspec2
TDD with phpspec2
 
Dexterity in the Wild
Dexterity in the WildDexterity in the Wild
Dexterity in the Wild
 
Djangocon 2014 angular + django
Djangocon 2014 angular + djangoDjangocon 2014 angular + django
Djangocon 2014 angular + django
 
BDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
BDD to the Bone: Using Behave and Selenium to Test-Drive Web ApplicationsBDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
BDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
 
Aem best practices
Aem best practicesAem best practices
Aem best practices
 
Web develop in flask
Web develop in flaskWeb develop in flask
Web develop in flask
 
Angular Application Testing
Angular Application TestingAngular Application Testing
Angular Application Testing
 
Web Development in Perl
Web Development in PerlWeb Development in Perl
Web Development in Perl
 
CGI Presentation
CGI PresentationCGI Presentation
CGI Presentation
 
RSpec 2 Best practices
RSpec 2 Best practicesRSpec 2 Best practices
RSpec 2 Best practices
 
Html 5 in a big nutshell
Html 5 in a big nutshellHtml 5 in a big nutshell
Html 5 in a big nutshell
 
CGI Introduction
CGI IntroductionCGI Introduction
CGI Introduction
 
Perl in the Internet of Things
Perl in the Internet of ThingsPerl in the Internet of Things
Perl in the Internet of Things
 
Getting big without getting fat, in perl
Getting big without getting fat, in perlGetting big without getting fat, in perl
Getting big without getting fat, in perl
 
Test automation expert days
Test automation   expert daysTest automation   expert days
Test automation expert days
 

Similar to Cucumber - use it to describe user stories and acceptance criterias

Mercury Testdirector8.0 Admin Slides
Mercury Testdirector8.0 Admin SlidesMercury Testdirector8.0 Admin Slides
Mercury Testdirector8.0 Admin Slides
telab
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWD
Vikas Sarin
 
Intro To JavaScript Unit Testing - Ran Mizrahi
Intro To JavaScript Unit Testing - Ran MizrahiIntro To JavaScript Unit Testing - Ran Mizrahi
Intro To JavaScript Unit Testing - Ran Mizrahi
Ran Mizrahi
 
Introduction to bdd
Introduction to bddIntroduction to bdd
Introduction to bdd
antannatna
 
Tech talk specflow_bddx_hassa_nagy
Tech talk specflow_bddx_hassa_nagyTech talk specflow_bddx_hassa_nagy
Tech talk specflow_bddx_hassa_nagy
Skills Matter
 
Cross Platform migration of SAS BI Environment: Tips and Tricks
Cross Platform migration of SAS BI Environment: Tips and TricksCross Platform migration of SAS BI Environment: Tips and Tricks
Cross Platform migration of SAS BI Environment: Tips and Tricks
Amol Deshmukh
 
Senior Test Engineer - 8+ Yrs Exp
Senior Test Engineer - 8+ Yrs ExpSenior Test Engineer - 8+ Yrs Exp
Senior Test Engineer - 8+ Yrs Exp
Kishore Panchagiri
 

Similar to Cucumber - use it to describe user stories and acceptance criterias (20)

Behavior Driven Development by Example
Behavior Driven Development by ExampleBehavior Driven Development by Example
Behavior Driven Development by Example
 
Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1
 
Mercury Testdirector8.0 Admin Slides
Mercury Testdirector8.0 Admin SlidesMercury Testdirector8.0 Admin Slides
Mercury Testdirector8.0 Admin Slides
 
Cucumber_Training_ForQA
Cucumber_Training_ForQACucumber_Training_ForQA
Cucumber_Training_ForQA
 
Tackle Containerization Advisor (TCA) for Legacy Applications
Tackle Containerization Advisor (TCA) for Legacy ApplicationsTackle Containerization Advisor (TCA) for Legacy Applications
Tackle Containerization Advisor (TCA) for Legacy Applications
 
So What Do Cucumbers Have To Do With Testing
So What Do Cucumbers Have To Do With TestingSo What Do Cucumbers Have To Do With Testing
So What Do Cucumbers Have To Do With Testing
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWD
 
Categorizing Docker Hub Public Images
Categorizing Docker Hub Public ImagesCategorizing Docker Hub Public Images
Categorizing Docker Hub Public Images
 
AEM Sightly Deep Dive
AEM Sightly Deep DiveAEM Sightly Deep Dive
AEM Sightly Deep Dive
 
AGADOS function & feature Chapter-02 biz logic define
AGADOS function & feature Chapter-02 biz logic defineAGADOS function & feature Chapter-02 biz logic define
AGADOS function & feature Chapter-02 biz logic define
 
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Intro To JavaScript Unit Testing - Ran Mizrahi
Intro To JavaScript Unit Testing - Ran MizrahiIntro To JavaScript Unit Testing - Ran Mizrahi
Intro To JavaScript Unit Testing - Ran Mizrahi
 
Introduction to bdd
Introduction to bddIntroduction to bdd
Introduction to bdd
 
Tech talk specflow_bddx_hassa_nagy
Tech talk specflow_bddx_hassa_nagyTech talk specflow_bddx_hassa_nagy
Tech talk specflow_bddx_hassa_nagy
 
cucumber harpal.pdf
cucumber harpal.pdfcucumber harpal.pdf
cucumber harpal.pdf
 
InterConnect 2016 Java EE 7 Overview (PEJ-5296)
InterConnect 2016 Java EE 7 Overview (PEJ-5296)InterConnect 2016 Java EE 7 Overview (PEJ-5296)
InterConnect 2016 Java EE 7 Overview (PEJ-5296)
 
Cross Platform migration of SAS BI Environment: Tips and Tricks
Cross Platform migration of SAS BI Environment: Tips and TricksCross Platform migration of SAS BI Environment: Tips and Tricks
Cross Platform migration of SAS BI Environment: Tips and Tricks
 
Sprint 45 review
Sprint 45 reviewSprint 45 review
Sprint 45 review
 
Senior Test Engineer - 8+ Yrs Exp
Senior Test Engineer - 8+ Yrs ExpSenior Test Engineer - 8+ Yrs Exp
Senior Test Engineer - 8+ Yrs Exp
 

More from Geison Goes

More from Geison Goes (11)

Kotlin multiplataforma
Kotlin multiplataformaKotlin multiplataforma
Kotlin multiplataforma
 
Why companies like Google, Alibaba and UOL choose Flutter
Why companies like Google, Alibaba and UOL choose FlutterWhy companies like Google, Alibaba and UOL choose Flutter
Why companies like Google, Alibaba and UOL choose Flutter
 
Functional Swift
Functional SwiftFunctional Swift
Functional Swift
 
Functional Go
Functional GoFunctional Go
Functional Go
 
Functional go
Functional goFunctional go
Functional go
 
Restful design principles
Restful design principlesRestful design principles
Restful design principles
 
Gil - the responsible to unable paralellism
Gil - the responsible to unable paralellismGil - the responsible to unable paralellism
Gil - the responsible to unable paralellism
 
An introduction to the ruby ecosystem
An introduction to the ruby ecosystemAn introduction to the ruby ecosystem
An introduction to the ruby ecosystem
 
Python functional programming
Python functional programmingPython functional programming
Python functional programming
 
Python Flavors
Python FlavorsPython Flavors
Python Flavors
 
Ruby Functional Programming
Ruby Functional ProgrammingRuby Functional Programming
Ruby Functional Programming
 

Recently uploaded

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 

Recently uploaded (20)

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 

Cucumber - use it to describe user stories and acceptance criterias

  • 1. Use it to describe User Stories and Acceptance Criterias
  • 2. 1. Difficulties to localize feature documentation described in some US, developed some sprints in the past. 2. Difficulties to keep feature documentation and tests synchronized. 3. Difficulties to have a unified language across the team(PO, QA and Devs). 4. Difficulties to check the health of all features. Motivation behind this idea
  • 3. BDD (Behavior-Driven Development): Way to create testable and automated behaviors that add value to the client before the existence of the source code, prevent behavior-based defects and generate a set of regression tests based on these behaviors. What is BDD
  • 4. The Main goal of BDD for us is give to non-technical and technical team a unified language to describe the requirements and keep it synchronized with test that will guarantee to clients the quality of the product. BDD for us
  • 5. How it Works 1. PO get requirements from client. 2. PO write US in the BDD description style: GIVEN - WHEN - THEN 3. QA and DEV Team write corner cases scenarios. 4. QA and DEV Team write the test code for features 5. DEV Team implement the functionallity. 6. Client and PO Happy because are able to check the Cucumber Reports in order to be updated about the features progress.
  • 6. Feature: Get BDD US description from RallyDev Get BDD US description from RallyDev and save in a Cucumber descriptor file Scenario: Get BDD US description from RallyDev and save in a file Given The user have permissions to access RallyDev and it is up and running When User run bdd_tool passing the parameters Then A file should be saved in the BDD_Tests folder with the USs descriptions Describing USs and Acceptance Criteria
  • 7. Given(/^The user have permissions to access RallyDev and it is up and running$/) do headers = RallyAPI::CustomHttpHeader.new() headers.name = "Catbert BDD Tool Utility" headers.vendor = "HP" headers.version = "1.0" config = {:base_url => "https://rally1.rallydev.com/slm"} config[:username] = "geison.goes@hp.com" config[:password] = "#hp204205hp#" config[:workspace] = "IPG-IWS-PTP" config[:project] = "Print from URL" config[:headers] = headers raise AssertionError if RallyAPI::RallyRestJson.new(config).nil? end When(/^User run bdd_tool passing the parameters$/) do $result = system("ruby #{File.expand_path('../.')}/bdd_tool_cli.rb -u 'geison.goes@hp.com' -p '#hp204205hp#' -s 'US15335'") end Then(/^A file should be saved in the BDD_Tests folder with the USs descriptions$/) do raise AssertionError unless $result raise AssertionError unless File.exist?("#{File.expand_path('../.')}/bdd_tool_cli.rb") end Test code behind the US Description
  • 8. Feature: Show products catalog Show a list of products If there is no products in catalog should show a message "..." Scenario: Get products Given The storefront is open When The user click in the list catalog link Then The user should see the catalog list page Scenario: Get empty catalog Given The storefront is open When The user click in the list catalog link Then The user should see the message "There is no products for your country!" Describing USs and Acceptance Criteria for Interfaces
  • 9. Feature: Show products catalog Show a list of products If there is no products in catalog should show a message "..." Scenario: Get catalog Given The service is listening for requests When The client request a list of products Then The HTTP code response should be 200 And The response should be the JSON: { products: [ {name: "products1"}, {name: "products2"} ] } Describing USs and Acceptance Criteria for REST API
  • 10. Feature: Migrate Services from Plataform X to Y Have everything working in Y environment. Scenario: Check services in new Plataform Given The regression tests pointing to new servers When The regression tests execution are completed Then The reports result should not be changed Describing USs and Acceptance Criteria for eOPS
  • 11. Report showing status of feature and scenarios
  • 12. ● Having documentation as tests, there is no chance of having tests and implementation delivering something different than desired. ● The BDD documentation works as a contract that guarantee the client needs. ● The client could check the tests reports, in order to be updated about the progress of features requested. ● An easy and centralized local to everyone clients and team consult the feature status and descriptions. The main results obtained from this approach