Its testing-jim-but-not-as-we-know-it-devoxx

4,857 views

Published on

Behaviour Driven Development is an increasingly popular Agile development practice that turns testing on its head. It turns automated acceptance testing from a verification activity, done once the development work is done, to a specification activity, with tester involvement starting from the word go.
In this talk, we will look at how Behaviour Driven Development radically changes the traditional tester role in Agile projects, and empowers them to contribute much more to the successful outcomes of the project. We will see how collaboratively written acceptance criteria help reduce assumptions and errors in the early phases of the project, and help ensure that the features being built are both well understood and valuable to the business. We will look at ways to write more effective, easier to maintain automated acceptance tests. And we will see how automated and manual acceptance test reporting can be combined to provide valuable progress and release preparation reporting.

Published in: Technology, Business

Its testing-jim-but-not-as-we-know-it-devoxx

  1. 1. @YourTwitterHandle#YourSessionHashtag It’s testing, Jim, but not as we know it John Ferguson Smart @wakaleo https://java.net/blogs/johnsmart http://www.wakaleo.com
  2. 2. @wakaleo#bddinactionuk It’s testing, Jim, but not as we know it John Ferguson Smart Consultant   Trainer   Mentor   Author   Speaker   Coder
  3. 3. @wakaleo#bddinactionuk It’s testing, Jim, but not as we know it John Ferguson Smart Consultant   Trainer   Mentor   Author   Speaker   Coder
  4. 4. @wakaleo#bddinactionuk It’s testing, Jim, but not as we know it John Ferguson Smart Consultant   Trainer   Mentor   Author   Speaker   Coder
  5. 5. @wakaleo#bddinactionuk It’s testing, Jim, but not as we know it John Ferguson Smart Consultant   Trainer   Mentor   Author   Speaker   Coder
  6. 6. @wakaleo#bddinactionuk Behaviour Driven Development
  7. 7. @wakaleo#bddinactionuk Behaviour Driven Development Using examples
  8. 8. @wakaleo#bddinactionuk Behaviour Driven Development Using examples a shared understanding
  9. 9. @wakaleo#bddinactionuk Behaviour Driven Development Using examples a shared understanding surface uncertainty
  10. 10. @wakaleo#bddinactionuk Behaviour Driven Development Using examples a shared understanding surface uncertainty software that matters
  11. 11. @wakaleo#bddinactionuk Behaviour Driven Development BDD
  12. 12. @wakaleo#bddinactionuk Behaviour Driven Development BDDCollaboration
  13. 13. @wakaleo#bddinactionuk Behaviour Driven Development BDD Hunting out value Collaboration
  14. 14. @wakaleo#bddinactionuk Behaviour Driven Development BDD Hunting out value Collaboration Building the right software
  15. 15. @wakaleo#bddinactionuk Behaviour Driven Development BDD Hunting out value Automated Acceptance Criteria Collaboration Building the right software
  16. 16. @wakaleo#bddinactionuk Behaviour Driven Development BDD Hunting out value Automated Acceptance Criteria API and code design Collaboration Building the right software
  17. 17. @wakaleo#bddinactionuk Behaviour Driven Development BDD Hunting out value Automated Acceptance Criteria API and code design Collaboration Building the software right Building the right software
  18. 18. @wakaleo#bddinactionuk Behaviour Driven Development BDD Hunting out value Automated Acceptance Criteria API and code design Collaboration Building the software right Building the right software Living Documentation
  19. 19. @wakaleo#bddinactionuk The business owner tells the business analyst what he wants 1 2 The business analyst writes a requirements document 3 The developer translates the requirements into software 4 The tester translates the requirements into test cases 5 The technical writer translates the software into functional and technical documentation A traditional development process BDD in a nutshell
  20. 20. @wakaleo#bddinactionuk The business owner tells the business analyst what he wants 1 2 The business analyst writes a requirements document 3 The developer translates the requirements into software 4 The tester translates the requirements into test cases 5 The technical writer translates the software into functional and technical documentation A traditional development process BDD in a nutshell
  21. 21. @wakaleo#bddinactionuk The business owner tells the business analyst what he wants 1 2 The business analyst writes a requirements document 3 The developer translates the requirements into software 4 The tester translates the requirements into test cases 5 The technical writer translates the software into functional and technical documentation A traditional development process BDD in a nutshell
  22. 22. @wakaleo#bddinactionuk The business owner tells the business analyst what he wants 1 2 The business analyst writes a requirements document 3 The developer translates the requirements into software 4 The tester translates the requirements into test cases 5 The technical writer translates the software into functional and technical documentation A traditional development process BDD in a nutshell
  23. 23. @wakaleo#bddinactionuk The business owner tells the business analyst what he wants 1 2 The business analyst writes a requirements document 3 The developer translates the requirements into software 4 The tester translates the requirements into test cases 5 The technical writer translates the software into functional and technical documentation A traditional development process BDD in a nutshell
  24. 24. @wakaleo#bddinactionuk The business owner tells the business analyst what he wants 1 2 The business analyst writes a requirements document 3 The developer translates the requirements into software 4 The tester translates the requirements into test cases 5 The technical writer translates the software into functional and technical documentation A traditional development process BDD in a nutshell
  25. 25. @wakaleo#bddinactionuk The business owner tells the business analyst what he wants 1 2 The business analyst writes a requirements document 3 The developer translates the requirements into software 4 The tester translates the requirements into test cases 5 The technical writer translates the software into functional and technical documentation A traditional development process BDD in a nutshell
  26. 26. @wakaleo#bddinactionuk The business owner tells the business analyst what he wants 1 2 The business analyst writes a requirements document 3 The developer translates the requirements into software 4 The tester translates the requirements into test cases 5 The technical writer translates the software into functional and technical documentation A traditional development process BDD in a nutshell
  27. 27. @wakaleo#bddinactionuk The business owner tells the business analyst what he wants 1 2 The business analyst writes a requirements document 3 The developer translates the requirements into software 4 The tester translates the requirements into test cases 5 The technical writer translates the software into functional and technical documentation A traditional development process BDD in a nutshell
  28. 28. @wakaleo#bddinactionuk The business owner tells the business analyst what he wants 1 2 The business analyst writes a requirements document 3 The developer translates the requirements into software 4 The tester translates the requirements into test cases 5 The technical writer translates the software into functional and technical documentation A traditional development process BDD in a nutshell
  29. 29. @wakaleo#bddinactionuk The business owner tells the business analyst what he wants 1 2 The business analyst writes a requirements document 3 The developer translates the requirements into software 4 The tester translates the requirements into test cases 5 The technical writer translates the software into functional and technical documentation A traditional development process BDD in a nutshell
  30. 30. @wakaleo#bddinactionuk The business owner and the business analyst have a conversation about what he needs. 1 2 3 4 The tester uses these scenarios as the basis for her tests 5 The automated tests provide feedback on progress and help document the application The business analyst, the developer and the tester elaborate the requirements together. The scenarios guide the developer and act as automated tests They define requirements as structured, English- language format "scenarios" A BDD development process
  31. 31. @wakaleo#bddinactionuk The business owner and the business analyst have a conversation about what he needs. 1 2 3 4 The tester uses these scenarios as the basis for her tests 5 The automated tests provide feedback on progress and help document the application The business analyst, the developer and the tester elaborate the requirements together. The scenarios guide the developer and act as automated tests They define requirements as structured, English- language format "scenarios" A BDD development process
  32. 32. @wakaleo#bddinactionuk The business owner and the business analyst have a conversation about what he needs. 1 2 3 4 The tester uses these scenarios as the basis for her tests 5 The automated tests provide feedback on progress and help document the application The business analyst, the developer and the tester elaborate the requirements together. The scenarios guide the developer and act as automated tests They define requirements as structured, English- language format "scenarios" A BDD development process
  33. 33. @wakaleo#bddinactionuk The business owner and the business analyst have a conversation about what he needs. 1 2 3 4 The tester uses these scenarios as the basis for her tests 5 The automated tests provide feedback on progress and help document the application The business analyst, the developer and the tester elaborate the requirements together. The scenarios guide the developer and act as automated tests They define requirements as structured, English- language format "scenarios" A BDD development process
  34. 34. @wakaleo#bddinactionuk The business owner and the business analyst have a conversation about what he needs. 1 2 3 4 The tester uses these scenarios as the basis for her tests 5 The automated tests provide feedback on progress and help document the application The business analyst, the developer and the tester elaborate the requirements together. The scenarios guide the developer and act as automated tests They define requirements as structured, English- language format "scenarios" A BDD development process
  35. 35. @wakaleo#bddinactionuk The business owner and the business analyst have a conversation about what he needs. 1 2 3 4 The tester uses these scenarios as the basis for her tests 5 The automated tests provide feedback on progress and help document the application The business analyst, the developer and the tester elaborate the requirements together. The scenarios guide the developer and act as automated tests They define requirements as structured, English- language format "scenarios" A BDD development process
  36. 36. @wakaleo#bddinactionuk The business owner and the business analyst have a conversation about what he needs. 1 2 3 4 The tester uses these scenarios as the basis for her tests 5 The automated tests provide feedback on progress and help document the application The business analyst, the developer and the tester elaborate the requirements together. The scenarios guide the developer and act as automated tests They define requirements as structured, English- language format "scenarios" A BDD development process •Specifica8ons  are  elaborated  collabora8vely   •Specifica8ons  use  a  common  language   •Executable  specifica8ons  provide  fast  feedback
  37. 37. @wakaleo#bddinactionuk Building software that matters Building the thing right Building the right thing What How Misaligned requirements Poor craftsmanship
  38. 38. @wakaleo#bddinactionuk Building software that matters Building the thing right Building the right thing What How Misaligned requirements Poor craftsmanship Solves the wrong problem well
  39. 39. @wakaleo#bddinactionuk Building software that matters Building the thing right Building the right thing What How Misaligned requirements Poor craftsmanship Solves the wrong problem well Solves the right problem poorly
  40. 40. @wakaleo#bddinactionuk Building software that matters Building the thing right Building the right thing What How Misaligned requirements Poor craftsmanship Buggy and useless Solves the wrong problem well Solves the right problem poorly
  41. 41. @wakaleo#bddinactionuk Building software that matters Building the thing right Building the right thing What How Misaligned requirements Poor craftsmanship Buggy and useless Slow to change Solves the wrong problem well Solves the right problem poorly
  42. 42. @wakaleo#bddinactionuk Building software that matters Building the thing right Building the right thing What How Misaligned requirements Poor craftsmanship Buggy and useless Hard to maintain Slow to change Solves the wrong problem well Solves the right problem poorly
  43. 43. @wakaleo#bddinactionuk Building software that matters Building the thing right Building the right thing What How Misaligned requirements Poor craftsmanship Buggy and useless Hard to maintain Slow to change Does what the business needs Reliable Easy to maintain Solves the wrong problem well Solves the right problem poorly
  44. 44. “Show  me  the  money”
  45. 45. @wakaleo#bddinactionuk Building software that matters Business Goal Business Goal Business Goal We  start  with  a  business  goal
  46. 46. @wakaleo#bddinactionuk Building software that matters Business Goal Business Goal Business Goal We  start  with  a  business  goal “Increase  *cket  sales  by  5%  over  the  next  year   by  encouraging  travelers  to  fly  with  Flying  High   rather  than  with  a  rival  company.”
  47. 47. @wakaleo#bddinactionuk Building software that matters Business Goal Business Goal Business Goal What  features  will  enable  us  to  deliver  this  goal? FeaturesFeaturesFeatures
  48. 48. @wakaleo#bddinactionuk Building software that matters Business Goal Business Goal Business Goal What  features  will  enable  us  to  deliver  this  goal? FeaturesFeaturesFeatures Earn  Frequent  Flyer  points  from  flights
  49. 49. @wakaleo#bddinactionuk Building software that matters Business Goal Business Goal Business Goal What  features  will  enable  us  to  deliver  this  goal? FeaturesFeaturesFeatures Earn  Frequent  Flyer  points  from  flights Earn  Frequent  Flyer  points  from  purchases
  50. 50. @wakaleo#bddinactionuk Building software that matters Business Goal Business Goal Business Goal What  features  will  enable  us  to  deliver  this  goal? FeaturesFeaturesFeatures Earn  Frequent  Flyer  points  from  flights Earn  Frequent  Flyer  points  from  purchases View  Frequent  Flyer  account  balance  online
  51. 51. @wakaleo#bddinactionuk Building software that matters Business Goal Business Goal Business Goal FeaturesFeaturesFeatures We  use  conversa8ons  around  examples  to  build  up  our   understanding  of  these  features   FeaturesFeaturesExamples
  52. 52. @wakaleo#bddinactionuk Building software that matters Business Goal Business Goal Business Goal FeaturesFeaturesFeatures We  use  conversa8ons  around  examples  to  build  up  our   understanding  of  these  features   FeaturesFeaturesExamples “A  new  Frequent  Flyer  member   starts  off  with  Bronze  status”
  53. 53. @wakaleo#bddinactionuk Building software that matters Business Goal Business Goal Business Goal FeaturesFeaturesFeatures We  use  conversa8ons  around  examples  to  build  up  our   understanding  of  these  features   FeaturesFeaturesExamples “A  new  Frequent  Flyer  member   starts  off  with  Bronze  status” “If  she  earns  300  points,  she  becomes  a   Silver  Frequent  Flyer  member”
  54. 54. @wakaleo#bddinactionuk Increase ticket sales revenue by 5% Frequent Flyer members Call centre staff Buy more tickets Encourage friends to join Spend less time on phone sales Purchase flights with redeemed miles Purchase other goods with redeemed miles Facebook and Twitter integration Online sales Why Who How What Building software that matters Techniques  like  Impact  Mapping  can  help  us   discuss  what  features  are  worth  building
  55. 55. @wakaleo#bddinactionuk BDD - you don’t know what you don’t know Understanding of what needs to be delivered Time
  56. 56. @wakaleo#bddinactionuk BDD - you don’t know what you don’t know Understanding of what needs to be delivered Time Requirements phase done Analysis Phase done
  57. 57. @wakaleo#bddinactionuk BDD - you don’t know what you don’t know Understanding of what needs to be delivered Time Requirements phase done Analysis Phase done
  58. 58. @wakaleo#bddinactionuk BDD - you don’t know what you don’t know Understanding of what needs to be delivered Time Requirements phase done Analysis Phase done •Our  ignorance  decreases  over  8me   •It  does  not  decrease  at  a  linear  rate   •It  does  not  always  decrease  in  a  predictable  way
  59. 59. @wakaleo#bddinactionuk BDD - building a shared understanding
  60. 60. @wakaleo#bddinactionuk BDD - building a shared understanding “Having  the  conversa/on     is  more  important  than     recording  the  conversa/on   is  more  important  than     automa/ng  the  conversa/on”   -­‐  Liz  Keogh
  61. 61. Building  a  shared  understanding The  essence  of  BDD
  62. 62. @wakaleo#bddinactionuk BDD - building a shared understanding Story bug  reports Working   code boring   manual   tes*ng WASTE BA Developer TesterMany  teams  build  features  like  this
  63. 63. @wakaleo#bddinactionuk BDD - building a shared understanding A  liKle  collabora8on  goes  a  long  way Story
  64. 64. @wakaleo#bddinactionuk BDD - building a shared understanding A  liKle  collabora8on  goes  a  long  way Story
  65. 65. @wakaleo#bddinactionuk BDD - building a shared understanding A  liKle  collabora8on  goes  a  long  way Story
  66. 66. @wakaleo#bddinactionuk BDD - building a shared understanding A  liKle  collabora8on  goes  a  long  way Story
  67. 67. @wakaleo#bddinactionuk BDD - building a shared understanding A  liKle  collabora8on  goes  a  long  way Story Examples
  68. 68. @wakaleo#bddinactionuk BDD - building a shared understanding A  liKle  collabora8on  goes  a  long  way Story Examples Automated   acceptance   criteria
  69. 69. @wakaleo#bddinactionuk BDD - building a shared understanding A  liKle  collabora8on  goes  a  long  way Shared   understanding Story Examples Automated   acceptance   criteria
  70. 70. @wakaleo#bddinactionuk BDD - building a shared understanding A  liKle  collabora8on  goes  a  long  way Working  code     and     Working  Automated   Acceptance  Tests Shared   understanding Story Examples Automated   acceptance   criteria
  71. 71. @wakaleo#bddinactionuk BDD - building a shared understanding A  liKle  collabora8on  goes  a  long  way Working  code     and     Working  Automated   Acceptance  Tests Exploratory  tes*ng,   usability  tes*ng... Shared   understanding Story Examples Automated   acceptance   criteria
  72. 72. @wakaleo#bddinactionuk BDD - building a shared understanding BA  and/or  product  owner Tester Developer Automatable   Acceptance   Criteria Shared   understanding
  73. 73. @wakaleo#bddinactionuk BDD - building a shared understanding BA  and/or  product  owner Tester Developer Automatable   Acceptance   Criteria Shared   understanding “The  Three  Amigos”
  74. 74. @wakaleo#bddinactionuk BDD - building a shared understanding
  75. 75. @wakaleo#bddinactionuk BDD - building a shared understanding “The  Three  Amigos”
  76. 76. @wakaleo#bddinactionuk BDD - building a shared understanding “The  Three  Amigos”
  77. 77. @wakaleo#bddinactionuk BDD - building a shared understanding “The  Three  Amigos”
  78. 78. @wakaleo#bddinactionuk BDD - building a shared understanding “The  Three  Amigos”
  79. 79. @wakaleo#bddinactionuk BDD - building a shared understanding “The  Three  Amigos”
  80. 80. @wakaleo#bddinactionuk Discovering requirements through examples
  81. 81. @wakaleo#bddinactionuk Discovering requirements through examples “A  new  Frequent  Flyer  member   starts  off  with  Bronze  status”
  82. 82. @wakaleo#bddinactionuk Discovering requirements through examples “A  new  Frequent  Flyer  member   starts  off  with  Bronze  status” “If  she  earns  300  points,  she  becomes  a   Silver  Frequent  Flyer  member”
  83. 83. @wakaleo#bddinactionuk Discovering requirements through examples “A  new  Frequent  Flyer  member   starts  off  with  Bronze  status” “If  she  earns  300  points,  she  becomes  a   Silver  Frequent  Flyer  member” “If  I  ask  for  the  details  about  the  flight  FH-­‐102,  I  should  see  that   it  is  a  Sydney  to  Hong  Kong  flight  that  leaves  at  11:55pm  ”
  84. 84. @wakaleo#bddinactionuk Discovering requirements through examples “A  new  Frequent  Flyer  member   starts  off  with  Bronze  status” “If  she  earns  300  points,  she  becomes  a   Silver  Frequent  Flyer  member” “If  I  ask  for  the  details  about  the  flight  FH-­‐102,  I  should  see  that   it  is  a  Sydney  to  Hong  Kong  flight  that  leaves  at  11:55pm  ” •Explore  requirements   •Discover  what  we  don’t  know   •Clarify  ambigui8es   •Iden8fy  assump8ons  and  misunderstandings  
  85. 85. @wakaleo#bddinactionuk Discovering requirements through examples We  express  the  examples  in  a  structured   format  using  simple  English  phrases
  86. 86. @wakaleo#bddinactionuk Discovering requirements through examples We  express  the  examples  in  a  structured   format  using  simple  English  phrases
  87. 87. @wakaleo#bddinactionuk Discovering requirements through examples We  express  the  examples  in  a  structured   format  using  simple  English  phrases
  88. 88. @wakaleo#bddinactionuk Discovering requirements through examples We  express  the  examples  in  a  structured   format  using  simple  English  phrases
  89. 89. @wakaleo#bddinactionuk Automated acceptance criteria “It is fun to have fun But you have to know how” *Dr Seuss, “The Cat in the Hat” *
  90. 90. @wakaleo#bddinactionuk Automated acceptance criteria
  91. 91. @wakaleo#bddinactionuk Automated acceptance criteria
  92. 92. @wakaleo#bddinactionuk Business  Rules Business  Flow Page/Component   interac*ons Page/ Component/ Service  API Write testing APIs, not test scripts
  93. 93. @wakaleo#bddinactionuk Business  Rules Business  Flow Page/Component   interac*ons Page/ Component/ Service  API Write testing APIs, not test scripts
  94. 94. @wakaleo#bddinactionuk Business  Rules Business  Flow Page/Component   interac*ons Page/ Component/ Service  API Write testing APIs, not test scripts
  95. 95. @wakaleo#bddinactionuk Business  Rules Business  Flow Page/Component   interac*ons Page/ Component/ Service  API Write testing APIs, not test scripts
  96. 96. @wakaleo#bddinactionuk Business  Rules Business  Flow Page/Component   interac*ons Page/ Component/ Service  API Write testing APIs, not test scripts
  97. 97. @wakaleo#bddinactionuk Work together!
  98. 98. @wakaleo#bddinactionuk Work together! •Discuss  tes8ng  strategies  in  the  “Three  Amigos”  sessions   •Factor  testability  into  the  design   •Developers  and  testers  pair  to  implement  the  automated  tests  
  99. 99. @wakaleo#bddinactionuk Focus on business value
  100. 100. @wakaleo#bddinactionuk Focus on business value
  101. 101. @wakaleo#bddinactionuk Focus on business value
  102. 102. @wakaleo#bddinactionuk Living Documentation - completing the cycle
  103. 103. @wakaleo#bddinactionuk Living Documentation - completing the cycle
  104. 104. @wakaleo#bddinactionuk Living Documentation - completing the cycle Illustrates  delivered  features
  105. 105. @wakaleo#bddinactionuk Living Documentation - completing the cycle A  star*ng  point  for  manual  tests Illustrates  delivered  features
  106. 106. @wakaleo#bddinactionuk Living Documentation - completing the cycle A  star*ng  point  for  manual  tests Illustrates  delivered  features Progress  repor*ng
  107. 107. @wakaleo#bddinactionuk Living Documentation - completing the cycle A  star*ng  point  for  manual  tests Illustrates  delivered  features Func*onal  and  technical  documenta*on Progress  repor*ng
  108. 108. @wakaleo#bddinactionuk Living Documentation - completing the cycle Living  documenta8on  gives  an  up-­‐to-­‐date   overview  of  the  project  status
  109. 109. @wakaleo#bddinactionuk Living Documentation - completing the cycle Test  reports  tell  us…
  110. 110. @wakaleo#bddinactionuk Living Documentation - completing the cycle Test  reports  tell  us… How  many   tests  passed
  111. 111. @wakaleo#bddinactionuk Living Documentation - completing the cycle Test  reports  tell  us… How  many  failed How  many   tests  passed
  112. 112. @wakaleo#bddinactionuk Living Documentation - completing the cycle Test  reports  tell  us… How  many  failed How  many   tests  passed How  many  weren’t  run
  113. 113. @wakaleo#bddinactionuk Living Documentation - completing the cycle Test  reports  tell  us…
  114. 114. @wakaleo#bddinactionuk Living Documentation - completing the cycle Test  reports  tell  us… What  tests  exist  for  a   given  feature
  115. 115. @wakaleo#bddinactionuk Living Documentation - completing the cycle Test  reports  tell  us… What  tests  exist  for  a   given  feature How  stable  the  feature  is
  116. 116. @wakaleo#bddinactionuk Living Documentation - completing the cycle Test  reports  tell  us…
  117. 117. @wakaleo#bddinactionuk Living Documentation - completing the cycle Test  reports  tell  us… How  a  feature  was   tested
  118. 118. @wakaleo#bddinactionuk Living Documentation - completing the cycle Test  reports  tell  us…
  119. 119. @wakaleo#bddinactionuk Living Documentation - completing the cycle Test  reports  tell  us… What  a  feature  looks  like
  120. 120. @wakaleo#bddinactionuk Living Documentation - completing the cycle Test  reports  tell  us… What  a  feature  looks  like
  121. 121. @wakaleo#bddinactionuk Living Documentation - completing the cycle Test  reports  tell  us… What  a  feature  looks  like
  122. 122. @wakaleo#bddinactionuk Living Documentation - DIY!
  123. 123. @wakaleo#bddinactionuk Living Documentation - DIY! It’s  the  approach,  not   the  tool
  124. 124. @wakaleo#bddinactionuk Living Documentation - DIY! It’s  the  approach,  not   the  tool
  125. 125. @wakaleo#bddinactionuk Living Documentation - completing the cycle Test results do not tell us what was not tested
  126. 126. @wakaleo#bddinactionuk Living Documentation - completing the cycle Feature  Coverage  tells  us…
  127. 127. @wakaleo#bddinactionuk Living Documentation - completing the cycle Feature  Coverage  tells  us… What  do  we  plan  to   deliver?
  128. 128. @wakaleo#bddinactionuk Living Documentation - completing the cycle Feature  Coverage  tells  us… What  do  we  plan  to   deliver? What  has  been  done?
  129. 129. @wakaleo#bddinactionuk Living Documentation - completing the cycle Feature  Coverage  tells  us… What  do  we  plan  to   deliver? What  has  been  done? What  is  in  progress
  130. 130. @wakaleo#bddinactionuk Living Documentation - completing the cycle Feature  Coverage  tells  us… What  do  we  plan  to   deliver? What  has  been  done? What  is  in  progress What  hasn’t  been  started  yet
  131. 131. @wakaleo#bddinactionuk Living Documentation - completing the cycle Feature  Coverage  tells  us… What  do  we  plan  to   deliver? What  has  been  done? What  is  in  progress What  hasn’t  been  started  yet How  many  automated  and  manual   tests  were  performed
  132. 132. @wakaleo#bddinactionuk Living Documentation - completing the cycle Feature  Coverage  tells  us…
  133. 133. @wakaleo#bddinactionuk Living Documentation - completing the cycle Feature  Coverage  tells  us… What   stories  are  defined  for  this   feature?
  134. 134. @wakaleo#bddinactionuk Living Documentation - completing the cycle Feature  Coverage  tells  us… What   stories  are  defined  for  this   feature? How  many  stories  have  automated   acceptance  criteria?
  135. 135. @wakaleo#bddinactionuk Living Documentation - completing the cycle Feature  Coverage  tells  us… What   stories  are  defined  for  this   feature? How  many  stories  have  automated   acceptance  criteria? What   acceptance  criteria  have  been   automated?
  136. 136. @wakaleo#bddinactionuk BDD gotchas 1 2 3 4
  137. 137. @wakaleo#bddinactionuk BDD gotchas 1 2 3 4 An8-­‐paKern  1   The  business  analyst  writes  the  scenarios  and  then  gives   them  to  the  other  team  members.
  138. 138. @wakaleo#bddinactionuk BDD gotchas 1 2 3 4
  139. 139. @wakaleo#bddinactionuk BDD gotchas 1 2 3 4 An8-­‐paKern  2   The  tester  writes  the  scenarios  at  the  end   to  implement  an  automated  test  suite.
  140. 140. @wakaleo#bddinactionuk BDD gotchas 1 2 3 4 5
  141. 141. @wakaleo#bddinactionuk BDD gotchas 1 2 3 4 5
  142. 142. @wakaleo#bddinactionuk BDD gotchas 1 2 3 4 5 An8-­‐paKern  3   The  “Three  Amigos”  sessions  don’t  result  in  usable  scenarios,  so  the   developer  invents  them  aAerwards.
  143. 143. @wakaleo#bddinactionuk BDD gotchas 1 2 3 4 5
  144. 144. @wakaleo#bddinactionuk BDD gotchas 1 2 3 4 5 An8-­‐paKern  4   The  scenarios  are  too  UI-­‐centric  or  detail-­‐focused,  and  neglect  to  express   the  core  business  value.
  145. 145. @wakaleo#bddinactionuk BDD benefits
  146. 146. @wakaleo#bddinactionuk BDD benefits •Focus  effort   •Reduce  waste  and  misaligned  requirements
  147. 147. @wakaleo#bddinactionuk BDD benefits Deliver  more  valuable  soXware
  148. 148. @wakaleo#bddinactionuk BDD benefits Make  changes  safely
  149. 149. @wakaleo#bddinactionuk BDD benefits Faster  and  more  reliable  releases
  150. 150. @wakaleo#bddinactionuk BDD benefits Reduced  maintenance  costs
  151. 151. @YourTwitterHandle#DVXFR14{session hashtag} @YourTwitterHandle#YourSessionHashtag Q & A
  152. 152. @wakaleo#bddinactionuk Want to learn more? http://thucydides.info/
  153. 153. @wakaleo#bddinactionuk Want to learn more? http://thucydides.info/

×