Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Tester at the Table and the Tester in my Head (Abstractions 2019)

Tester at the Table and the Tester in my Head (Abstractions 2019)

Talk as given at Abstractions in Pittsburgh August 2019

Do you want to make an impact? Do you want your work to reach people far and wide? Do you know which of your responsibilities will have this far-reaching impact?

Through 15 years of software development, Adrian P. Dunston has had opportunities to work with dedicated and talented QA professionals. And now he has a little tester in his head.

As the tester at the table, you have an opportunity to set high standards of quality not only in products and processes but in the developers you work with. And by building quality developers, your impact can reach every project and every other developer they work with thereafter. At the very least, you can make life easier on the next poor sap that gets to QA their code.

So how does one go beyond improving products and start improving teams? How do you build up the little testers in their heads? Based on extensive reading and years of working with and without the support of QA professionals, Adrian will show you:

* How to mold quality-minded developers
* How to use repetition and story to get your ideas stuck in their heads
* How to instill habits they can use and take with them
* And why exposure to good QA person can be invaluable to a young developer

Adrian Dunston

August 21, 2019
Tweet

More Decks by Adrian Dunston

Other Decks in Technology

Transcript

  1. @bitcapulet
    @bitcapulet 1
    The tester at
    the Table!
    with
    Adrian P. Dunston
    And the Tester
    in my Head

    View Slide

  2. @bitcapulet
    @bitcapulet
    Story
    Time
    2

    View Slide

  3. @bitcapulet
    @bitcapulet 3
    QA professional James Dooley

    View Slide

  4. @bitcapulet
    @bitcapulet 4

    View Slide

  5. @bitcapulet
    @bitcapulet 5

    View Slide

  6. 6
    Adrian P. Dunston (he/him)
    [email protected]
    @bitcapulet

    View Slide

  7. 7
    Adrian P. Dunston (he/him)
    [email protected]
    @bitcapulet

    View Slide

  8. @bitcapulet
    @bitcapulet 8
    Spread a quality Mindset

    View Slide

  9. @bitcapulet
    @bitcapulet
    Spread a quality Mindset
    9
    Maker

    View Slide

  10. @bitcapulet
    @bitcapulet
    Spread a quality Mindset
    10
    Maker Making

    View Slide

  11. @bitcapulet
    @bitcapulet
    Spread a quality Mindset
    11
    Maker Making Made

    View Slide

  12. @bitcapulet
    @bitcapulet 12
    How?
    Why?
    How?
    How?
    How?

    View Slide

  13. @bitcapulet
    @bitcapulet 13
    Computer Science is no more about
    computers than astronomy is about
    telescopes.
    - Edsger Dijkstra

    View Slide

  14. @bitcapulet
    @bitcapulet 14

    View Slide

  15. @bitcapulet
    @bitcapulet 15

    View Slide

  16. @bitcapulet
    @bitcapulet 16

    View Slide

  17. @bitcapulet
    @bitcapulet 17

    View Slide

  18. @bitcapulet
    @bitcapulet 18

    View Slide

  19. @bitcapulet
    @bitcapulet 19
    ? ? ?
    ?
    ?

    View Slide

  20. @bitcapulet
    @bitcapulet 20

    View Slide

  21. @bitcapulet
    @bitcapulet 21

    View Slide

  22. @bitcapulet
    @bitcapulet 22
    Software quality is not about lack
    of bugs. Quality software is about
    making users into badasses.
    -Kathy Sierra

    View Slide

  23. @bitcapulet
    @bitcapulet 23
    Quality is a form of love

    View Slide

  24. @bitcapulet
    @bitcapulet 24

    View Slide

  25. @bitcapulet
    @bitcapulet 25
    Maker Making Made

    View Slide

  26. @bitcapulet
    @bitcapulet 26

    View Slide

  27. @bitcapulet
    @bitcapulet 27
    How?
    Spread a quality mindset
    How?
    How?
    How?

    View Slide

  28. @bitcapulet
    @bitcapulet 28

    View Slide

  29. @bitcapulet
    @bitcapulet 29

    View Slide

  30. @bitcapulet
    @bitcapulet 30

    View Slide

  31. @bitcapulet
    @bitcapulet 31
    Angie Jones
    @techgirl1908

    View Slide

  32. @bitcapulet
    @bitcapulet 32

    View Slide

  33. @bitcapulet
    @bitcapulet 33

    View Slide

  34. @bitcapulet
    @bitcapulet 34

    View Slide

  35. @bitcapulet
    @bitcapulet 35

    View Slide

  36. @bitcapulet
    @bitcapulet 36

    View Slide

  37. @bitcapulet
    @bitcapulet 37
    Hiya! I'm
    Sydney.

    View Slide

  38. @bitcapulet
    @bitcapulet 38
    Because ants
    are amazing.

    View Slide

  39. @bitcapulet
    @bitcapulet 39
    And maybe
    because you
    told your artist
    to "have fun
    with this one."

    View Slide

  40. @bitcapulet
    @bitcapulet
    1.
    listen to qa
    They're experts in their field.
    40

    View Slide

  41. @bitcapulet
    @bitcapulet
    What do
    41

    View Slide

  42. @bitcapulet
    @bitcapulet 42
    He's going to say
    we break things.

    View Slide

  43. @bitcapulet
    @bitcapulet 43
    We do not break
    things.

    View Slide

  44. @bitcapulet
    @bitcapulet 44
    Developers don't
    create software.

    View Slide

  45. @bitcapulet
    @bitcapulet 45
    Mysteries...

    View Slide

  46. @bitcapulet
    @bitcapulet 46

    View Slide

  47. @bitcapulet
    @bitcapulet 47
    ?

    View Slide

  48. @bitcapulet
    @bitcapulet 48

    View Slide

  49. @bitcapulet
    @bitcapulet 49

    View Slide

  50. @bitcapulet
    @bitcapulet 50

    View Slide

  51. @bitcapulet
    @bitcapulet 51
    All software is
    collaboration.

    View Slide

  52. @bitcapulet
    @bitcapulet 52
    Users are the least qualified,
    most expensive testers.

    View Slide

  53. @bitcapulet
    @bitcapulet 53

    View Slide

  54. @bitcapulet
    @bitcapulet 54
    Optimism

    View Slide

  55. @bitcapulet
    @bitcapulet 55
    Optimism Skepticism

    View Slide

  56. @bitcapulet
    @bitcapulet 56
    Quality is the hidden
    ingredient in all of our
    products. But it’s
    consumed just like
    everything else.
    QA professional Mike Baldwin says...

    View Slide

  57. @bitcapulet
    @bitcapulet 57
    QA Professionals help
    create software

    View Slide

  58. @bitcapulet
    @bitcapulet 58
    And...

    View Slide

  59. @bitcapulet
    @bitcapulet 59
    I mean throw a
    bullet on that
    and give me
    three more.

    View Slide

  60. @bitcapulet
    @bitcapulet 60
    QA Professionals
    ● Help create software

    View Slide

  61. @bitcapulet
    @bitcapulet 61
    QA Professionals
    ● Help create software
    ● Keep the mental model
    of the product

    View Slide

  62. @bitcapulet
    @bitcapulet 62
    QA Professionals
    ● Help create software
    ● Keep the mental model
    of the product
    ● Advocate for users

    View Slide

  63. @bitcapulet
    @bitcapulet 63
    QA Professionals
    ● Help create software
    ● Keep the mental model of
    the product
    ● Advocate for users
    ● Act as morale centers

    View Slide

  64. @bitcapulet
    @bitcapulet 64
    QA professional Jenny Bramble says...
    Team morale seems to
    directly correlate with
    software quality.

    View Slide

  65. @bitcapulet
    @bitcapulet 65
    Now tell dear
    listeners what
    they should be
    doing.

    View Slide

  66. @bitcapulet
    @bitcapulet
    listen
    66

    View Slide

  67. @bitcapulet
    @bitcapulet
    Story
    Time
    67

    View Slide

  68. @bitcapulet
    @bitcapulet 68
    You don't say...

    View Slide

  69. @bitcapulet
    @bitcapulet 69

    View Slide

  70. @bitcapulet
    @bitcapulet 70
    10010010
    10100011

    View Slide

  71. @bitcapulet
    @bitcapulet 71

    View Slide

  72. @bitcapulet
    @bitcapulet 72

    View Slide

  73. @bitcapulet
    @bitcapulet 73

    View Slide

  74. @bitcapulet
    @bitcapulet 74

    View Slide

  75. @bitcapulet
    @bitcapulet 75

    View Slide

  76. @bitcapulet
    @bitcapulet 76
    $$$ $$

    View Slide

  77. @bitcapulet
    @bitcapulet 77
    Ignoring QA's expert advice is a
    dangerous norm across industries.

    View Slide

  78. @bitcapulet
    @bitcapulet 78
    Listen on purpose

    View Slide

  79. @bitcapulet
    @bitcapulet 79
    Listen on purpose
    ● Give them space to talk.

    View Slide

  80. @bitcapulet
    @bitcapulet 80
    The new feature's
    broken in the test
    environment.

    View Slide

  81. @bitcapulet
    @bitcapulet 81
    Works on my
    machine.

    View Slide

  82. @bitcapulet
    @bitcapulet 82
    What's the
    behavior you're
    seeing?

    View Slide

  83. @bitcapulet
    @bitcapulet 83
    Listen on purpose
    ● Give them space to talk.
    ● Ask them to weigh in.

    View Slide

  84. @bitcapulet
    @bitcapulet 84
    Are we good on this?

    View Slide

  85. @bitcapulet
    @bitcapulet 85
    Yes.

    View Slide

  86. @bitcapulet
    @bitcapulet 86
    QA, what are we missing?

    View Slide

  87. @bitcapulet
    @bitcapulet 87
    Listen on purpose
    ● Give them space to talk.
    ● Ask them to weigh in.
    ● Accept their influence.

    View Slide

  88. @bitcapulet
    @bitcapulet 88
    I don't want to spend the
    manpower on spinning up a
    new QA environment.

    View Slide

  89. @bitcapulet
    @bitcapulet 89
    Did you read the
    risk assessment?

    View Slide

  90. @bitcapulet
    @bitcapulet 90
    Yes, I'll do it.
    ...I just don't want to.

    View Slide

  91. @bitcapulet
    @bitcapulet 91

    View Slide

  92. @bitcapulet
    @bitcapulet 92
    QA Professionals
    ● Co-creation
    ● Mental model
    ● Advocacy
    ● Morale

    View Slide

  93. @bitcapulet
    @bitcapulet 93
    Listen on purpose
    ● Give space
    ● Ask them
    ● Accept influence

    View Slide

  94. @bitcapulet
    @bitcapulet 94
    1. Listen
    to QA
    Spread a quality mindset

    View Slide

  95. @bitcapulet
    @bitcapulet
    2.
    amplify QA's voice
    Through repetition,
    catch-phrases, and stories.
    95

    View Slide

  96. @bitcapulet
    @bitcapulet
    Story
    Time
    96

    View Slide

  97. @bitcapulet
    @bitcapulet
    Story
    Time
    97

    View Slide

  98. @bitcapulet
    @bitcapulet 98

    View Slide

  99. @bitcapulet
    @bitcapulet 99

    View Slide

  100. @bitcapulet
    @bitcapulet 100

    View Slide

  101. @bitcapulet
    @bitcapulet 101
    What's your
    estimate?
    I'll grab QA so we
    can discuss it.

    View Slide

  102. @bitcapulet
    @bitcapulet 102
    Show that
    one again.

    View Slide

  103. @bitcapulet
    @bitcapulet 103
    Show it
    again!

    View Slide

  104. @bitcapulet
    @bitcapulet
    What's your
    estimate?
    I'll grab QA so
    we can discuss it.

    View Slide

  105. @bitcapulet
    @bitcapulet
    I'll grab QA so
    we can discuss it.

    View Slide

  106. @bitcapulet
    @bitcapulet 106
    Thank you.

    View Slide

  107. @bitcapulet
    @bitcapulet
    Find the
    107

    View Slide

  108. @bitcapulet
    @bitcapulet
    Father-in-law
    Catch-phrases
    108

    View Slide

  109. @bitcapulet
    @bitcapulet 109
    Nothing hard is ever easy.

    View Slide

  110. @bitcapulet
    @bitcapulet 110
    Even a blind pig finds an
    acorn once in a while.

    View Slide

  111. @bitcapulet
    @bitcapulet 111
    Yeah? And if my
    grandmother had wheels,
    she'd be a stagecoach.

    View Slide

  112. @bitcapulet
    @bitcapulet
    Tester
    Catch-Phrases
    112

    View Slide

  113. @bitcapulet
    @bitcapulet 113
    You explain, I decide.

    View Slide

  114. @bitcapulet
    @bitcapulet 114
    That looks complicated.
    It would be a shame if a
    user were to mess with it.

    View Slide

  115. @bitcapulet
    @bitcapulet 115
    That's why we have
    checklists.

    View Slide

  116. @bitcapulet
    @bitcapulet 116
    Nobody will buy half the
    store. But if they do, you'll
    want your register
    working.

    View Slide

  117. @bitcapulet
    @bitcapulet 117
    QA professional Jenni Hesse says...
    Prove it.

    View Slide

  118. @bitcapulet
    @bitcapulet
    ● Prove it.
    ● How do we know it's
    working?
    ● Might be a
    load-bearing bug.
    ● That's why we have
    checklists
    ● If it were broken in
    production, how would
    we know?
    ● You support me, and I
    keep you safe.
    ● You explain, I decide.
    ● Don't feed the
    test-matrix
    ● It's OUR job to make
    quality software
    118

    View Slide

  119. @bitcapulet
    @bitcapulet 119

    View Slide

  120. @bitcapulet
    @bitcapulet 120

    View Slide

  121. @bitcapulet
    @bitcapulet 121

    View Slide

  122. @bitcapulet
    @bitcapulet 122

    View Slide

  123. @bitcapulet
    @bitcapulet 123

    View Slide

  124. @bitcapulet
    @bitcapulet 124

    View Slide

  125. @bitcapulet
    @bitcapulet 125

    View Slide

  126. @bitcapulet
    @bitcapulet 126

    View Slide

  127. @bitcapulet
    @bitcapulet
    Find the
    127

    View Slide

  128. @bitcapulet
    @bitcapulet 128

    View Slide

  129. @bitcapulet
    @bitcapulet 129

    View Slide

  130. @bitcapulet
    @bitcapulet 130

    View Slide

  131. @bitcapulet
    @bitcapulet 131

    View Slide

  132. @bitcapulet
    @bitcapulet 132
    ● Simple
    ● Unexpected
    ● Emotional

    View Slide

  133. @bitcapulet
    @bitcapulet 133

    View Slide

  134. @bitcapulet
    @bitcapulet 134

    View Slide

  135. @bitcapulet
    @bitcapulet 135
    First: QA lost an argument about
    risk…

    View Slide

  136. @bitcapulet
    @bitcapulet 136
    First: QA lost an argument about
    risk…
    Then: We all had to stay late when
    the app exploded.

    View Slide

  137. @bitcapulet
    @bitcapulet
    First: I told QA, "works on my
    machine"...
    137

    View Slide

  138. @bitcapulet
    @bitcapulet 138
    Then she crushed
    you for your
    impudence!

    View Slide

  139. @bitcapulet
    @bitcapulet
    First: I told QA, "works on my
    machine"...
    Then: She asked me where my
    environment was different, and I
    found the bug.
    139

    View Slide

  140. @bitcapulet
    @bitcapulet 140

    View Slide

  141. @bitcapulet
    @bitcapulet 141
    They probably won't buy
    half the store...

    View Slide

  142. @bitcapulet
    @bitcapulet 142

    View Slide

  143. @bitcapulet
    @bitcapulet 143
    Remember that
    time we didn't
    point-in the risk and
    all had to stay all
    night?

    View Slide

  144. @bitcapulet
    @bitcapulet 144
    How is this
    different?

    View Slide

  145. @bitcapulet
    @bitcapulet 145

    View Slide

  146. @bitcapulet
    @bitcapulet 146
    ● Repeat them
    ● Go get them
    ● Catch-phrases
    ● Stories

    View Slide

  147. @bitcapulet
    @bitcapulet 147
    1. Listen
    to QA
    Spread a quality mindset
    2. Amplify
    QA's voice

    View Slide

  148. @bitcapulet
    @bitcapulet
    3.
    Walk the walk
    Actions speak louder.
    148

    View Slide

  149. @bitcapulet
    @bitcapulet
    Respect their
    149

    View Slide

  150. @bitcapulet
    @bitcapulet
    A play
    about bug
    tickets
    150

    View Slide

  151. @bitcapulet
    @bitcapulet 151

    View Slide

  152. @bitcapulet
    @bitcapulet 152
    Ahem..

    View Slide

  153. @bitcapulet
    @bitcapulet 153
    And why
    not?

    View Slide

  154. @bitcapulet
    @bitcapulet 154
    Correct. They
    belong to your
    tester.

    View Slide

  155. @bitcapulet
    @bitcapulet 155
    Remember
    what Yulia
    said...

    View Slide

  156. @bitcapulet
    @bitcapulet
    You explain,
    she decides.
    156

    View Slide

  157. @bitcapulet
    @bitcapulet
    If you value
    your safety.
    157

    View Slide

  158. @bitcapulet
    @bitcapulet 158
    Like I said: she
    decides.

    View Slide

  159. @bitcapulet
    @bitcapulet 159
    property of qa
    ● Bug tickets
    ● QA environments
    ● Test plans

    View Slide

  160. @bitcapulet
    @bitcapulet
    remove
    160

    View Slide

  161. @bitcapulet
    @bitcapulet 161

    View Slide

  162. @bitcapulet
    @bitcapulet 162

    View Slide

  163. @bitcapulet
    @bitcapulet 163

    View Slide

  164. @bitcapulet
    @bitcapulet 164

    View Slide

  165. @bitcapulet
    @bitcapulet 165

    View Slide

  166. @bitcapulet
    @bitcapulet 166

    View Slide

  167. @bitcapulet
    @bitcapulet 167

    View Slide

  168. @bitcapulet
    @bitcapulet 168
    verification fatigue

    View Slide

  169. @bitcapulet
    @bitcapulet 169
    Fit and finish

    View Slide

  170. @bitcapulet
    @bitcapulet 170
    Fit and finish

    View Slide

  171. @bitcapulet
    @bitcapulet 171
    Fit and finish

    View Slide

  172. @bitcapulet
    @bitcapulet 172
    Fit and finish

    View Slide

  173. @bitcapulet
    @bitcapulet 173
    Fit and finish

    View Slide

  174. @bitcapulet
    @bitcapulet 174
    Fit and finish

    View Slide

  175. @bitcapulet
    @bitcapulet 175
    Fit and finish

    View Slide

  176. @bitcapulet
    @bitcapulet 176
    Fit and finish

    View Slide

  177. @bitcapulet
    @bitcapulet 177
    Fit and finish

    View Slide

  178. @bitcapulet
    @bitcapulet 178
    Fit and finish

    View Slide

  179. @bitcapulet
    @bitcapulet 179

    View Slide

  180. @bitcapulet
    @bitcapulet 180
    Removing obstacles
    ● Fit and finish
    ● Environment support

    View Slide

  181. @bitcapulet
    @bitcapulet 181
    Environment Support

    View Slide

  182. @bitcapulet
    @bitcapulet 182
    Environment Support
    Test environment's
    down again.

    View Slide

  183. @bitcapulet
    @bitcapulet 183
    Environment Support
    Not my problem.

    View Slide

  184. @bitcapulet
    @bitcapulet 184
    Environment Support

    View Slide

  185. @bitcapulet
    @bitcapulet 185
    Environment Support

    View Slide

  186. @bitcapulet
    @bitcapulet 186
    Environment Support

    View Slide

  187. @bitcapulet
    @bitcapulet 187
    Environment Support

    View Slide

  188. @bitcapulet
    @bitcapulet 188
    Environment Support

    View Slide

  189. @bitcapulet
    @bitcapulet 189
    Environment Support

    View Slide

  190. @bitcapulet
    @bitcapulet 190
    Environment Support

    View Slide

  191. @bitcapulet
    @bitcapulet 191

    View Slide

  192. @bitcapulet
    @bitcapulet 192
    Removing obstacles
    ● Fit and finish
    ● Environment support
    ● Pairing

    View Slide

  193. @bitcapulet
    @bitcapulet 193
    Pairing

    View Slide

  194. @bitcapulet
    @bitcapulet 194
    Oh, that's why that bit
    keeps failing.

    View Slide

  195. @bitcapulet
    @bitcapulet 195
    Yeah, this part's really
    complex.

    View Slide

  196. @bitcapulet
    @bitcapulet 196
    Remember to unit test the
    negative case.

    View Slide

  197. @bitcapulet
    @bitcapulet 197
    Oh right! I keep writing
    tests for happy path.

    View Slide

  198. @bitcapulet
    @bitcapulet 198
    QA Pairing

    View Slide

  199. @bitcapulet
    @bitcapulet 199
    I forgot that
    feature existed.

    View Slide

  200. @bitcapulet
    @bitcapulet 200
    It's a drag because it
    can't be automated.

    View Slide

  201. @bitcapulet
    @bitcapulet 201
    I'll put in some
    hooks for
    automation.

    View Slide

  202. @bitcapulet
    @bitcapulet
    deal with your
    202

    View Slide

  203. @bitcapulet
    @bitcapulet
    a play
    about
    reactions
    203

    View Slide

  204. @bitcapulet
    @bitcapulet 204

    View Slide

  205. @bitcapulet
    @bitcapulet 205
    Is she wrong?

    View Slide

  206. @bitcapulet
    @bitcapulet 206
    Well I can't
    imagine why
    she'd report
    them.

    View Slide

  207. @bitcapulet
    @bitcapulet 207
    That's valid.
    It's been a
    tough sprint.

    View Slide

  208. @bitcapulet
    @bitcapulet 208
    So what are you
    going to tell
    your tester?

    View Slide

  209. @bitcapulet
    @bitcapulet 209

    View Slide

  210. @bitcapulet
    @bitcapulet 210
    walk the walk
    ● Respect property
    ● Remove obstacles
    ● Deal/help with emotions

    View Slide

  211. @bitcapulet
    @bitcapulet 211
    1. Listen
    to QA
    Spread a quality mindset
    2. Amplify
    QA's voice
    3. walk
    the walk

    View Slide

  212. @bitcapulet
    @bitcapulet
    4.
    Make a deal
    We're in this together.
    212

    View Slide

  213. @bitcapulet
    @bitcapulet 213
    Optimism Skepticism

    View Slide

  214. @bitcapulet
    @bitcapulet
    Story
    Time
    214

    View Slide

  215. @bitcapulet
    @bitcapulet 215
    Dev supports QA, and
    QA keeps Dev safe.

    View Slide

  216. @bitcapulet
    @bitcapulet 216
    Dev supports QA, and
    QA keeps Dev safe.
    Dev:
    1. Stick up for QA

    View Slide

  217. @bitcapulet
    @bitcapulet 217
    Dev supports QA, and
    QA keeps Dev safe.
    Dev:
    1. Stick up for QA
    2. Do fit and finish

    View Slide

  218. @bitcapulet
    @bitcapulet 218
    Dev supports QA, and QA
    keeps Dev safe.
    QA:
    1. Catch the nasty bugs

    View Slide

  219. @bitcapulet
    @bitcapulet 219
    Dev supports QA, and QA
    keeps Dev safe.
    QA:
    1. Catch the nasty bugs
    2. Contextualize bugs

    View Slide

  220. @bitcapulet
    @bitcapulet 220

    View Slide

  221. @bitcapulet
    @bitcapulet 221
    1. Listen
    to QA
    Spread a quality mindset
    2. Amplify
    QA's voice
    3. walk
    the walk
    4. Make a
    deal

    View Slide

  222. @bitcapulet
    @bitcapulet 222
    That's some solid
    talking, Adrian.

    View Slide

  223. @bitcapulet
    @bitcapulet 223
    Bring it home.

    View Slide

  224. @bitcapulet
    @bitcapulet 224

    View Slide

  225. @bitcapulet
    @bitcapulet 225
    Template by
    SlidesCarnival
    THANK YOU!
    Adrian P. Dunston
    @bitcapulet
    [email protected]
    Art by
    Gabriel Dunston

    View Slide