SlideShare a Scribd company logo
SPECFLOW & BDD
OLEG ZAREVYCH
- Automation QA @ Ciklum
- At least 4 years experience in QA
- 1 year working with SpecFlow
WHAT IS BDD ?
“
”
BDD IS A SECOND-GENERATION, OUTSIDE–IN, PULL-
BASED, MULTIPLE-STAKEHOLDER, MULTIPLE-SCALE,
HIGH-AUTOMATION, AGILE METHODOLOGY. IT
DESCRIBES A CYCLE OF INTERACTIONS WITH WELL-
DEFINED OUTPUTS, RESULTING IN THE DELIVERY OF
WORKING, TESTED SOFTWARE THAT MATTERS.
Dan North
BEHAVIOR-DRIVEN DEVELOPMENT
- Based on TDD approach
- Driven by business value
- Collaborate technical and non-technical
stakeholders
- Acceptance criteria and users tory defined in
natural language in feature file
Business
• Domain
driven
design
Technology
• Test driven
development
TOOLS FOR BDD
- Java : jbehave, Cucumber
- Python : Behave
- Ruby : RSpec
- PHP : Behat
- JS : CucumberJS
- C# : SpecFlow
SPECFLOW
WHY ?
 Reusable
 Regex based
 Human Language support
 Cross-framework
 Describe behavior in understandable way
GHERKIN LANGUAGE
 As a [X]
I want [Y]
so that [Z]
Given some initial context (the givens),
When an event occurs,
then ensure some outcomes.
TEMPLATES
 Scenario: Google.Failed Registration first users
 Given the browser with 'https://accounts.google.com/SignUp'
is started
 When the element 'Name', 'LastName', 'Login' is filled
 | Name | LastName | Login |
 | Oleg1 | Z1 | Oleg1Z1 |
 When the element 'SignUpSubmitButton' is clicked
 Then the element 'SignUpPasswordValidationError' is present
 Scenario: Google.Failed Registration second users
 Given the browser with 'https://accounts.google.com/SignUp'
is started
 When the element 'Name', 'LastName', 'Login' is filled
 | Name | LastName | Login |
 | Oleg1 | Z1 | Oleg1Z1 |
 When the element 'SignUpSubmitButton' is clicked
 Then the element 'SignUpPasswordValidationError' is present
 Scenario Outline: Google search2x
 Given the browser with
'https://accounts.google.com/SignUp' is started
 When the element <Name>, <LastName>, <Login> is filled
 When the element 'SignUpSubmitButton' is clicked
 Then the element 'SignUpPasswordValidationError' is present
 Examples:
 | Name | LastName | Login |
 | Oleg1 | Z1 | Oleg1Z1 |
 | Oleg2 | Z2 | Oleg2Z2 |
Specflow &amp; bdd

More Related Content

Viewers also liked

Femme à la toilette
Femme à la toiletteFemme à la toilette
Femme à la toilette
Marseglia
 
#NoEstimates does not mean "No estimates!" - Agile Cambridge 2015
#NoEstimates does not mean "No estimates!"  - Agile Cambridge 2015#NoEstimates does not mean "No estimates!"  - Agile Cambridge 2015
#NoEstimates does not mean "No estimates!" - Agile Cambridge 2015
Seb Rose
 
Final CV
Final CVFinal CV
Final CV
Junaid Ihsan
 
Jazz
JazzJazz
Jazz
Marseglia
 
Infrastructure as a Service
Infrastructure as a ServiceInfrastructure as a Service
Infrastructure as a Service
SwiftTech Solutions, Inc.
 
reconocimiento antigenico
reconocimiento antigenicoreconocimiento antigenico
reconocimiento antigenico
Cris Ulloa
 
Histoire du théâtre grec dessinée
Histoire du théâtre grec dessinéeHistoire du théâtre grec dessinée
Histoire du théâtre grec dessinée
Marseglia
 
Ingeniería de transito 1
Ingeniería de transito  1Ingeniería de transito  1
Ingeniería de transito 1
EDUARDO PORTO
 
Professional cv pdf
Professional cv pdfProfessional cv pdf
Professional cv pdf
AB Asanga
 
Art Fine Motor lesson (The Snow Man)
Art Fine Motor lesson (The Snow Man)Art Fine Motor lesson (The Snow Man)
Art Fine Motor lesson (The Snow Man)
Dawn Chastain
 
En et y
En et yEn et y
Planning poker in a nutshell
Planning poker in a nutshellPlanning poker in a nutshell
Planning poker in a nutshell
Seb Rose
 
La importancia del factor humano en la seguridad
La importancia del factor humano en la seguridadLa importancia del factor humano en la seguridad
La importancia del factor humano en la seguridad
Hender Ocando
 
300511 - Social Investors
300511 - Social Investors300511 - Social Investors
300511 - Social Investors
Dennis Brüntje
 

Viewers also liked (14)

Femme à la toilette
Femme à la toiletteFemme à la toilette
Femme à la toilette
 
#NoEstimates does not mean "No estimates!" - Agile Cambridge 2015
#NoEstimates does not mean "No estimates!"  - Agile Cambridge 2015#NoEstimates does not mean "No estimates!"  - Agile Cambridge 2015
#NoEstimates does not mean "No estimates!" - Agile Cambridge 2015
 
Final CV
Final CVFinal CV
Final CV
 
Jazz
JazzJazz
Jazz
 
Infrastructure as a Service
Infrastructure as a ServiceInfrastructure as a Service
Infrastructure as a Service
 
reconocimiento antigenico
reconocimiento antigenicoreconocimiento antigenico
reconocimiento antigenico
 
Histoire du théâtre grec dessinée
Histoire du théâtre grec dessinéeHistoire du théâtre grec dessinée
Histoire du théâtre grec dessinée
 
Ingeniería de transito 1
Ingeniería de transito  1Ingeniería de transito  1
Ingeniería de transito 1
 
Professional cv pdf
Professional cv pdfProfessional cv pdf
Professional cv pdf
 
Art Fine Motor lesson (The Snow Man)
Art Fine Motor lesson (The Snow Man)Art Fine Motor lesson (The Snow Man)
Art Fine Motor lesson (The Snow Man)
 
En et y
En et yEn et y
En et y
 
Planning poker in a nutshell
Planning poker in a nutshellPlanning poker in a nutshell
Planning poker in a nutshell
 
La importancia del factor humano en la seguridad
La importancia del factor humano en la seguridadLa importancia del factor humano en la seguridad
La importancia del factor humano en la seguridad
 
300511 - Social Investors
300511 - Social Investors300511 - Social Investors
300511 - Social Investors
 

Similar to Specflow &amp; bdd

Behavior Driven Development by Example
Behavior Driven Development by ExampleBehavior Driven Development by Example
Behavior Driven Development by Example
Nalin Goonawardana
 
Agile methodologies based on BDD and CI by Nikolai Shevchenko
Agile methodologies based on BDD and CI by Nikolai ShevchenkoAgile methodologies based on BDD and CI by Nikolai Shevchenko
Agile methodologies based on BDD and CI by Nikolai Shevchenko
Moldova ICT Summit
 
Behavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in contextBehavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in context
Alexander Kress
 
Cucumber_Training_ForQA
Cucumber_Training_ForQACucumber_Training_ForQA
Cucumber_Training_ForQA
Meenakshi Singhal
 
2014 11 20 Drupal 7 -> 8 test migratie
2014 11 20 Drupal 7 -> 8 test migratie2014 11 20 Drupal 7 -> 8 test migratie
2014 11 20 Drupal 7 -> 8 test migratie
hcderaad
 
End-to-end testing with geb
End-to-end testing with gebEnd-to-end testing with geb
End-to-end testing with geb
Jesús L. Domínguez Muriel
 
Image archive, analysis & report generation with Google Cloud
Image archive, analysis & report generation with Google CloudImage archive, analysis & report generation with Google Cloud
Image archive, analysis & report generation with Google Cloud
wesley chun
 
The Big Picture and How to Get Started
The Big Picture and How to Get StartedThe Big Picture and How to Get Started
The Big Picture and How to Get Started
guest1af57e
 
Behat Workshop at WeLovePHP
Behat Workshop at WeLovePHPBehat Workshop at WeLovePHP
Behat Workshop at WeLovePHP
Marcos Quesada
 
All about engagement with Universal Analytics @ Google Developer Group NYC Ma...
All about engagement with Universal Analytics @ Google Developer Group NYC Ma...All about engagement with Universal Analytics @ Google Developer Group NYC Ma...
All about engagement with Universal Analytics @ Google Developer Group NYC Ma...
Nico Miceli
 
Power your apps with Gmail, Google Drive, Calendar, Sheets, Slides & more
Power your apps with Gmail, Google Drive, Calendar, Sheets, Slides & morePower your apps with Gmail, Google Drive, Calendar, Sheets, Slides & more
Power your apps with Gmail, Google Drive, Calendar, Sheets, Slides & more
wesley chun
 
Intro To Django
Intro To DjangoIntro To Django
Intro To Django
Udi Bauman
 
Iac d.damyanov 4.pptx
Iac d.damyanov 4.pptxIac d.damyanov 4.pptx
Iac d.damyanov 4.pptx
Dimitar Damyanov
 
TangoWithDjango - ch8
TangoWithDjango - ch8TangoWithDjango - ch8
TangoWithDjango - ch8
Asika Kuo
 
Behaviour driven infrastructure
Behaviour driven infrastructureBehaviour driven infrastructure
Behaviour driven infrastructure
Lindsay Holmwood
 
BDD testing with cucumber
BDD testing with cucumberBDD testing with cucumber
BDD testing with cucumber
Daniel Kummer
 
UCM Tips Nagaraj's knowledge planet
UCM Tips Nagaraj's knowledge planetUCM Tips Nagaraj's knowledge planet
UCM Tips Nagaraj's knowledge planet
Venugopal k
 
Heroku for-team-collaboration
Heroku for-team-collaborationHeroku for-team-collaboration
Heroku for-team-collaboration
John Stevenson
 
Heroku for team collaboration
Heroku for team collaborationHeroku for team collaboration
Heroku for team collaboration
John Stevenson
 
Bridging the gap between business and technology - Behaviour Driven Developme...
Bridging the gap between business and technology - Behaviour Driven Developme...Bridging the gap between business and technology - Behaviour Driven Developme...
Bridging the gap between business and technology - Behaviour Driven Developme...
marcin_pajdzik
 

Similar to Specflow &amp; bdd (20)

Behavior Driven Development by Example
Behavior Driven Development by ExampleBehavior Driven Development by Example
Behavior Driven Development by Example
 
Agile methodologies based on BDD and CI by Nikolai Shevchenko
Agile methodologies based on BDD and CI by Nikolai ShevchenkoAgile methodologies based on BDD and CI by Nikolai Shevchenko
Agile methodologies based on BDD and CI by Nikolai Shevchenko
 
Behavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in contextBehavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in context
 
Cucumber_Training_ForQA
Cucumber_Training_ForQACucumber_Training_ForQA
Cucumber_Training_ForQA
 
2014 11 20 Drupal 7 -> 8 test migratie
2014 11 20 Drupal 7 -> 8 test migratie2014 11 20 Drupal 7 -> 8 test migratie
2014 11 20 Drupal 7 -> 8 test migratie
 
End-to-end testing with geb
End-to-end testing with gebEnd-to-end testing with geb
End-to-end testing with geb
 
Image archive, analysis & report generation with Google Cloud
Image archive, analysis & report generation with Google CloudImage archive, analysis & report generation with Google Cloud
Image archive, analysis & report generation with Google Cloud
 
The Big Picture and How to Get Started
The Big Picture and How to Get StartedThe Big Picture and How to Get Started
The Big Picture and How to Get Started
 
Behat Workshop at WeLovePHP
Behat Workshop at WeLovePHPBehat Workshop at WeLovePHP
Behat Workshop at WeLovePHP
 
All about engagement with Universal Analytics @ Google Developer Group NYC Ma...
All about engagement with Universal Analytics @ Google Developer Group NYC Ma...All about engagement with Universal Analytics @ Google Developer Group NYC Ma...
All about engagement with Universal Analytics @ Google Developer Group NYC Ma...
 
Power your apps with Gmail, Google Drive, Calendar, Sheets, Slides & more
Power your apps with Gmail, Google Drive, Calendar, Sheets, Slides & morePower your apps with Gmail, Google Drive, Calendar, Sheets, Slides & more
Power your apps with Gmail, Google Drive, Calendar, Sheets, Slides & more
 
Intro To Django
Intro To DjangoIntro To Django
Intro To Django
 
Iac d.damyanov 4.pptx
Iac d.damyanov 4.pptxIac d.damyanov 4.pptx
Iac d.damyanov 4.pptx
 
TangoWithDjango - ch8
TangoWithDjango - ch8TangoWithDjango - ch8
TangoWithDjango - ch8
 
Behaviour driven infrastructure
Behaviour driven infrastructureBehaviour driven infrastructure
Behaviour driven infrastructure
 
BDD testing with cucumber
BDD testing with cucumberBDD testing with cucumber
BDD testing with cucumber
 
UCM Tips Nagaraj's knowledge planet
UCM Tips Nagaraj's knowledge planetUCM Tips Nagaraj's knowledge planet
UCM Tips Nagaraj's knowledge planet
 
Heroku for-team-collaboration
Heroku for-team-collaborationHeroku for-team-collaboration
Heroku for-team-collaboration
 
Heroku for team collaboration
Heroku for team collaborationHeroku for team collaboration
Heroku for team collaboration
 
Bridging the gap between business and technology - Behaviour Driven Developme...
Bridging the gap between business and technology - Behaviour Driven Developme...Bridging the gap between business and technology - Behaviour Driven Developme...
Bridging the gap between business and technology - Behaviour Driven Developme...
 

Recently uploaded

Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Paul Brebner
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
The Role of DevOps in Digital Transformation.pdf
The Role of DevOps in Digital Transformation.pdfThe Role of DevOps in Digital Transformation.pdf
The Role of DevOps in Digital Transformation.pdf
mohitd6
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
campbellclarkson
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
Maitrey Patel
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
Yara Milbes
 
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
Luigi Fugaro
 
How GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdfHow GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdf
Zycus
 
Going AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applicationsGoing AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applications
Alina Yurenko
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Peter Caitens
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
The Third Creative Media
 
Manyata Tech Park Bangalore_ Infrastructure, Facilities and More
Manyata Tech Park Bangalore_ Infrastructure, Facilities and MoreManyata Tech Park Bangalore_ Infrastructure, Facilities and More
Manyata Tech Park Bangalore_ Infrastructure, Facilities and More
narinav14
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...
Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...
Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...
Luigi Fugaro
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
confluent
 
Optimizing Your E-commerce with WooCommerce.pptx
Optimizing Your E-commerce with WooCommerce.pptxOptimizing Your E-commerce with WooCommerce.pptx
Optimizing Your E-commerce with WooCommerce.pptx
WebConnect Pvt Ltd
 

Recently uploaded (20)

Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
The Role of DevOps in Digital Transformation.pdf
The Role of DevOps in Digital Transformation.pdfThe Role of DevOps in Digital Transformation.pdf
The Role of DevOps in Digital Transformation.pdf
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
 
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
 
How GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdfHow GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdf
 
Going AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applicationsGoing AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applications
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
 
Manyata Tech Park Bangalore_ Infrastructure, Facilities and More
Manyata Tech Park Bangalore_ Infrastructure, Facilities and MoreManyata Tech Park Bangalore_ Infrastructure, Facilities and More
Manyata Tech Park Bangalore_ Infrastructure, Facilities and More
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
bgiolcb
bgiolcbbgiolcb
bgiolcb
 
Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...
Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...
Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
 
Optimizing Your E-commerce with WooCommerce.pptx
Optimizing Your E-commerce with WooCommerce.pptxOptimizing Your E-commerce with WooCommerce.pptx
Optimizing Your E-commerce with WooCommerce.pptx
 

Specflow &amp; bdd

  • 2. OLEG ZAREVYCH - Automation QA @ Ciklum - At least 4 years experience in QA - 1 year working with SpecFlow
  • 4. “ ” BDD IS A SECOND-GENERATION, OUTSIDE–IN, PULL- BASED, MULTIPLE-STAKEHOLDER, MULTIPLE-SCALE, HIGH-AUTOMATION, AGILE METHODOLOGY. IT DESCRIBES A CYCLE OF INTERACTIONS WITH WELL- DEFINED OUTPUTS, RESULTING IN THE DELIVERY OF WORKING, TESTED SOFTWARE THAT MATTERS. Dan North
  • 5. BEHAVIOR-DRIVEN DEVELOPMENT - Based on TDD approach - Driven by business value - Collaborate technical and non-technical stakeholders - Acceptance criteria and users tory defined in natural language in feature file Business • Domain driven design Technology • Test driven development
  • 6. TOOLS FOR BDD - Java : jbehave, Cucumber - Python : Behave - Ruby : RSpec - PHP : Behat - JS : CucumberJS - C# : SpecFlow
  • 8. WHY ?  Reusable  Regex based  Human Language support  Cross-framework  Describe behavior in understandable way
  • 9. GHERKIN LANGUAGE  As a [X] I want [Y] so that [Z] Given some initial context (the givens), When an event occurs, then ensure some outcomes.
  • 10. TEMPLATES  Scenario: Google.Failed Registration first users  Given the browser with 'https://accounts.google.com/SignUp' is started  When the element 'Name', 'LastName', 'Login' is filled  | Name | LastName | Login |  | Oleg1 | Z1 | Oleg1Z1 |  When the element 'SignUpSubmitButton' is clicked  Then the element 'SignUpPasswordValidationError' is present  Scenario: Google.Failed Registration second users  Given the browser with 'https://accounts.google.com/SignUp' is started  When the element 'Name', 'LastName', 'Login' is filled  | Name | LastName | Login |  | Oleg1 | Z1 | Oleg1Z1 |  When the element 'SignUpSubmitButton' is clicked  Then the element 'SignUpPasswordValidationError' is present  Scenario Outline: Google search2x  Given the browser with 'https://accounts.google.com/SignUp' is started  When the element <Name>, <LastName>, <Login> is filled  When the element 'SignUpSubmitButton' is clicked  Then the element 'SignUpPasswordValidationError' is present  Examples:  | Name | LastName | Login |  | Oleg1 | Z1 | Oleg1Z1 |  | Oleg2 | Z2 | Oleg2Z2 |

Editor's Notes

  1. Y is some feature, Z is the benefit or value of the feature, X is the person (or role) who will benefit