Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Behavior	  Driven	  Tes.ng	  (BDT)	  	                  in	  	                 Agile	  
What	  is	  Tes*ng	  on	  Agile	  projects?	  
Story	                                        planning	  and	                                           wri/ng	           ...
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	      –  ...
Ideal	  Test	  Pyramid	                       Func/onal	  Tests	  (GUI)	                       •  Developers	  &	  /	  QA	...
Test	  Pyramid	  reality	  Development	  team	  Test	  Pyramid	                 QA	  team	                                ...
Test	  Pyramid	  –	  An*	  PaCern	  
Evolu*on	  of	  Test	  Frameworks	                  Behavior	                   Driven	                Development	       ...
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	  a...
BDD	  Example:	  Given	  the	  account	  has	  balance	  of	  5000	  When	  the	  customer	  requests	  1000	  Then	  the	...
BDT	  Example:	  Given	  the	  account	  is	  in	  credit	  And	  the	  dispenser	  contains	  cash	  	  When	  the	  cust...
New	  Expected	  Func/onality:	  	  The	  customer	  should	  be	  able	  to	  withdraw	  money	  from	  his	  account	  o...
BDT	  Example	  -­‐	  updated:	  Given	  the	  account	  is	  in	  credit	  And	  the	  card	  is	  valid	  And	  the	  di...
Case	  Study	  
Requirements	  •  Guest	  User	  is	  able	  to	  search	  for	  a	  flight	  for	  a	     single	  traveller	  •  Ability	...
Search	        Contact	  Search	  	                   Results	     Informa/on	  
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”	  tri...
…	  When	  I	  select	  the	  “first”	  op*on	  Then	  I	  am	  on	  the	  Contact	  Informa*on	  page	  	  When	  I	  ente...
Declara*ve	  style	  Given	  I	  am	  a	  guest	  user	  	  When	  I	  search	  for	  flight	  op*ons	  for	  a	  “one-­‐wa...
Func/onal	  Tests	  (GUI)	  •  Developers	  &	  /	  QA	  team	  API	  Tests	  •  Developers	  &	  /	  QA	  team	  Integra/...
What	  does	  BDT	  do	  for	  me?	  
What	  BDT	  does	  NOT	  do	  for	  me?	  •  Replace	  tes*ng	  granular	  func*onality	  	     –  ONLY	  when	  it	  has...
Steps	  to	  follow	  to	  implement	  BDT	  
Current	  state	  Tests	  running	  on	  Hudson	  /	  Jenkins	     Since	  1st	  test	  was	  automated	  Feature	  files	 ...
Tools	  to	  enable	  BDD	  /	  BDT	  •    Cucumber	  •    JBehave	  •    SpecFlow	  •    Twist	  
Anand.Bagmar@thoughtworks.com	        abagmar@gmail.com	              ThoughtWorks®	  
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
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
Prochain SlideShare
Chargement dans…5
×

12

Partager

Télécharger pour lire hors ligne

Anand Bagmar - Behavior Driven Testing (BDT) in Agile

Télécharger pour lire hors ligne

I delivered this talk in SiliconIndia's SoftTec 2012 on 14th July 2012. I introduce Behavior Driven Testing (BDT) with a couple of examples, the different ways of writing the tests in Imperative and Declarative style, the value proposition of BDT, and how BDT can help you build a very good safety net using Test Automation suite.

Anand Bagmar - Behavior Driven Testing (BDT) in Agile

  1. 1. Behavior  Driven  Tes.ng  (BDT)     in     Agile  
  2. 2. What  is  Tes*ng  on  Agile  projects?  
  3. 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. 4. A  prac*ce  that  makes  Agile  Teams     successful?   Test  Automa.on  
  5. 5. A  prac*ce  that  makes  Agile  Teams   unsuccessful?   Test  Automa.on  
  6. 6. The  Test  Pyramid  •  “Succeeding  with  Agile”  –  Mike  Cohn  •  Mar*n  Fowler  –  Test  Pyramid   –  hCp://mar*nfowler.com/bliki/TestPyramid.html  
  7. 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  
  8. 8. Test  Pyramid  reality  Development  team  Test  Pyramid   QA  team   Test  Pyramid  
  9. 9. Test  Pyramid  –  An*  PaCern  
  10. 10. Evolu*on  of  Test  Frameworks   Behavior   Driven   Development   (BDD)   Op/mized   scripts   Record  &   Playback     Core   Framework  
  11. 11. Behavior  Driven  Development     (BDD)  
  12. 12. RED  REFACTOR   GREEN  
  13. 13. Behavior  Driven  Tes*ng   (BDT)  
  14. 14. Expected  Func/onality:    The  customer  should  be  able  to  withdraw  money  from  his  account  via  an  ATM  machine  
  15. 15. BDD  Example:  Given  the  account  has  balance  of  5000  When  the  customer  requests  1000  Then  the  account  is  debited  by  1000  
  16. 16. 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  
  17. 17. New  Expected  Func/onality:    The  customer  should  be  able  to  withdraw  money  from  his  account  only  if  his  card  is  valid  
  18. 18. 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  
  19. 19. Case  Study  
  20. 20. 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  
  21. 21. Search   Contact  Search     Results   Informa/on  
  22. 22. Contact  Details  
  23. 23. Test  specifica*on  styles  •  Impera*ve    •  Declara*ve  
  24. 24. 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    ...  
  25. 25. …  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    
  26. 26. 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  
  27. 27. Func/onal  Tests  (GUI)  •  Developers  &  /  QA  team  API  Tests  •  Developers  &  /  QA  team  Integra/on  tests  •  Developers  Component  tests  •  Developers  Unit  Tests  •  Developers  
  28. 28. What  does  BDT  do  for  me?  
  29. 29. What  BDT  does  NOT  do  for  me?  •  Replace  tes*ng  granular  func*onality     –  ONLY  when  it  has  just  been  developed  
  30. 30. Steps  to  follow  to  implement  BDT  
  31. 31. 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  
  32. 32. Tools  to  enable  BDD  /  BDT  •  Cucumber  •  JBehave  •  SpecFlow  •  Twist  
  33. 33. Anand.Bagmar@thoughtworks.com   abagmar@gmail.com   ThoughtWorks®  
  • teckpootan

    Feb. 1, 2017
  • bogdantataranu1

    Nov. 8, 2016
  • KevinLao3

    Sep. 28, 2016
  • qytera

    Feb. 20, 2016
  • eddiestone

    Dec. 6, 2015
  • HuaiNing

    Oct. 2, 2015
  • meddah

    Sep. 29, 2015
  • SamuelPerez3

    Sep. 21, 2015
  • somanianands

    May. 27, 2013
  • powerirs

    May. 3, 2013
  • premgr06

    Jul. 31, 2012
  • eeshan5aragon

    Jul. 16, 2012

I delivered this talk in SiliconIndia's SoftTec 2012 on 14th July 2012. I introduce Behavior Driven Testing (BDT) with a couple of examples, the different ways of writing the tests in Imperative and Declarative style, the value proposition of BDT, and how BDT can help you build a very good safety net using Test Automation suite.

Vues

Nombre de vues

6 718

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

130

Actions

Téléchargements

167

Partages

0

Commentaires

0

Mentions J'aime

12

×