Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Cucumber Acceptance
      Tests
      Lessons Learned
Cucumber Acceptance
      Tests
             Lessons Learned



 A Frightening Journey Inside Cheezy’s Mind
Life is good
Starting Point
What should the
 testers do?
Tester
Developer




            Project Ping Pong
The true cost of a defect




  Code             Test
The true cost of a defect




  Code             Test
The true cost of a defect




  Code             Test
The true cost of a defect




  Code             Test
The true cost of a defect




                   Steps




  Code             Test
The true cost of a defect




                   Steps




  Code             Test
The true cost of a defect



                 Review /
                 Prioritize




                   Steps




  Code             Test
The true cost of a defect



                 Review /
                 Prioritize




                   Steps




  Code             Test
The true cost of a defect



                 Review /
 Describe
                 Prioritize




                   Steps




  Code             Test
The true cost of a defect



                 Review /
 Describe
                 Prioritize




                   Steps




  Code             Test
The true cost of a defect



                 Review /
 Describe
                 Prioritize




Reproduce          Steps




  Code             Test
The true cost of a defect



                 Review /
 Describe
                 Prioritize




Reproduce          Steps




  Code             Test




                               Update
Fix Defect        Retest
                              Document
Acceptance testfurureinmind
Capers Jones
Software Assessments, Benchmarks, and Best Practices
               Addison-Wesley, 2000
What else?
What else?

• Unhappy Customers
What else?

• Unhappy Customers
• Demoralized Demotivated Team
 •   Team Flight
What else?

• Unhappy Customers
• Demoralized Demotivated Team
 •   Team Flight

• Pressure
QA Went Beyond Spec
Acceptance testfurureinmind
Testing cut short




  We have a date to make
so testing needs to end now!
Manual Testing (not ET)




1
Manual Testing (not ET)




    1.5
1
Manual Testing (not ET)




          2.2
    1.5
1
Manual Testing (not ET)


                                  6.4
                            5.3
                      4.0
                3.0
          2.2
    1.5
1
Automation Fails




 “Record / Playback testing tools should be clearly
labeled as training wheels” - Elizabeth Hendrickson
First attempts at automation
just automated manual tests
First attempts at automation
just automated manual tests


    yielding brittle tests!
Little or No
Collaboration
3 Letter Word
3 Letter Word




 4 Letter Word
Our testers are not very
good because we have way
     too many bugs!
Hardening Phase
Fear
Bug List
“Cheezy”
Coach Extraordinaire
    (with a dirty little secret)
Leave QA Alone
Testing was constraint
Acceptance testfurureinmind
Tester
 Mr. T
I can handle anything that
fool Cheezy can throw at me!
Thought Process?
Thought Process?

• Mr. T is very strong
Thought Process?

• Mr. T is very strong
• He can be quite intimidating
Thought Process?

• Mr. T is very strong
• He can be quite intimidating
• Did he intimidate the defects out of the
  system?
Thought Process?

• Mr. T is very strong
• He can be quite intimidating
• Did he intimidate the defects out of the
  system?
• Did the approach actually work?
The Dogs
Acceptance testfurureinmind
Early attempts were not
   always successful
Repeating Mistakes
Repeating Mistakes
 Test

               App
Repeating Mistakes
 Test
  Test
   Test
    Test
      Test
       Test
        Test           App
         Test
           Test
            Test
             Test
              Test
                Test
Repeating Mistakes

                 App
Repeating Mistakes

                 App
Works in the small
Large Project Fail
Hard to understand
Hard to understand
Communication?
Kinda makes you sad:(
Success at last!
What is it?
Acceptance Test Driven
    Development
Acceptance Test Driven
    Development

   Behavior Driven
    Development
Acceptance Test Driven
    Development

    Behavior Driven
     Development

Executable Specifications
Acceptance Test Driven
    Development

    Behavior Driven
     Development

Executable Specifications

Specification by Example
What did we learn?
The words friggin’ matter
Collaboration is the goal
Automation is necessary
     (and easy)
Quality is a team sport
Acceptance testfurureinmind
Getting the words right
Getting the words right

 was the hardest part
Acceptance testfurureinmind
Acceptance testfurureinmind
Acceptance testfurureinmind
Acceptance testfurureinmind
Speak it!
Collaboration
We discovered walls
 were still standing
Done Done is Evil
We Need Automation
We Need Automation

Started off thinking it was all about
             automation
We Need Automation

Started off thinking it was all about
             automation


   Initially automated too much
Focus on Behavior

Conversion of manual scripts == FAIL
Brittle test
Brittle test
Brittle test
Engineering Principles
Engineering Principles

  Test code is production code!
Engineering Principles

     Test code is production code!


Keep it clean
Engineering Principles

     Test code is production code!


Keep it clean            Keep it D.R.Y.
Engineering Principles

     Test code is production code!


Keep it clean            Keep it D.R.Y.

           Build abstractions
Clean D.R.Y. Test
Tools Goals
Tools Goals

Make it very easy to adopt and simple to use
Tools Goals

Make it very easy to adopt and simple to use

        Provide “template” for code
Tools Goals

Make it very easy to adopt and simple to use

        Provide “template” for code

  Make it simple to update as app changes
Data?
Data?

Most data doesn’t matter
Data?

Most data doesn’t matter

 Focus on what matters
Data?

     Most data doesn’t matter

      Focus on what matters

Provide defaults for everything else
Nice Picture
Still have a ways to go
Still have a ways to go

Test Data Management
Still have a ways to go

Test Data Management

  Parallel Execution
Who should automate?
Who should automate?

  Specification
Who should automate?

  Specification Automation
Who should automate?

  Specification Automation   Application
Who should automate?

  Specification Automation   Application   Exploration
Who should automate?

  Specification Automation   Application   Exploration




 Specification
Who should automate?

  Specification Automation          Application   Exploration




 Specification        Application



                Automation
Who should automate?

  Specification Automation          Application          Exploration




 Specification        Application          Exploration



                Automation
Who should automate?

  Specification Automation          Application          Exploration




 Specification        Application          Exploration
                   Collaboration

                Automation
Quality is driven by
   everybody
How do defects get
  into software?
How do we get them
       out?
If you find defects after
  development you are
     already too late
Acceptance testfurureinmind
IT’S TIME
TO CHANGE
THE WAY
WE WORK!
COLLABORATION
WINS!
Thank You

More Related Content

Acceptance testfurureinmind

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n
  107. \n
  108. \n
  109. \n
  110. \n
  111. \n
  112. \n
  113. \n
  114. \n
  115. \n
  116. \n
  117. \n
  118. \n
  119. \n
  120. \n
  121. \n
  122. \n
  123. \n
  124. \n
  125. \n
  126. \n
  127. \n
  128. \n
  129. \n
  130. \n
  131. \n
  132. \n
  133. \n
  134. \n
  135. \n
  136. \n
  137. \n
  138. \n
  139. \n
  140. \n
  141. \n
  142. \n
  143. \n
  144. \n
  145. \n
  146. \n
  147. \n
  148. \n
  149. \n
  150. \n
  151. \n
  152. \n
  153. \n
  154. \n
  155. \n
  156. \n
  157. \n
  158. \n
  159. \n
  160. \n
  161. \n
  162. \n
  163. \n
  164. \n
  165. \n
  166. \n
  167. \n
  168. \n
  169. \n
  170. \n
  171. \n
  172. \n
  173. \n
  174. \n
  175. \n
  176. \n
  177. \n
  178. \n
  179. \n
  180. \n
  181. \n
  182. \n
  183. \n
  184. \n
  185. \n
  186. \n
  187. \n
  188. \n
  189. \n
  190. \n
  191. \n