SlideShare a Scribd company logo
1 of 40
Download to read offline
Behavior	
  Driven	
  Tes.ng	
  (BDT)	
  
Workshop	
  
Intent	
  of	
  workshop	
  
•  Learn	
  by	
  experience	
  
Structure	
  of	
  workshop	
  
•  Few	
  slides	
  
•  Few	
  exercises	
  based	
  on	
  case	
  study	
  
•  Lots	
  of	
  interac:ons	
  
•  Homework	
  
Behavior	
  Driven	
  Development	
  	
  
(BDD)	
  
RED	
  
GREEN	
  REFACTOR	
  
Behavior	
  Driven	
  Tes:ng	
  
(BDT)	
  
Expected	
  Func,onality:	
  
	
  
The	
  customer	
  should	
  be	
  able	
  to	
  withdraw	
  
money	
  from	
  his	
  account	
  via	
  an	
  ATM	
  machine	
  
Given	
  the	
  account	
  has	
  balance	
  of	
  5000	
  
When	
  the	
  customer	
  requests	
  1000	
  
Then	
  the	
  account	
  is	
  debited	
  by	
  1000	
  
BDD	
  Example:	
  
Given	
  the	
  account	
  is	
  in	
  credit	
  
And	
  the	
  dispenser	
  contains	
  cash	
  
	
  
When	
  the	
  customer	
  requests	
  cash	
  
	
  
Then	
  ensure	
  the	
  account	
  is	
  debited	
  
And	
  ensure	
  cash	
  is	
  dispensed	
  
And	
  ensure	
  the	
  card	
  is	
  returned	
  
BDT	
  Example:	
  
Case	
  Study	
  
Phase	
  1	
  Requirements	
  
•  Guest	
  User	
  is	
  able	
  to	
  search	
  for	
  a	
  flight	
  for	
  a	
  
single	
  traveller	
  
•  Ability	
  to	
  specify	
  contact	
  informa:on	
  for	
  
person	
  booking	
  the	
  flight	
  
Search	
  	
  
Search	
  
Results	
  
Contact	
  
Informa,on	
  
Search	
  Module
Search	
  Results	
  
Contact	
  Details	
  
Contact	
  Details	
  
Phase	
  1	
  Requirements	
  
•  Guest	
  User	
  is	
  able	
  to	
  search	
  for	
  a	
  flight	
  for	
  a	
  
single	
  traveller	
  
•  Ability	
  to	
  specify	
  contact	
  informa:on	
  for	
  
person	
  booking	
  the	
  flight	
  
Search	
  	
  
Search	
  
Results	
  
Contact	
  
Informa,on	
  
Phase	
  1	
  -­‐	
  Showcase	
  
Test	
  specifica:on	
  styles	
  
•  Impera:ve	
  
	
  
•  Declara:ve	
  
Phase	
  1	
  Requirements	
  
•  Guest	
  User	
  is	
  able	
  to	
  search	
  for	
  a	
  flight	
  for	
  a	
  
single	
  traveller	
  
•  Ability	
  to	
  specify	
  contact	
  informa:on	
  for	
  
person	
  booking	
  the	
  flight	
  
Impera:ve	
  style	
  
Given	
  I	
  am	
  a	
  guest	
  user	
  on	
  the	
  Indigo	
  home	
  page	
  
And	
  I	
  select	
  round	
  trip	
  op:on	
  
And	
  I	
  select	
  Pune	
  from	
  the	
  origin	
  dropdown	
  
And	
  I	
  select	
  Bangalore	
  from	
  the	
  des:na:on	
  drop	
  down	
  
And	
  I	
  select	
  departure	
  date	
  as	
  5	
  July	
  2012	
  
And	
  I	
  select	
  returning	
  date	
  as	
  25	
  July	
  2012	
  
	
  
When	
  I	
  click	
  on	
  Search	
  
	
  
Then	
  I	
  should	
  see	
  the	
  search	
  results	
  page	
  	
  
And	
  I	
  should	
  see	
  at	
  least	
  1	
  op:on	
  for	
  my	
  criteria	
  
	
  
...	
  
…	
  
When	
  I	
  select	
  the	
  first	
  op:on	
  
Then	
  I	
  am	
  on	
  the	
  Contact	
  Informa:on	
  page	
  
	
  
When	
  I	
  enter	
  first	
  name	
  as	
  foo	
  
And	
  I	
  enter	
  last	
  name	
  as	
  bar	
  
…	
  
…	
  
And	
  I	
  click	
  the	
  Select	
  and	
  Con,nue	
  buVon	
  
	
  
Then	
  I	
  should	
  be	
  on	
  the	
  next	
  page	
  
	
  
Given	
  I,	
  a	
  guest	
  user,	
  search	
  for	
  flight	
  op:ons	
  for	
  a	
  
one-­‐way	
  trip	
  for	
  1	
  Adult	
  
	
  
When	
  I	
  select	
  the	
  first	
  flight	
  
And	
  I	
  enter	
  valid	
  contact	
  details	
  
	
  
Then	
  I	
  am	
  able	
  to	
  Save	
  and	
  Con:nue	
  
Declara:ve	
  style	
  
Given	
  I,	
  a	
  guest	
  user,	
  search	
  for	
  flight	
  op:ons	
  for	
  a	
  
one-­‐way	
  trip	
  for	
  1	
  Adult	
  from	
  Delhi	
  to	
  Bangalore	
  
	
  
When	
  I	
  select	
  the	
  first	
  flight	
  
And	
  I	
  enter	
  valid	
  contact	
  details	
  for	
  traveller1	
  
	
  
Then	
  I	
  am	
  able	
  to	
  Save	
  and	
  Con:nue	
  
Declara:ve	
  style	
  
Case	
  Study	
  -­‐	
  updated	
  
Phase	
  2	
  Requirements	
  
•  User	
  registra:on	
  possible	
  now	
  from	
  Contact	
  
informa:on	
  page	
  
•  Registered	
  user	
  can	
  login	
  from	
  home	
  page	
  
(below	
  search	
  criteria)	
  
•  When	
  booking	
  :cket,	
  contact	
  informa:on	
  pre-­‐
filled	
  based	
  on	
  the	
  logged	
  in	
  user	
  informa:on	
  
Registered	
  User	
  
Phase	
  2	
  Requirements	
  
•  User	
  registra:on	
  possible	
  now	
  from	
  Contact	
  
informa:on	
  page	
  
•  Registered	
  user	
  can	
  login	
  from	
  home	
  page	
  
(below	
  search	
  criteria)	
  
•  When	
  booking	
  :cket,	
  contact	
  informa:on	
  pre-­‐
filled	
  based	
  on	
  the	
  logged	
  in	
  user	
  informa:on	
  
Login	
   Search	
  	
  
Search	
  
Results	
  
Contact	
  
Informa,on	
  
• User	
  
registra,on	
  
Phase	
  2	
  -­‐	
  Showcase	
  
Given	
  I,	
  as	
  a	
  guest	
  user,	
  search	
  for	
  flight	
  op:ons	
  for	
  a	
  
one-­‐way	
  trip	
  for	
  1	
  Adult	
  
	
  
When	
  I	
  select	
  the	
  first	
  flight	
  
And	
  I	
  enter	
  valid	
  contact	
  details	
  
And	
  I	
  register	
  myself	
  as	
  user	
  foo@bar.com	
  
	
  
Then	
  I	
  am	
  able	
  to	
  Save	
  and	
  Con:nue	
  
	
  
When	
  I	
  re-­‐login	
  as	
  user	
  foo@bar.com	
  
And	
  I	
  search	
  for	
  and	
  select	
  some	
  flight	
  op:on	
  
Then	
  I	
  should	
  see	
  my	
  contact	
  details	
  pre-­‐populated	
  
Given	
  I,	
  a	
  registered	
  user	
  foo@bar.com,	
  search	
  for	
  flight	
  
op:ons	
  for	
  a	
  one-­‐way	
  trip	
  for	
  1	
  Adult	
  from	
  Delhi	
  to	
  
Bangalore	
  
	
  
When	
  I	
  select	
  the	
  first	
  flight	
  
And	
  I	
  enter	
  invalid	
  contact	
  details	
  for	
  traveller1	
  
Then	
  I	
  should	
  not	
  be	
  able	
  to	
  proceed	
  to	
  passenger	
  details	
  
	
  
When	
  I	
  enter	
  valid	
  contact	
  details	
  for	
  traveller1	
  
And	
  I	
  enter	
  valid	
  passenger	
  details	
  for	
  traveller1	
  
And	
  I	
  enter	
  my	
  Visa	
  card	
  details	
  to	
  make	
  the	
  payment	
  
	
  
Then	
  my	
  flight	
  is	
  booked	
  	
  
And	
  I	
  get	
  the	
  email	
  confirma:on	
  on	
  the	
  registered	
  email	
  
address	
  
A	
  prac:ce	
  that	
  makes	
  Agile	
  Teams	
  	
  
successful	
  
Test	
  Automa.on	
  
A	
  prac:ce	
  that	
  makes	
  Agile	
  Tes:ng	
  
unsuccessful	
  
Test	
  Automa.on	
  
Ideal	
  Test	
  Pyramid	
  
What	
  does	
  BDT	
  do	
  for	
  me?	
  
hVp://essenceo]es:ng.blogspot.com/search/label/bdt	
  
	
  
Vodqa-­‐pune@thoughtworks.com	
  
Vodqa-­‐bangalore@thoughtworks.com	
  

More Related Content

What's hot

Impact Analysis - LoopConf
Impact Analysis - LoopConfImpact Analysis - LoopConf
Impact Analysis - LoopConfChris Lema
 
[HCM Scrum Breakfast] How to improve product quality in Scrum Team
[HCM Scrum Breakfast] How to improve product quality in Scrum Team[HCM Scrum Breakfast] How to improve product quality in Scrum Team
[HCM Scrum Breakfast] How to improve product quality in Scrum TeamScrum Breakfast Vietnam
 
Test Data - Food for your Test Automation Framework
Test Data - Food for your Test Automation FrameworkTest Data - Food for your Test Automation Framework
Test Data - Food for your Test Automation FrameworkAnand Bagmar
 
Getting started with Visual Testing using Applitools - @TPC, Feb2020
Getting started with Visual Testing using Applitools - @TPC, Feb2020Getting started with Visual Testing using Applitools - @TPC, Feb2020
Getting started with Visual Testing using Applitools - @TPC, Feb2020Anand Bagmar
 
Specification by Example - Agile India 2015
Specification by Example - Agile India 2015Specification by Example - Agile India 2015
Specification by Example - Agile India 2015Ankur Sambhar
 
Selenium Deep Dive
Selenium Deep DiveSelenium Deep Dive
Selenium Deep DiveAnand Bagmar
 

What's hot (8)

Impact Analysis - LoopConf
Impact Analysis - LoopConfImpact Analysis - LoopConf
Impact Analysis - LoopConf
 
BDD in Automation Testing
BDD in Automation TestingBDD in Automation Testing
BDD in Automation Testing
 
[HCM Scrum Breakfast] How to improve product quality in Scrum Team
[HCM Scrum Breakfast] How to improve product quality in Scrum Team[HCM Scrum Breakfast] How to improve product quality in Scrum Team
[HCM Scrum Breakfast] How to improve product quality in Scrum Team
 
Test Data - Food for your Test Automation Framework
Test Data - Food for your Test Automation FrameworkTest Data - Food for your Test Automation Framework
Test Data - Food for your Test Automation Framework
 
Getting started with Visual Testing using Applitools - @TPC, Feb2020
Getting started with Visual Testing using Applitools - @TPC, Feb2020Getting started with Visual Testing using Applitools - @TPC, Feb2020
Getting started with Visual Testing using Applitools - @TPC, Feb2020
 
Specification by Example - Agile India 2015
Specification by Example - Agile India 2015Specification by Example - Agile India 2015
Specification by Example - Agile India 2015
 
AMP and WordPress
AMP and WordPressAMP and WordPress
AMP and WordPress
 
Selenium Deep Dive
Selenium Deep DiveSelenium Deep Dive
Selenium Deep Dive
 

Viewers also liked

Pwp photo album
Pwp   photo albumPwp   photo album
Pwp photo albumDuane Ruby
 
ฉันเหมือนใคร 3
ฉันเหมือนใคร 3ฉันเหมือนใคร 3
ฉันเหมือนใคร 3popkullatida
 
Profil wiraswasta Bapak Drs. Sajino
Profil wiraswasta Bapak Drs. SajinoProfil wiraswasta Bapak Drs. Sajino
Profil wiraswasta Bapak Drs. Sajinobangun93
 
Afp toronto create an engaged passionate board
Afp toronto create an engaged passionate boardAfp toronto create an engaged passionate board
Afp toronto create an engaged passionate boardgailperry
 
ฉันเหมือนใคร 7
ฉันเหมือนใคร 7ฉันเหมือนใคร 7
ฉันเหมือนใคร 7popkullatida
 
ฉันเหมือนใคร
ฉันเหมือนใครฉันเหมือนใคร
ฉันเหมือนใครpopkullatida
 
Editorialpower
EditorialpowerEditorialpower
Editorialpowerpaoyised21
 
Pierwszy dzień przeglądu filmów
Pierwszy dzień przeglądu filmówPierwszy dzień przeglądu filmów
Pierwszy dzień przeglądu filmówsknsz
 
Afp midland tx create a fundraising action plan for your board members
Afp midland tx create a fundraising action plan for your board membersAfp midland tx create a fundraising action plan for your board members
Afp midland tx create a fundraising action plan for your board membersgailperry
 
LED Commercial Lighting
LED Commercial LightingLED Commercial Lighting
LED Commercial Lightingledindex
 
Venus planet prezentacija
Venus planet prezentacijaVenus planet prezentacija
Venus planet prezentacijaolujicz
 
Secrets of sustainable fundraising penn nfp academy
Secrets of sustainable fundraising penn nfp academySecrets of sustainable fundraising penn nfp academy
Secrets of sustainable fundraising penn nfp academygailperry
 
Никита Фролов Разработка приложений под iPhone
Никита Фролов   Разработка приложений под iPhoneНикита Фролов   Разработка приложений под iPhone
Никита Фролов Разработка приложений под iPhoneSiel01
 
Ananth - Holistic test suite development and Twist
Ananth - Holistic test suite development and TwistAnanth - Holistic test suite development and Twist
Ananth - Holistic test suite development and TwistvodQA
 
3 trismeters shit
3 trismeters shit3 trismeters shit
3 trismeters shitDan Morrow
 

Viewers also liked (20)

Pwp photo album
Pwp   photo albumPwp   photo album
Pwp photo album
 
ฉันเหมือนใคร 3
ฉันเหมือนใคร 3ฉันเหมือนใคร 3
ฉันเหมือนใคร 3
 
Profil wiraswasta Bapak Drs. Sajino
Profil wiraswasta Bapak Drs. SajinoProfil wiraswasta Bapak Drs. Sajino
Profil wiraswasta Bapak Drs. Sajino
 
Afp toronto create an engaged passionate board
Afp toronto create an engaged passionate boardAfp toronto create an engaged passionate board
Afp toronto create an engaged passionate board
 
Hokkaido.pm
Hokkaido.pmHokkaido.pm
Hokkaido.pm
 
ฉันเหมือนใคร 7
ฉันเหมือนใคร 7ฉันเหมือนใคร 7
ฉันเหมือนใคร 7
 
ฉันเหมือนใคร
ฉันเหมือนใครฉันเหมือนใคร
ฉันเหมือนใคร
 
Editorialpower
EditorialpowerEditorialpower
Editorialpower
 
Pierwszy dzień przeglądu filmów
Pierwszy dzień przeglądu filmówPierwszy dzień przeglądu filmów
Pierwszy dzień przeglądu filmów
 
Sex,gender
Sex,genderSex,gender
Sex,gender
 
Afp midland tx create a fundraising action plan for your board members
Afp midland tx create a fundraising action plan for your board membersAfp midland tx create a fundraising action plan for your board members
Afp midland tx create a fundraising action plan for your board members
 
LED Commercial Lighting
LED Commercial LightingLED Commercial Lighting
LED Commercial Lighting
 
Lecture
LectureLecture
Lecture
 
Venus planet prezentacija
Venus planet prezentacijaVenus planet prezentacija
Venus planet prezentacija
 
Secrets of sustainable fundraising penn nfp academy
Secrets of sustainable fundraising penn nfp academySecrets of sustainable fundraising penn nfp academy
Secrets of sustainable fundraising penn nfp academy
 
Никита Фролов Разработка приложений под iPhone
Никита Фролов   Разработка приложений под iPhoneНикита Фролов   Разработка приложений под iPhone
Никита Фролов Разработка приложений под iPhone
 
Rugby
RugbyRugby
Rugby
 
Ananth - Holistic test suite development and Twist
Ananth - Holistic test suite development and TwistAnanth - Holistic test suite development and Twist
Ananth - Holistic test suite development and Twist
 
3 trismeters shit
3 trismeters shit3 trismeters shit
3 trismeters shit
 
Blog
BlogBlog
Blog
 

More from vodQA

Performance Testing
Performance TestingPerformance Testing
Performance TestingvodQA
 
Testing Strategy in Micro Frontend architecture
Testing Strategy in Micro Frontend architectureTesting Strategy in Micro Frontend architecture
Testing Strategy in Micro Frontend architecturevodQA
 
Api testing libraries using java script an overview
Api testing libraries using java script   an overviewApi testing libraries using java script   an overview
Api testing libraries using java script an overviewvodQA
 
Testing face authentication on mobile
Testing face authentication on mobileTesting face authentication on mobile
Testing face authentication on mobilevodQA
 
Testing cna
Testing cnaTesting cna
Testing cnavodQA
 
Etl engine testing with scala
Etl engine testing with scalaEtl engine testing with scala
Etl engine testing with scalavodQA
 
EDA for QAs
EDA for QAsEDA for QAs
EDA for QAsvodQA
 
vodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Browser automation using dev toolsvodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Browser automation using dev toolsvodQA
 
vodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Augmented reality overview and testing challengesvodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Augmented reality overview and testing challengesvodQA
 
vodQA Pune (2019) - Testing AI,ML applications
vodQA Pune (2019) - Testing AI,ML applicationsvodQA Pune (2019) - Testing AI,ML applications
vodQA Pune (2019) - Testing AI,ML applicationsvodQA
 
vodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automationvodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automationvodQA
 
vodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contractsvodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contractsvodQA
 
vodQA Pune (2019) - Insights into big data testing
vodQA Pune (2019) - Insights into big data testingvodQA Pune (2019) - Insights into big data testing
vodQA Pune (2019) - Insights into big data testingvodQA
 
vodQA Pune (2019) - Performance testing cloud deployments
vodQA Pune (2019) - Performance testing cloud deploymentsvodQA Pune (2019) - Performance testing cloud deployments
vodQA Pune (2019) - Performance testing cloud deploymentsvodQA
 
vodQA Pune (2019) - Jenkins pipeline As code
vodQA Pune (2019) - Jenkins pipeline As codevodQA Pune (2019) - Jenkins pipeline As code
vodQA Pune (2019) - Jenkins pipeline As codevodQA
 
vodQA(Pune) 2018 - Consumer driven contract testing using pact
vodQA(Pune) 2018 - Consumer driven contract testing using pactvodQA(Pune) 2018 - Consumer driven contract testing using pact
vodQA(Pune) 2018 - Consumer driven contract testing using pactvodQA
 
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
vodQA(Pune) 2018 - Visual testing of web apps in headless environment   manis...vodQA(Pune) 2018 - Visual testing of web apps in headless environment   manis...
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...vodQA
 
vodQA(Pune) 2018 - Enhancing the capabilities of testing team preparing for...
vodQA(Pune) 2018 - Enhancing the capabilities of testing team   preparing for...vodQA(Pune) 2018 - Enhancing the capabilities of testing team   preparing for...
vodQA(Pune) 2018 - Enhancing the capabilities of testing team preparing for...vodQA
 
vodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security wayvodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security wayvodQA
 
vodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in TestingvodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in TestingvodQA
 

More from vodQA (20)

Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Testing Strategy in Micro Frontend architecture
Testing Strategy in Micro Frontend architectureTesting Strategy in Micro Frontend architecture
Testing Strategy in Micro Frontend architecture
 
Api testing libraries using java script an overview
Api testing libraries using java script   an overviewApi testing libraries using java script   an overview
Api testing libraries using java script an overview
 
Testing face authentication on mobile
Testing face authentication on mobileTesting face authentication on mobile
Testing face authentication on mobile
 
Testing cna
Testing cnaTesting cna
Testing cna
 
Etl engine testing with scala
Etl engine testing with scalaEtl engine testing with scala
Etl engine testing with scala
 
EDA for QAs
EDA for QAsEDA for QAs
EDA for QAs
 
vodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Browser automation using dev toolsvodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Browser automation using dev tools
 
vodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Augmented reality overview and testing challengesvodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Augmented reality overview and testing challenges
 
vodQA Pune (2019) - Testing AI,ML applications
vodQA Pune (2019) - Testing AI,ML applicationsvodQA Pune (2019) - Testing AI,ML applications
vodQA Pune (2019) - Testing AI,ML applications
 
vodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automationvodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automation
 
vodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contractsvodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contracts
 
vodQA Pune (2019) - Insights into big data testing
vodQA Pune (2019) - Insights into big data testingvodQA Pune (2019) - Insights into big data testing
vodQA Pune (2019) - Insights into big data testing
 
vodQA Pune (2019) - Performance testing cloud deployments
vodQA Pune (2019) - Performance testing cloud deploymentsvodQA Pune (2019) - Performance testing cloud deployments
vodQA Pune (2019) - Performance testing cloud deployments
 
vodQA Pune (2019) - Jenkins pipeline As code
vodQA Pune (2019) - Jenkins pipeline As codevodQA Pune (2019) - Jenkins pipeline As code
vodQA Pune (2019) - Jenkins pipeline As code
 
vodQA(Pune) 2018 - Consumer driven contract testing using pact
vodQA(Pune) 2018 - Consumer driven contract testing using pactvodQA(Pune) 2018 - Consumer driven contract testing using pact
vodQA(Pune) 2018 - Consumer driven contract testing using pact
 
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
vodQA(Pune) 2018 - Visual testing of web apps in headless environment   manis...vodQA(Pune) 2018 - Visual testing of web apps in headless environment   manis...
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
 
vodQA(Pune) 2018 - Enhancing the capabilities of testing team preparing for...
vodQA(Pune) 2018 - Enhancing the capabilities of testing team   preparing for...vodQA(Pune) 2018 - Enhancing the capabilities of testing team   preparing for...
vodQA(Pune) 2018 - Enhancing the capabilities of testing team preparing for...
 
vodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security wayvodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security way
 
vodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in TestingvodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in Testing
 

Recently uploaded

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

BDT workshop - Anand Bagmar

  • 1. Behavior  Driven  Tes.ng  (BDT)   Workshop  
  • 2. Intent  of  workshop   •  Learn  by  experience  
  • 3. Structure  of  workshop   •  Few  slides   •  Few  exercises  based  on  case  study   •  Lots  of  interac:ons   •  Homework  
  • 7. Expected  Func,onality:     The  customer  should  be  able  to  withdraw   money  from  his  account  via  an  ATM  machine  
  • 8. Given  the  account  has  balance  of  5000   When  the  customer  requests  1000   Then  the  account  is  debited  by  1000   BDD  Example:  
  • 9. Given  the  account  is  in  credit   And  the  dispenser  contains  cash     When  the  customer  requests  cash     Then  ensure  the  account  is  debited   And  ensure  cash  is  dispensed   And  ensure  the  card  is  returned   BDT  Example:  
  • 11.
  • 12. Phase  1  Requirements   •  Guest  User  is  able  to  search  for  a  flight  for  a   single  traveller   •  Ability  to  specify  contact  informa:on  for   person  booking  the  flight  
  • 13. Search     Search   Results   Contact   Informa,on  
  • 18. Phase  1  Requirements   •  Guest  User  is  able  to  search  for  a  flight  for  a   single  traveller   •  Ability  to  specify  contact  informa:on  for   person  booking  the  flight  
  • 19. Search     Search   Results   Contact   Informa,on  
  • 20. Phase  1  -­‐  Showcase  
  • 21. Test  specifica:on  styles   •  Impera:ve     •  Declara:ve  
  • 22. Phase  1  Requirements   •  Guest  User  is  able  to  search  for  a  flight  for  a   single  traveller   •  Ability  to  specify  contact  informa:on  for   person  booking  the  flight  
  • 23. Impera:ve  style   Given  I  am  a  guest  user  on  the  Indigo  home  page   And  I  select  round  trip  op:on   And  I  select  Pune  from  the  origin  dropdown   And  I  select  Bangalore  from  the  des:na:on  drop  down   And  I  select  departure  date  as  5  July  2012   And  I  select  returning  date  as  25  July  2012     When  I  click  on  Search     Then  I  should  see  the  search  results  page     And  I  should  see  at  least  1  op:on  for  my  criteria     ...  
  • 24. …   When  I  select  the  first  op:on   Then  I  am  on  the  Contact  Informa:on  page     When  I  enter  first  name  as  foo   And  I  enter  last  name  as  bar   …   …   And  I  click  the  Select  and  Con,nue  buVon     Then  I  should  be  on  the  next  page    
  • 25. Given  I,  a  guest  user,  search  for  flight  op:ons  for  a   one-­‐way  trip  for  1  Adult     When  I  select  the  first  flight   And  I  enter  valid  contact  details     Then  I  am  able  to  Save  and  Con:nue   Declara:ve  style  
  • 26. Given  I,  a  guest  user,  search  for  flight  op:ons  for  a   one-­‐way  trip  for  1  Adult  from  Delhi  to  Bangalore     When  I  select  the  first  flight   And  I  enter  valid  contact  details  for  traveller1     Then  I  am  able  to  Save  and  Con:nue   Declara:ve  style  
  • 27. Case  Study  -­‐  updated  
  • 28. Phase  2  Requirements   •  User  registra:on  possible  now  from  Contact   informa:on  page   •  Registered  user  can  login  from  home  page   (below  search  criteria)   •  When  booking  :cket,  contact  informa:on  pre-­‐ filled  based  on  the  logged  in  user  informa:on  
  • 30.
  • 31. Phase  2  Requirements   •  User  registra:on  possible  now  from  Contact   informa:on  page   •  Registered  user  can  login  from  home  page   (below  search  criteria)   •  When  booking  :cket,  contact  informa:on  pre-­‐ filled  based  on  the  logged  in  user  informa:on  
  • 32. Login   Search     Search   Results   Contact   Informa,on   • User   registra,on  
  • 33. Phase  2  -­‐  Showcase  
  • 34. Given  I,  as  a  guest  user,  search  for  flight  op:ons  for  a   one-­‐way  trip  for  1  Adult     When  I  select  the  first  flight   And  I  enter  valid  contact  details   And  I  register  myself  as  user  foo@bar.com     Then  I  am  able  to  Save  and  Con:nue     When  I  re-­‐login  as  user  foo@bar.com   And  I  search  for  and  select  some  flight  op:on   Then  I  should  see  my  contact  details  pre-­‐populated  
  • 35. Given  I,  a  registered  user  foo@bar.com,  search  for  flight   op:ons  for  a  one-­‐way  trip  for  1  Adult  from  Delhi  to   Bangalore     When  I  select  the  first  flight   And  I  enter  invalid  contact  details  for  traveller1   Then  I  should  not  be  able  to  proceed  to  passenger  details     When  I  enter  valid  contact  details  for  traveller1   And  I  enter  valid  passenger  details  for  traveller1   And  I  enter  my  Visa  card  details  to  make  the  payment     Then  my  flight  is  booked     And  I  get  the  email  confirma:on  on  the  registered  email   address  
  • 36. A  prac:ce  that  makes  Agile  Teams     successful   Test  Automa.on  
  • 37. A  prac:ce  that  makes  Agile  Tes:ng   unsuccessful   Test  Automa.on  
  • 39. What  does  BDT  do  for  me?