SlideShare a Scribd company logo
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
●
○
●
○
●
○
●
○
Ad

More Related Content

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
Fabien Potencier
 
Introduction to plugin development
Introduction to plugin developmentIntroduction to plugin development
Introduction to plugin development
Caldera Labs
 
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
Christopher Foresman
 
RSpec User Stories
RSpec User StoriesRSpec User Stories
RSpec User Stories
rahoulb
 
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
CiaranMcNulty
 
TDD with phpspec2
TDD with phpspec2TDD with phpspec2
TDD with phpspec2
Anton Serdyuk
 
Dexterity in the Wild
Dexterity in the WildDexterity in the Wild
Dexterity in the Wild
David Glick
 
Djangocon 2014 angular + django
Djangocon 2014 angular + djangoDjangocon 2014 angular + django
Djangocon 2014 angular + django
Nina Zakharenko
 
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
Patrick Viafore
 
Aem best practices
Aem best practicesAem best practices
Aem best practices
Jitendra Tomar
 
Web develop in flask
Web develop in flaskWeb develop in flask
Web develop in flask
Jim Yeh
 
Angular Application Testing
Angular Application TestingAngular Application Testing
Angular Application Testing
Troy Miles
 
Web Development in Perl
Web Development in PerlWeb Development in Perl
Web Development in Perl
Naveen Gupta
 
CGI Presentation
CGI PresentationCGI Presentation
CGI Presentation
Sopan Shewale
 
RSpec 2 Best practices
RSpec 2 Best practicesRSpec 2 Best practices
RSpec 2 Best practices
Andrea Reginato
 
Html 5 in a big nutshell
Html 5 in a big nutshellHtml 5 in a big nutshell
Html 5 in a big nutshell
Lennart Schoors
 
CGI Introduction
CGI IntroductionCGI Introduction
CGI Introduction
Chaffey College
 
Perl in the Internet of Things
Perl in the Internet of ThingsPerl in the Internet of Things
Perl in the Internet of Things
Dave Cross
 
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
Dean Hamstead
 
Test automation expert days
Test automation   expert daysTest automation   expert days
Test automation expert days
Oren Rubin
 
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
 
Introduction to plugin development
Introduction to plugin developmentIntroduction to plugin development
Introduction to plugin development
Caldera Labs
 
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
Christopher Foresman
 
RSpec User Stories
RSpec User StoriesRSpec User Stories
RSpec User Stories
rahoulb
 
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
CiaranMcNulty
 
Dexterity in the Wild
Dexterity in the WildDexterity in the Wild
Dexterity in the Wild
David Glick
 
Djangocon 2014 angular + django
Djangocon 2014 angular + djangoDjangocon 2014 angular + django
Djangocon 2014 angular + django
Nina Zakharenko
 
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
Patrick Viafore
 
Web develop in flask
Web develop in flaskWeb develop in flask
Web develop in flask
Jim Yeh
 
Angular Application Testing
Angular Application TestingAngular Application Testing
Angular Application Testing
Troy Miles
 
Web Development in Perl
Web Development in PerlWeb Development in Perl
Web Development in Perl
Naveen Gupta
 
Html 5 in a big nutshell
Html 5 in a big nutshellHtml 5 in a big nutshell
Html 5 in a big nutshell
Lennart Schoors
 
Perl in the Internet of Things
Perl in the Internet of ThingsPerl in the Internet of Things
Perl in the Internet of Things
Dave Cross
 
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
Dean Hamstead
 
Test automation expert days
Test automation   expert daysTest automation   expert days
Test automation expert days
Oren Rubin
 

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
Nalin Goonawardana
 
Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1
willmation
 
Mercury Testdirector8.0 Admin Slides
Mercury Testdirector8.0 Admin SlidesMercury Testdirector8.0 Admin Slides
Mercury Testdirector8.0 Admin Slides
telab
 
Cucumber_Training_ForQA
Cucumber_Training_ForQACucumber_Training_ForQA
Cucumber_Training_ForQA
Meenakshi Singhal
 
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
Konveyor Community
 
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
sjmarsh
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWD
Vikas Sarin
 
Categorizing Docker Hub Public Images
Categorizing Docker Hub Public ImagesCategorizing Docker Hub Public Images
Categorizing Docker Hub Public Images
Roberto Hashioka
 
AEM Sightly Deep Dive
AEM Sightly Deep DiveAEM Sightly Deep Dive
AEM Sightly Deep Dive
Gabriel Walt
 
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
Yongkyoo Park
 
JavaScript
JavaScriptJavaScript
JavaScript
Gulbir Chaudhary
 
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
 
cucumber harpal.pdf
cucumber harpal.pdfcucumber harpal.pdf
cucumber harpal.pdf
VennelaVasupilli
 
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)
Kevin Sutter
 
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
 
Sprint 45 review
Sprint 45 reviewSprint 45 review
Sprint 45 review
ManageIQ
 
ASP.NET 8 Developer Roadmap By ScholarHat PDF
ASP.NET 8 Developer Roadmap By ScholarHat PDFASP.NET 8 Developer Roadmap By ScholarHat PDF
ASP.NET 8 Developer Roadmap By ScholarHat PDF
Scholarhat
 
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
 
Behavior Driven Development by Example
Behavior Driven Development by ExampleBehavior Driven Development by Example
Behavior Driven Development by Example
Nalin Goonawardana
 
Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1
willmation
 
Mercury Testdirector8.0 Admin Slides
Mercury Testdirector8.0 Admin SlidesMercury Testdirector8.0 Admin Slides
Mercury Testdirector8.0 Admin Slides
telab
 
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
Konveyor Community
 
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
sjmarsh
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWD
Vikas Sarin
 
Categorizing Docker Hub Public Images
Categorizing Docker Hub Public ImagesCategorizing Docker Hub Public Images
Categorizing Docker Hub Public Images
Roberto Hashioka
 
AEM Sightly Deep Dive
AEM Sightly Deep DiveAEM Sightly Deep Dive
AEM Sightly Deep Dive
Gabriel Walt
 
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
Yongkyoo Park
 
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
 
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)
Kevin Sutter
 
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
 
Sprint 45 review
Sprint 45 reviewSprint 45 review
Sprint 45 review
ManageIQ
 
ASP.NET 8 Developer Roadmap By ScholarHat PDF
ASP.NET 8 Developer Roadmap By ScholarHat PDFASP.NET 8 Developer Roadmap By ScholarHat PDF
ASP.NET 8 Developer Roadmap By ScholarHat PDF
Scholarhat
 
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
 
Ad

More from Geison Goes (11)

Kotlin multiplataforma
Kotlin multiplataformaKotlin multiplataforma
Kotlin multiplataforma
Geison Goes
 
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
Geison Goes
 
Functional Swift
Functional SwiftFunctional Swift
Functional Swift
Geison Goes
 
Functional Go
Functional GoFunctional Go
Functional Go
Geison Goes
 
Functional go
Functional goFunctional go
Functional go
Geison Goes
 
Restful design principles
Restful design principlesRestful design principles
Restful design principles
Geison Goes
 
Gil - the responsible to unable paralellism
Gil - the responsible to unable paralellismGil - the responsible to unable paralellism
Gil - the responsible to unable paralellism
Geison Goes
 
An introduction to the ruby ecosystem
An introduction to the ruby ecosystemAn introduction to the ruby ecosystem
An introduction to the ruby ecosystem
Geison Goes
 
Python functional programming
Python functional programmingPython functional programming
Python functional programming
Geison Goes
 
Python Flavors
Python FlavorsPython Flavors
Python Flavors
Geison Goes
 
Ruby Functional Programming
Ruby Functional ProgrammingRuby Functional Programming
Ruby Functional Programming
Geison Goes
 
Kotlin multiplataforma
Kotlin multiplataformaKotlin multiplataforma
Kotlin multiplataforma
Geison Goes
 
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
Geison Goes
 
Functional Swift
Functional SwiftFunctional Swift
Functional Swift
Geison Goes
 
Restful design principles
Restful design principlesRestful design principles
Restful design principles
Geison Goes
 
Gil - the responsible to unable paralellism
Gil - the responsible to unable paralellismGil - the responsible to unable paralellism
Gil - the responsible to unable paralellism
Geison Goes
 
An introduction to the ruby ecosystem
An introduction to the ruby ecosystemAn introduction to the ruby ecosystem
An introduction to the ruby ecosystem
Geison Goes
 
Python functional programming
Python functional programmingPython functional programming
Python functional programming
Geison Goes
 
Ruby Functional Programming
Ruby Functional ProgrammingRuby Functional Programming
Ruby Functional Programming
Geison Goes
 
Ad

Recently uploaded (20)

Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
Douwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License codeDouwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License code
aneelaramzan63
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
Douwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License codeDouwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License code
aneelaramzan63
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 

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] = "[email protected]" 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 '[email protected]' -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