Anand Bagmar - Behavior Driven Testing (BDT) in Agile

Anand Bagmar
Anand BagmarFounder, Software Quality Evangelist at Essence Of Testing
Behavior	
  Driven	
  Tes.ng	
  (BDT)	
  	
  
                in	
  	
  
               Agile	
  
What	
  is	
  Tes*ng	
  on	
  Agile	
  projects?	
  
Story	
  
                                      planning	
  and	
  
                                         wri/ng	
  
             Showcase	
                                        IPM	
  



 Automa/on	
  
  (execu/on,	
                                                           QA	
  kickoff	
  
 maintenance)	
  
                                 Agile	
  Tes.ng	
  	
  
                                in	
  an	
  Itera.on
 Manual	
  +	
  
Exploratory	
                                                              Story	
  kickoff	
  
  Tes/ng	
  



            BA	
  /	
  QA	
                                 Test	
  Scenario	
  
           Volleyball	
                                        Wri/ng	
  
                                       Implement	
  
                                          Test	
  
                                       Automa/on	
  
A	
  prac*ce	
  that	
  makes	
  Agile	
  Teams	
  	
  
                 successful?	
  




      Test	
  Automa.on	
  
A	
  prac*ce	
  that	
  makes	
  Agile	
  Teams	
  
              unsuccessful?	
  




     Test	
  Automa.on	
  
The	
  Test	
  Pyramid	
  
•  “Succeeding	
  with	
  Agile”	
  –	
  Mike	
  Cohn	
  

•  Mar*n	
  Fowler	
  –	
  Test	
  Pyramid	
  
    –  hCp://mar*nfowler.com/bliki/TestPyramid.html	
  
Ideal	
  Test	
  Pyramid	
  
                     Func/onal	
  Tests	
  (GUI)	
  
                     •  Developers	
  &	
  /	
  QA	
  team	
  

                     API	
  Tests	
  
                     •  Developers	
  &	
  /	
  QA	
  team	
  

                     Integra/on	
  tests	
  
                     •  Developers	
  

                     Component	
  tests	
  
                     •  Developers	
  

                     Unit	
  Tests	
  
                     •  Developers	
  

Cost	
  /	
  Effort	
                                              Time	
  
Anand Bagmar - Behavior Driven Testing (BDT) in Agile
Test	
  Pyramid	
  reality	
  




Development	
  team	
  
Test	
  Pyramid	
                 QA	
  team	
  
                              Test	
  Pyramid	
  
Test	
  Pyramid	
  –	
  An*	
  PaCern	
  
Evolu*on	
  of	
  Test	
  Frameworks	
  
                Behavior	
  
                 Driven	
  
              Development	
  
                 (BDD)	
  

               Op/mized	
  
                scripts	
  

                Record	
  &	
  
                Playback	
  	
  



                  Core	
  
               Framework	
  
Behavior	
  Driven	
  Development	
  	
  
               (BDD)	
  
RED	
  




REFACTOR	
               GREEN	
  
Behavior	
  Driven	
  Tes*ng	
  
          (BDT)	
  
Expected	
  Func/onality:	
  
	
  
The	
  customer	
  should	
  be	
  able	
  to	
  withdraw	
  
money	
  from	
  his	
  account	
  via	
  an	
  ATM	
  machine	
  
BDD	
  Example:	
  

Given	
  the	
  account	
  has	
  balance	
  of	
  5000	
  
When	
  the	
  customer	
  requests	
  1000	
  
Then	
  the	
  account	
  is	
  debited	
  by	
  1000	
  
BDT	
  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	
  
New	
  Expected	
  Func/onality:	
  
	
  
The	
  customer	
  should	
  be	
  able	
  to	
  withdraw	
  
money	
  from	
  his	
  account	
  only	
  if	
  his	
  card	
  is	
  
valid	
  
BDT	
  Example	
  -­‐	
  updated:	
  
Given	
  the	
  account	
  is	
  in	
  credit	
  
And	
  the	
  card	
  is	
  valid	
  
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	
  
Case	
  Study	
  
Anand Bagmar - Behavior Driven Testing (BDT) in Agile
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	
        Contact	
  
Search	
  	
  
                 Results	
     Informa/on	
  
Anand Bagmar - Behavior Driven Testing (BDT) in Agile
Anand Bagmar - Behavior Driven Testing (BDT) in Agile
Contact	
  Details	
  
Test	
  specifica*on	
  styles	
  

•  Impera*ve	
  
	
  
•  Declara*ve	
  
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”	
  buCon	
  
	
  
Then	
  I	
  should	
  be	
  on	
  the	
  next	
  page	
  
	
  
Declara*ve	
  style	
  
Given	
  I	
  am	
  a	
  guest	
  user	
  
	
  
When	
  I	
  search	
  for	
  flight	
  op*ons	
  for	
  a	
  “one-­‐way”	
  trip	
  
for	
  “1”	
  “Adult”	
  from	
  “Delhi”	
  to	
  “Bangalore”	
  
And	
  I	
  select	
  the	
  “first”	
  flight	
  
And	
  I	
  enter	
  “valid”	
  contact	
  details	
  for	
  “traveller1”	
  
	
  
Then	
  I	
  am	
  able	
  to	
  Save	
  and	
  Con*nue	
  
Func/onal	
  Tests	
  (GUI)	
  
•  Developers	
  &	
  /	
  QA	
  team	
  

API	
  Tests	
  
•  Developers	
  &	
  /	
  QA	
  team	
  

Integra/on	
  tests	
  
•  Developers	
  

Component	
  tests	
  
•  Developers	
  

Unit	
  Tests	
  
•  Developers	
  
What	
  does	
  BDT	
  do	
  for	
  me?	
  
What	
  BDT	
  does	
  NOT	
  do	
  for	
  me?	
  
•  Replace	
  tes*ng	
  granular	
  func*onality	
  	
  
   –  ONLY	
  when	
  it	
  has	
  just	
  been	
  developed	
  
Steps	
  to	
  follow	
  to	
  implement	
  BDT	
  
Anand Bagmar - Behavior Driven Testing (BDT) in Agile
Anand Bagmar - Behavior Driven Testing (BDT) in Agile
Anand Bagmar - Behavior Driven Testing (BDT) in Agile
Anand Bagmar - Behavior Driven Testing (BDT) in Agile
Current	
  state	
  
Tests	
  running	
  on	
  Hudson	
  /	
  Jenkins	
     Since	
  1st	
  test	
  was	
  automated	
  


Feature	
  files	
                                      33	
  
Scenarios	
                                            65	
  
Smoke	
  tests	
  execu*on	
  *me	
                    15	
  minutes	
  
Regression	
  tests	
  execu*on	
  *me	
               45	
  minutes	
  


Test	
  case	
  repository	
  (manual	
  +	
           Cucumber	
  .feature	
  files	
  with	
  
automated)	
                                           appropriate	
  tagging	
  
Project	
  Management	
  tool	
                        Mingle	
  
Tools	
  to	
  enable	
  BDD	
  /	
  BDT	
  
•    Cucumber	
  
•    JBehave	
  
•    SpecFlow	
  
•    Twist	
  
Anand.Bagmar@thoughtworks.com	
  

      abagmar@gmail.com	
  
            ThoughtWorks®	
  
1 of 41

Recommended

Agile Testing Framework - The Art of Automated Testing by
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingDimitri Ponomareff
29.8K views32 slides
The shift left strategy by
The shift left strategy The shift left strategy
The shift left strategy Clearsky testautomation
180 views27 slides
TDD And Refactoring by
TDD And RefactoringTDD And Refactoring
TDD And RefactoringNaresh Jain
7.4K views34 slides
Shift left-testing by
Shift left-testingShift left-testing
Shift left-testingAlan Richardson
3.9K views16 slides
Secrets of Scrum by
Secrets of ScrumSecrets of Scrum
Secrets of ScrumJames Coplien
5.4K views48 slides
[오픈소스컨설팅]Java Performance Tuning by
[오픈소스컨설팅]Java Performance Tuning[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance TuningJi-Woong Choi
86.7K views237 slides

More Related Content

What's hot

Feature Toggles by
Feature TogglesFeature Toggles
Feature TogglesDevi Sridharan
1.4K views20 slides
Cypress, Playwright, Selenium, or WebdriverIO? Let the Engineers Speak! by
Cypress, Playwright, Selenium, or WebdriverIO? Let the Engineers Speak!Cypress, Playwright, Selenium, or WebdriverIO? Let the Engineers Speak!
Cypress, Playwright, Selenium, or WebdriverIO? Let the Engineers Speak!Applitools
4.9K views15 slides
Git Branching for Agile Teams by
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams Atlassian
28.8K views93 slides
Microservices at Mercari by
Microservices at MercariMicroservices at Mercari
Microservices at MercariGoogle Cloud Platform - Japan
17.2K views72 slides
The Test Pyramid by
The Test PyramidThe Test Pyramid
The Test PyramidThiago Ghisi
8.8K views65 slides
IIT Academy: 204 User stories and acceptance criteria by
IIT Academy: 204 User stories and acceptance criteriaIIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaSteven HK Ma | 馬國豪
2.1K views49 slides

What's hot(20)

Cypress, Playwright, Selenium, or WebdriverIO? Let the Engineers Speak! by Applitools
Cypress, Playwright, Selenium, or WebdriverIO? Let the Engineers Speak!Cypress, Playwright, Selenium, or WebdriverIO? Let the Engineers Speak!
Cypress, Playwright, Selenium, or WebdriverIO? Let the Engineers Speak!
Applitools4.9K views
Git Branching for Agile Teams by Atlassian
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams
Atlassian28.8K views
Optimize your CI/CD with GitLab and AWS by DevOps.com
Optimize your CI/CD with GitLab and AWSOptimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWS
DevOps.com388 views
Validating Delivered Business Value – Going Beyond “Actual Business Value” by Yuval Yeret
Validating Delivered Business Value – Going Beyond “Actual Business Value”Validating Delivered Business Value – Going Beyond “Actual Business Value”
Validating Delivered Business Value – Going Beyond “Actual Business Value”
Yuval Yeret2.5K views
Test automation - What? Why? How? by Anand Bagmar
Test automation - What? Why? How?Test automation - What? Why? How?
Test automation - What? Why? How?
Anand Bagmar3.2K views
Developing a Testing Strategy for DevOps Success by DevOps.com
Developing a Testing Strategy for DevOps SuccessDeveloping a Testing Strategy for DevOps Success
Developing a Testing Strategy for DevOps Success
DevOps.com1.1K views
Selenium Maven With Eclipse | Edureka by Edureka!
Selenium Maven With Eclipse | EdurekaSelenium Maven With Eclipse | Edureka
Selenium Maven With Eclipse | Edureka
Edureka!1.1K views
Shift Left Testing: A New Paradigm Shift To Quality by Pooja Wandile
Shift Left Testing: A New Paradigm Shift To QualityShift Left Testing: A New Paradigm Shift To Quality
Shift Left Testing: A New Paradigm Shift To Quality
Pooja Wandile2.2K views
Mke agile 032014 Slicing the cake: User Story Decomposition by Dave Neuman
Mke agile 032014   Slicing the cake: User Story DecompositionMke agile 032014   Slicing the cake: User Story Decomposition
Mke agile 032014 Slicing the cake: User Story Decomposition
Dave Neuman4.8K views
Intégration et livraison continues des bonnes pratiques de conception d'appli... by Amazon Web Services
Intégration et livraison continues des bonnes pratiques de conception d'appli...Intégration et livraison continues des bonnes pratiques de conception d'appli...
Intégration et livraison continues des bonnes pratiques de conception d'appli...
Feature Toggle by Bryan Liu
Feature ToggleFeature Toggle
Feature Toggle
Bryan Liu2.1K views

Viewers also liked

Inverting The Testing Pyramid by
Inverting The Testing PyramidInverting The Testing Pyramid
Inverting The Testing PyramidNaresh Jain
53.2K views46 slides
Test pyramid agile pune conference by
Test pyramid   agile pune conferenceTest pyramid   agile pune conference
Test pyramid agile pune conferenceSachin Natu
1.5K views42 slides
Automation testing strategy, approach & planning by
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planningSivaprasanthRentala1975
82.4K views21 slides
Test Automation Strategies For Agile by
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For AgileNaresh Jain
54K views38 slides
Test Automation Framework Designs by
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework DesignsSauce Labs
167K views56 slides
Deliver anything, anywhere, anytime by
Deliver anything, anywhere, anytimeDeliver anything, anywhere, anytime
Deliver anything, anywhere, anytimePoornima Durairaj
249 views15 slides

Viewers also liked(20)

Inverting The Testing Pyramid by Naresh Jain
Inverting The Testing PyramidInverting The Testing Pyramid
Inverting The Testing Pyramid
Naresh Jain53.2K views
Test pyramid agile pune conference by Sachin Natu
Test pyramid   agile pune conferenceTest pyramid   agile pune conference
Test pyramid agile pune conference
Sachin Natu1.5K views
Test Automation Strategies For Agile by Naresh Jain
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
Naresh Jain54K views
Test Automation Framework Designs by Sauce Labs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
Sauce Labs167K views
Advanced Topics in Agile Tsting: Focus on Automation by lisacrispin
Advanced Topics in Agile Tsting: Focus on AutomationAdvanced Topics in Agile Tsting: Focus on Automation
Advanced Topics in Agile Tsting: Focus on Automation
lisacrispin1.8K views
Test Driven Development via Agile Testing by Anand Bagmar
Test Driven Development via Agile TestingTest Driven Development via Agile Testing
Test Driven Development via Agile Testing
Anand Bagmar2.5K views
Behavior Driven Testing - A paradigm shift by Aspire Systems
Behavior Driven Testing - A paradigm shiftBehavior Driven Testing - A paradigm shift
Behavior Driven Testing - A paradigm shift
Aspire Systems2.1K views
Inverting Test Pyramid - A First Hand Experience Report by Naresh Jain
Inverting Test Pyramid - A First Hand Experience ReportInverting Test Pyramid - A First Hand Experience Report
Inverting Test Pyramid - A First Hand Experience Report
Naresh Jain2.1K views
Implementing BDD at scale for agile and DevOps teams by Laurent PY
Implementing BDD at scale for agile and DevOps teamsImplementing BDD at scale for agile and DevOps teams
Implementing BDD at scale for agile and DevOps teams
Laurent PY1.2K views
James Tomaney - Automated Testing for the ATM Channel by TEST Huddle
James Tomaney - Automated Testing for the ATM Channel James Tomaney - Automated Testing for the ATM Channel
James Tomaney - Automated Testing for the ATM Channel
TEST Huddle3.1K views
Bahaviour Driven Development by buildmaster
Bahaviour Driven DevelopmentBahaviour Driven Development
Bahaviour Driven Development
buildmaster594 views
Software testing by Bala Ganesh
Software testingSoftware testing
Software testing
Bala Ganesh1.3K views
Build And Test Automation - Shortening the Feedback Loop by Rally Software
Build And Test Automation - Shortening the Feedback LoopBuild And Test Automation - Shortening the Feedback Loop
Build And Test Automation - Shortening the Feedback Loop
Rally Software3.3K views
Build the "right" regression suite using Behavior Driven Testing (BDT) by Anand Bagmar
Build the "right" regression suite using Behavior Driven Testing (BDT)Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)
Anand Bagmar2K views

Similar to Anand Bagmar - Behavior Driven Testing (BDT) in Agile

Build the Right Regression Suite with Behavior-Driven Testing by
Build the Right Regression Suite with Behavior-Driven TestingBuild the Right Regression Suite with Behavior-Driven Testing
Build the Right Regression Suite with Behavior-Driven TestingTechWell
835 views46 slides
Building the "right" regression suite using Behavior Driven Testing (BDT) by
Building the "right" regression suite using Behavior Driven Testing (BDT)Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)Anand Bagmar
2.5K views61 slides
Agile testing principles and practices - Anil Karade by
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeIndicThreads
9K views36 slides
​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT) by
​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)
​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)Thoughtworks
10.8K views83 slides
Build the "right" regression suite using Behavior Driven Testing (BDT) by
Build the "right" regression suite using Behavior Driven Testing (BDT)Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)Anand Bagmar
814 views83 slides
Flexing your Agile Muscle - Agile Technical Concepts Explained by
Flexing your Agile Muscle - Agile Technical Concepts ExplainedFlexing your Agile Muscle - Agile Technical Concepts Explained
Flexing your Agile Muscle - Agile Technical Concepts ExplainedSandy Mamoli
2.6K views64 slides

Similar to Anand Bagmar - Behavior Driven Testing (BDT) in Agile(20)

Build the Right Regression Suite with Behavior-Driven Testing by TechWell
Build the Right Regression Suite with Behavior-Driven TestingBuild the Right Regression Suite with Behavior-Driven Testing
Build the Right Regression Suite with Behavior-Driven Testing
TechWell835 views
Building the "right" regression suite using Behavior Driven Testing (BDT) by Anand Bagmar
Building the "right" regression suite using Behavior Driven Testing (BDT)Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)
Anand Bagmar2.5K views
Agile testing principles and practices - Anil Karade by IndicThreads
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil Karade
IndicThreads9K views
​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT) by Thoughtworks
​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)
​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)
Thoughtworks10.8K views
Build the "right" regression suite using Behavior Driven Testing (BDT) by Anand Bagmar
Build the "right" regression suite using Behavior Driven Testing (BDT)Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)
Anand Bagmar814 views
Flexing your Agile Muscle - Agile Technical Concepts Explained by Sandy Mamoli
Flexing your Agile Muscle - Agile Technical Concepts ExplainedFlexing your Agile Muscle - Agile Technical Concepts Explained
Flexing your Agile Muscle - Agile Technical Concepts Explained
Sandy Mamoli2.6K views
Agile Base Camp - Agile metrics by Serge Kovaleff
Agile Base Camp - Agile metricsAgile Base Camp - Agile metrics
Agile Base Camp - Agile metrics
Serge Kovaleff2K views
Getting your mobile test automation process in place - using Cucumber and Cal... by Niels Frydenholm
Getting your mobile test automation process in place - using Cucumber and Cal...Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...
Niels Frydenholm1.7K views
Agile Software Development in Practice - A Developer Perspective by Wee Witthawaskul
Agile Software Development in Practice - A Developer PerspectiveAgile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer Perspective
Wee Witthawaskul2.1K views
Agile Testing: The Role Of The Agile Tester by Declan Whelan
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile Tester
Declan Whelan47.3K views
Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed w... by TEST Huddle
Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed w...Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed w...
Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed w...
TEST Huddle1.3K views
Iakiv Kramarenko: “Quality Driven Development” by Dakiry
Iakiv Kramarenko: “Quality Driven Development” Iakiv Kramarenko: “Quality Driven Development”
Iakiv Kramarenko: “Quality Driven Development”
Dakiry46 views
Being Agile with Any Process Template in TFS 2012 by Angela Dugan
Being Agile with Any Process Template in TFS 2012Being Agile with Any Process Template in TFS 2012
Being Agile with Any Process Template in TFS 2012
Angela Dugan3.1K views
Life Has Not Been That Rosy With Agile : Rahul Sudame by oGuild .
Life Has Not Been That Rosy With Agile : Rahul SudameLife Has Not Been That Rosy With Agile : Rahul Sudame
Life Has Not Been That Rosy With Agile : Rahul Sudame
oGuild .3K views
Engaging IV&V Testing Services for Agile Projects by Ravi Kumar
Engaging IV&V Testing Services for Agile ProjectsEngaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile Projects
Ravi Kumar2.4K views
Implementing Test Automation in Agile Projects by Michael Palotas
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile Projects
Michael Palotas1.5K views

More from Anand Bagmar

Eradicate Flaky Tests by
Eradicate Flaky TestsEradicate Flaky Tests
Eradicate Flaky TestsAnand Bagmar
419 views66 slides
Automating the real-user scenarios across multi-apps, and multi-devices by
Automating the real-user scenarios across multi-apps, and multi-devicesAutomating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devicesAnand Bagmar
20 views42 slides
Visual Validation - The missing tip of the automation pyramid @GoT2022 by
Visual Validation - The missing tip of the automation pyramid @GoT2022Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022Anand Bagmar
31 views63 slides
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote by
Change Tyres In A Moving Car - Make Functional Test Automation Effective KeynoteChange Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective KeynoteAnand Bagmar
495 views104 slides
Rewrite vs Refactor (AgileIndia 2021) by
Rewrite vs Refactor (AgileIndia 2021)Rewrite vs Refactor (AgileIndia 2021)
Rewrite vs Refactor (AgileIndia 2021)Anand Bagmar
194 views109 slides
Next Generation Functional & Visual Testing powered by AI by
Next Generation Functional & Visual Testing powered by AINext Generation Functional & Visual Testing powered by AI
Next Generation Functional & Visual Testing powered by AIAnand Bagmar
388 views60 slides

More from Anand Bagmar(20)

Eradicate Flaky Tests by Anand Bagmar
Eradicate Flaky TestsEradicate Flaky Tests
Eradicate Flaky Tests
Anand Bagmar419 views
Automating the real-user scenarios across multi-apps, and multi-devices by Anand Bagmar
Automating the real-user scenarios across multi-apps, and multi-devicesAutomating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devices
Anand Bagmar20 views
Visual Validation - The missing tip of the automation pyramid @GoT2022 by Anand Bagmar
Visual Validation - The missing tip of the automation pyramid @GoT2022Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022
Anand Bagmar31 views
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote by Anand Bagmar
Change Tyres In A Moving Car - Make Functional Test Automation Effective KeynoteChange Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Anand Bagmar495 views
Rewrite vs Refactor (AgileIndia 2021) by Anand Bagmar
Rewrite vs Refactor (AgileIndia 2021)Rewrite vs Refactor (AgileIndia 2021)
Rewrite vs Refactor (AgileIndia 2021)
Anand Bagmar194 views
Next Generation Functional & Visual Testing powered by AI by Anand Bagmar
Next Generation Functional & Visual Testing powered by AINext Generation Functional & Visual Testing powered by AI
Next Generation Functional & Visual Testing powered by AI
Anand Bagmar388 views
The Best Test Automation Framework is... by Anand Bagmar
The Best Test Automation Framework is...The Best Test Automation Framework is...
The Best Test Automation Framework is...
Anand Bagmar444 views
Eradicate Flaky Tests - AppiumConf 2021 by Anand Bagmar
Eradicate Flaky Tests - AppiumConf 2021Eradicate Flaky Tests - AppiumConf 2021
Eradicate Flaky Tests - AppiumConf 2021
Anand Bagmar241 views
Getting started with Appium 2.0 by Anand Bagmar
Getting started with Appium 2.0Getting started with Appium 2.0
Getting started with Appium 2.0
Anand Bagmar771 views
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020 by Anand Bagmar
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Anand Bagmar1.1K views
Does your functional automation really add value? by Anand Bagmar
Does your functional automation really add value?Does your functional automation really add value?
Does your functional automation really add value?
Anand Bagmar387 views
Measuring Coverage From E2E Tests by Anand Bagmar
Measuring Coverage From E2E TestsMeasuring Coverage From E2E Tests
Measuring Coverage From E2E Tests
Anand Bagmar757 views
Getting started with Visual Testing using Applitools - @TPC, Feb2020 by Anand Bagmar
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
Anand Bagmar221 views
Visual validation - The missing tip of the automation pyramid @ QA Symposium by Anand Bagmar
Visual validation - The missing tip of the automation pyramid @ QA SymposiumVisual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA Symposium
Anand Bagmar262 views
Collaboration - A Taboo! by Anand Bagmar
Collaboration - A Taboo!Collaboration - A Taboo!
Collaboration - A Taboo!
Anand Bagmar4.8K views
Visual Validation - The Missing Tip of the Automation Pyramid by Anand Bagmar
Visual Validation - The Missing Tip of the Automation PyramidVisual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation Pyramid
Anand Bagmar5.7K views
Measuring Consumer Quality - The Missing Feedback Loop by Anand Bagmar
Measuring Consumer Quality - The Missing Feedback LoopMeasuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback Loop
Anand Bagmar863 views
What is Agile Testing? How does Automation help? by Anand Bagmar
What is Agile Testing? How does Automation help?What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?
Anand Bagmar3.7K views
The What, Why and How of Analytics Testing by Anand Bagmar
The What, Why and How of Analytics TestingThe What, Why and How of Analytics Testing
The What, Why and How of Analytics Testing
Anand Bagmar5.3K views

Recently uploaded

Data Integrity for Banking and Financial Services by
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial ServicesPrecisely
29 views26 slides
2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe by
2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe
2024: A Travel Odyssey The Role of Generative AI in the Tourism UniverseSimone Puorto
13 views61 slides
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...Jasper Oosterveld
27 views49 slides
Scaling Knowledge Graph Architectures with AI by
Scaling Knowledge Graph Architectures with AIScaling Knowledge Graph Architectures with AI
Scaling Knowledge Graph Architectures with AIEnterprise Knowledge
50 views15 slides
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...James Anderson
126 views32 slides
HTTP headers that make your website go faster - devs.gent November 2023 by
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023Thijs Feryn
26 views151 slides

Recently uploaded(20)

Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely29 views
2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe by Simone Puorto
2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe
2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe
Simone Puorto13 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson126 views
HTTP headers that make your website go faster - devs.gent November 2023 by Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn26 views
"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays33 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc72 views
Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2218 views
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10345 views
The Forbidden VPN Secrets.pdf by Mariam Shaba
The Forbidden VPN Secrets.pdfThe Forbidden VPN Secrets.pdf
The Forbidden VPN Secrets.pdf
Mariam Shaba20 views
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab23 views
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf by Dr. Jimmy Schwarzkopf
STKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdfSTKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdf
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf

Anand Bagmar - Behavior Driven Testing (BDT) in Agile

  • 1. Behavior  Driven  Tes.ng  (BDT)     in     Agile  
  • 2. What  is  Tes*ng  on  Agile  projects?  
  • 3. Story   planning  and   wri/ng   Showcase   IPM   Automa/on   (execu/on,   QA  kickoff   maintenance)   Agile  Tes.ng     in  an  Itera.on Manual  +   Exploratory   Story  kickoff   Tes/ng   BA  /  QA   Test  Scenario   Volleyball   Wri/ng   Implement   Test   Automa/on  
  • 4. A  prac*ce  that  makes  Agile  Teams     successful?   Test  Automa.on  
  • 5. A  prac*ce  that  makes  Agile  Teams   unsuccessful?   Test  Automa.on  
  • 6. The  Test  Pyramid   •  “Succeeding  with  Agile”  –  Mike  Cohn   •  Mar*n  Fowler  –  Test  Pyramid   –  hCp://mar*nfowler.com/bliki/TestPyramid.html  
  • 7. Ideal  Test  Pyramid   Func/onal  Tests  (GUI)   •  Developers  &  /  QA  team   API  Tests   •  Developers  &  /  QA  team   Integra/on  tests   •  Developers   Component  tests   •  Developers   Unit  Tests   •  Developers   Cost  /  Effort   Time  
  • 9. Test  Pyramid  reality   Development  team   Test  Pyramid   QA  team   Test  Pyramid  
  • 10. Test  Pyramid  –  An*  PaCern  
  • 11. Evolu*on  of  Test  Frameworks   Behavior   Driven   Development   (BDD)   Op/mized   scripts   Record  &   Playback     Core   Framework  
  • 13. RED   REFACTOR   GREEN  
  • 15. Expected  Func/onality:     The  customer  should  be  able  to  withdraw   money  from  his  account  via  an  ATM  machine  
  • 16. BDD  Example:   Given  the  account  has  balance  of  5000   When  the  customer  requests  1000   Then  the  account  is  debited  by  1000  
  • 17. BDT  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  
  • 18. New  Expected  Func/onality:     The  customer  should  be  able  to  withdraw   money  from  his  account  only  if  his  card  is   valid  
  • 19. BDT  Example  -­‐  updated:   Given  the  account  is  in  credit   And  the  card  is  valid   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  
  • 22. 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. Search   Contact   Search     Results   Informa/on  
  • 27. Test  specifica*on  styles   •  Impera*ve     •  Declara*ve  
  • 28. 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     ...  
  • 29. …   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”  buCon     Then  I  should  be  on  the  next  page    
  • 30. Declara*ve  style   Given  I  am  a  guest  user     When  I  search  for  flight  op*ons  for  a  “one-­‐way”  trip   for  “1”  “Adult”  from  “Delhi”  to  “Bangalore”   And  I  select  the  “first”  flight   And  I  enter  “valid”  contact  details  for  “traveller1”     Then  I  am  able  to  Save  and  Con*nue  
  • 31. Func/onal  Tests  (GUI)   •  Developers  &  /  QA  team   API  Tests   •  Developers  &  /  QA  team   Integra/on  tests   •  Developers   Component  tests   •  Developers   Unit  Tests   •  Developers  
  • 32. What  does  BDT  do  for  me?  
  • 33. What  BDT  does  NOT  do  for  me?   •  Replace  tes*ng  granular  func*onality     –  ONLY  when  it  has  just  been  developed  
  • 34. Steps  to  follow  to  implement  BDT  
  • 39. Current  state   Tests  running  on  Hudson  /  Jenkins   Since  1st  test  was  automated   Feature  files   33   Scenarios   65   Smoke  tests  execu*on  *me   15  minutes   Regression  tests  execu*on  *me   45  minutes   Test  case  repository  (manual  +   Cucumber  .feature  files  with   automated)   appropriate  tagging   Project  Management  tool   Mingle  
  • 40. Tools  to  enable  BDD  /  BDT   •  Cucumber   •  JBehave   •  SpecFlow   •  Twist  
  • 41. Anand.Bagmar@thoughtworks.com   abagmar@gmail.com   ThoughtWorks®