SlideShare a Scribd company logo
1 of 12
1
INTRODUCTION TO
BEHAVIOR DRIVEN
DEVELOPMENT (BDD)
Zile Rehman
@rehmanzile
WHAT IS BDD?
2
An agile development technique that encourages
collaboration between developers, QA, DevOps
and Business Analysts.
TYPICAL
WORKFLOW
3
1
2
3
4
BDD
WORKFLOW
4
1
2
Report
DEMO
TRANS WORLD AIRLINES
5
BDD
STRUCTURE
6
Internal users only care about this!
BDD RESOURCES
BOOK
POPULAR FRAMEWORKS
7
COMMUNITYTUTORIALS
FUTURE MEETUPS
8
• Integrate BDD in CI
• Scenarios in JIRA
• Writing Complex Scenarios
BACKUP SLIDES
9
SCENARIO
10
STEPS
11
LIBRARY
12

More Related Content

Viewers also liked

Trabalho de Geografia - Apple
Trabalho de Geografia - AppleTrabalho de Geografia - Apple
Trabalho de Geografia - AppleIsadora Mengarda
 
Budaya demokrasi XI
Budaya demokrasi XIBudaya demokrasi XI
Budaya demokrasi XImaryuni ,.
 
Py Vegas - Tales from the crypt
Py Vegas - Tales from the cryptPy Vegas - Tales from the crypt
Py Vegas - Tales from the cryptAdam Englander
 
Indikator soal basa jawa x
Indikator soal basa jawa xIndikator soal basa jawa x
Indikator soal basa jawa xmaryuni ,.
 
SEÇÃO Nº 23
SEÇÃO Nº 23SEÇÃO Nº 23
SEÇÃO Nº 23Jerbialdo
 
Laura Campbell Letter to State GOP
Laura Campbell Letter to State GOPLaura Campbell Letter to State GOP
Laura Campbell Letter to State GOPAbdul-Hakim Shabazz
 
SEÇÃO Nº 66
SEÇÃO Nº 66SEÇÃO Nº 66
SEÇÃO Nº 66Jerbialdo
 
SEÇÃO Nº 74
SEÇÃO Nº 74SEÇÃO Nº 74
SEÇÃO Nº 74Jerbialdo
 
SEÇÃO Nº 76
SEÇÃO Nº 76SEÇÃO Nº 76
SEÇÃO Nº 76Jerbialdo
 
Penyebab kehilangan Kewarganegaraan RI
Penyebab kehilangan Kewarganegaraan RIPenyebab kehilangan Kewarganegaraan RI
Penyebab kehilangan Kewarganegaraan RImaryuni ,.
 
Rをはじめからていねいに
RをはじめからていねいにRをはじめからていねいに
RをはじめからていねいにTsukasa Fukunaga
 
ISTEP Exam E-mails Show Dissent and Dysfunction
ISTEP Exam E-mails Show Dissent and DysfunctionISTEP Exam E-mails Show Dissent and Dysfunction
ISTEP Exam E-mails Show Dissent and DysfunctionAbdul-Hakim Shabazz
 

Viewers also liked (15)

{Educação Física} Handebol
{Educação Física} Handebol{Educação Física} Handebol
{Educação Física} Handebol
 
Trabalho de Geografia - Apple
Trabalho de Geografia - AppleTrabalho de Geografia - Apple
Trabalho de Geografia - Apple
 
Budaya demokrasi XI
Budaya demokrasi XIBudaya demokrasi XI
Budaya demokrasi XI
 
Trabalho de Ciências
Trabalho de CiênciasTrabalho de Ciências
Trabalho de Ciências
 
Py Vegas - Tales from the crypt
Py Vegas - Tales from the cryptPy Vegas - Tales from the crypt
Py Vegas - Tales from the crypt
 
Group dynamics
Group dynamicsGroup dynamics
Group dynamics
 
Indikator soal basa jawa x
Indikator soal basa jawa xIndikator soal basa jawa x
Indikator soal basa jawa x
 
SEÇÃO Nº 23
SEÇÃO Nº 23SEÇÃO Nº 23
SEÇÃO Nº 23
 
Laura Campbell Letter to State GOP
Laura Campbell Letter to State GOPLaura Campbell Letter to State GOP
Laura Campbell Letter to State GOP
 
SEÇÃO Nº 66
SEÇÃO Nº 66SEÇÃO Nº 66
SEÇÃO Nº 66
 
SEÇÃO Nº 74
SEÇÃO Nº 74SEÇÃO Nº 74
SEÇÃO Nº 74
 
SEÇÃO Nº 76
SEÇÃO Nº 76SEÇÃO Nº 76
SEÇÃO Nº 76
 
Penyebab kehilangan Kewarganegaraan RI
Penyebab kehilangan Kewarganegaraan RIPenyebab kehilangan Kewarganegaraan RI
Penyebab kehilangan Kewarganegaraan RI
 
Rをはじめからていねいに
RをはじめからていねいにRをはじめからていねいに
Rをはじめからていねいに
 
ISTEP Exam E-mails Show Dissent and Dysfunction
ISTEP Exam E-mails Show Dissent and DysfunctionISTEP Exam E-mails Show Dissent and Dysfunction
ISTEP Exam E-mails Show Dissent and Dysfunction
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

Intro to BDD

Editor's Notes

  1. Hello Everyone and welcome to Introduction to Behavior Driven Development. In this presentation, we will go throgh the basics and a demo of BDD to gain a better understanding. So let’s get started.
  2. So what is BDD? It's an agile development technique that encourages collaboration between developers, QA, DevOps and Business Analyst
  3. Let's start off with a TYPICAL workflow "without" BDD in the picture. On left side we have key stakeholders working on a new software feature Business Analyst: Product Manager and/or Project Manager Developer QA DevOps So here is the overall Process! Business analyst collects feedback from customers and internal partners and uses business language to convey and document the requirements Engineering capture these requirements in their own structure and start implementing them QA for example Documents requirements into test suite and test case structure Test failure are very cryptic and usually require QA to decipher them This results into what’s called the cost of translation since everyone is using a different language Ultimately the entire team is hoping that they built the right software And the negative feedback can be lenghty and costly (even with smaller releases). Bottom Line Customer expectations get lost in translation Since internal stakeholders use different vocabulary to describe requirements and customer expectations
  4. Here is the workflow "with" BDD in the picture. Business Analyst, Developer, QA & DevOps gather to formulate and document requirements into “BDD Scenarios” These Scearios are written in plain English and capture requirements with specific examples So for example, this time when a test scenario by QA fails, developers are already aware of the context and easily understand nature of failures As a result Feedback is quicker Eventhough scenarios are not initially implemented, you can start to keep track of the overall progress of feature Bottom Line We have a common language that everyone can understand to communicate requirements and examples As a result, feedback is quicker and easier to understand More importantly, we can make educated “release” decisions based on common reporting format
  5. High-level business rules tend to be relatively stable, and changes to them will be driven by the business rather than by technical constraints. They describe the test requirements (i.e. end user's desired behaviors). Mid-level business flow layer describes the user's journey. Lower-level technical layer outlines the implementation details, such as spark streams, elastic search queries, and how a low-level library is called, tend to change more frequently. It interacts with the system under test
  6. Integrate BDD in CI Setting up JUNIT Scenarios in JIRA Defining and associating scenarios with JIRA stroies Reviewing, importing & syncing between git repository Using Baseline for Scenarios Separating data from repository How to store expected results and credentials for each environment