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

The Tester at the Table and the Tester in my Head

The Tester at the Table and the Tester in my Head

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

November 08, 2018
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

    View Slide

  4. @bitcapulet
    @bitcapulet 4

    View Slide

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

    View Slide

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

    View Slide

  7. @bitcapulet
    @bitcapulet 7

    View Slide

  8. @bitcapulet
    @bitcapulet 8

    View Slide

  9. @bitcapulet
    @bitcapulet 9

    View Slide

  10. @bitcapulet
    @bitcapulet 10

    View Slide

  11. @bitcapulet
    @bitcapulet 11

    View Slide

  12. @bitcapulet
    @bitcapulet 12

    View Slide

  13. @bitcapulet
    @bitcapulet 13

    View Slide

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

    View Slide

  15. @bitcapulet
    @bitcapulet 15
    Because ants
    are amazing.

    View Slide

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

    View Slide

  17. @bitcapulet
    @bitcapulet 17
    1. how? 2. How?
    3. How?
    Why?
    4. How?

    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

    View Slide

  23. @bitcapulet
    @bitcapulet 23

    View Slide

  24. @bitcapulet
    @bitcapulet 24
    ? ? ?
    ?
    ?

    View Slide

  25. @bitcapulet
    @bitcapulet 25

    View Slide

  26. @bitcapulet
    @bitcapulet 26

    View Slide

  27. @bitcapulet
    @bitcapulet 27

    View Slide

  28. @bitcapulet
    @bitcapulet 28

    View Slide

  29. @bitcapulet
    @bitcapulet 29

    View Slide

  30. @bitcapulet
    @bitcapulet 30

    View Slide

  31. @bitcapulet
    @bitcapulet 31

    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

    View Slide

  38. @bitcapulet
    @bitcapulet 38

    View Slide

  39. @bitcapulet
    @bitcapulet 39

    View Slide

  40. @bitcapulet
    @bitcapulet 40

    View Slide

  41. @bitcapulet
    @bitcapulet 41

    View Slide

  42. @bitcapulet
    @bitcapulet 42

    View Slide

  43. @bitcapulet
    @bitcapulet 43

    View Slide

  44. @bitcapulet
    @bitcapulet 44
    1. 2.
    3. 4.
    How?

    View Slide

  45. @bitcapulet
    @bitcapulet
    1.
    Repeat yourself
    If you repeat something enough
    times, we'll believe it's true.
    45

    View Slide

  46. @bitcapulet
    @bitcapulet
    Develop
    46

    View Slide

  47. @bitcapulet
    @bitcapulet
    Let's have a
    little play!
    47

    View Slide

  48. @bitcapulet
    @bitcapulet 48

    View Slide

  49. @bitcapulet
    @bitcapulet 49
    Ahem..

    View Slide

  50. @bitcapulet
    @bitcapulet 50
    And why
    not?

    View Slide

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

    View Slide

  52. @bitcapulet
    @bitcapulet 52
    Remember
    what Yulia
    said...

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  60. @bitcapulet
    @bitcapulet
    Tester
    Catch-Phrases
    60

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  66. @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
    66

    View Slide

  67. @bitcapulet
    @bitcapulet 67

    View Slide

  68. @bitcapulet
    @bitcapulet 68

    View Slide

  69. @bitcapulet
    @bitcapulet 69

    View Slide

  70. @bitcapulet
    @bitcapulet 70

    View Slide

  71. @bitcapulet
    @bitcapulet
    Keep and
    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
    ● Simple
    ● Unexpected
    ● Emotional

    View Slide

  77. @bitcapulet
    @bitcapulet 77

    View Slide

  78. @bitcapulet
    @bitcapulet 78

    View Slide

  79. @bitcapulet
    @bitcapulet 79
    First: I lost an argument about risk…

    View Slide

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

    View Slide

  81. @bitcapulet
    @bitcapulet
    First: A dev told me "works on my
    machine"...
    81

    View Slide

  82. @bitcapulet
    @bitcapulet 82
    Then you crushed
    him for his
    impudence!

    View Slide

  83. @bitcapulet
    @bitcapulet
    First: A dev told me "works on my
    machine"...
    Then: I asked him where my environment
    was different, and he found the bug.
    83

    View Slide

  84. @bitcapulet
    @bitcapulet 84

    View Slide

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

    View Slide

  86. @bitcapulet
    @bitcapulet 86

    View Slide

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

    View Slide

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

    View Slide

  89. @bitcapulet
    @bitcapulet 89
    ● Simple
    ● Unexpected
    ● Emotional

    View Slide

  90. @bitcapulet
    @bitcapulet 90

    View Slide

  91. @bitcapulet
    @bitcapulet 91
    1. Repeat
    yourself
    2.
    3. 4.

    View Slide

  92. @bitcapulet
    @bitcapulet
    2.
    Make a deal
    We're in this together
    92

    View Slide

  93. @bitcapulet
    @bitcapulet
    More
    stagecraft!
    93

    View Slide

  94. @bitcapulet
    @bitcapulet 94

    View Slide

  95. @bitcapulet
    @bitcapulet 95
    Are you
    seriously
    considering it?

    View Slide

  96. @bitcapulet
    @bitcapulet 96
    Does that
    matter?

    View Slide

  97. @bitcapulet
    @bitcapulet 97
    Good boy.

    View Slide

  98. @bitcapulet
    @bitcapulet
    how we
    98

    View Slide

  99. @bitcapulet
    @bitcapulet 99

    View Slide

  100. @bitcapulet
    @bitcapulet 100

    View Slide

  101. @bitcapulet
    @bitcapulet 101

    View Slide

  102. @bitcapulet
    @bitcapulet 102
    Yay, dopamine!

    View Slide

  103. @bitcapulet
    @bitcapulet
    ___
    (___) ___
    \\_(___)
    ()____)
    USS Enterprise
    103

    View Slide

  104. @bitcapulet
    @bitcapulet 104
    Aww, oxytocin!

    View Slide

  105. @bitcapulet
    @bitcapulet 105

    View Slide

  106. @bitcapulet
    @bitcapulet 106
    Boo! Anxiety and sadness!

    View Slide

  107. @bitcapulet
    @bitcapulet 107

    View Slide

  108. @bitcapulet
    @bitcapulet 108

    View Slide

  109. @bitcapulet
    @bitcapulet
    Beware the narcissists.

    View Slide

  110. @bitcapulet
    @bitcapulet 110

    View Slide

  111. @bitcapulet
    @bitcapulet 111

    View Slide

  112. @bitcapulet
    @bitcapulet 112

    View Slide

  113. @bitcapulet
    @bitcapulet 113

    View Slide

  114. @bitcapulet
    @bitcapulet 114

    View Slide

  115. @bitcapulet
    @bitcapulet 115

    View Slide

  116. @bitcapulet
    @bitcapulet 116

    View Slide

  117. @bitcapulet
    @bitcapulet 117

    View Slide

  118. @bitcapulet
    @bitcapulet
    the
    118

    View Slide

  119. @bitcapulet
    @bitcapulet 119

    View Slide

  120. @bitcapulet
    @bitcapulet 120
    Optimism

    View Slide

  121. @bitcapulet
    @bitcapulet 121
    Optimism Skepticism

    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 127

    View Slide

  128. @bitcapulet
    @bitcapulet 128

    View Slide

  129. @bitcapulet
    @bitcapulet 129
    Optimism + Skepticism

    View Slide

  130. @bitcapulet
    @bitcapulet 130
    You support me,
    and I keep you safe.

    View Slide

  131. @bitcapulet
    @bitcapulet 131
    You support me,
    and I keep you safe.
    1. Stick up for me

    View Slide

  132. @bitcapulet
    @bitcapulet 132
    You support me,
    and I keep you safe.
    1. Stick up for me
    2. Do fit and finish

    View Slide

  133. @bitcapulet
    @bitcapulet 133
    Stick up for me.

    View Slide

  134. @bitcapulet
    @bitcapulet 134
    Stick up for me.

    View Slide

  135. @bitcapulet
    @bitcapulet 135
    Stick up for me

    View Slide

  136. @bitcapulet
    @bitcapulet 136
    Stick up for me

    View Slide

  137. @bitcapulet
    @bitcapulet 137
    Stick up for me

    View Slide

  138. @bitcapulet
    @bitcapulet 138
    Stick up for me

    View Slide

  139. @bitcapulet
    @bitcapulet 139
    You support me,
    and I keep you safe.
    1. Stick up for me
    2. Do fit and finish

    View Slide

  140. @bitcapulet
    @bitcapulet 140
    Fit and finish

    View Slide

  141. @bitcapulet
    @bitcapulet 141
    Fit and finish

    View Slide

  142. @bitcapulet
    @bitcapulet 142
    Fit and finish

    View Slide

  143. @bitcapulet
    @bitcapulet 143
    Fit and finish

    View Slide

  144. @bitcapulet
    @bitcapulet 144
    Fit and finish

    View Slide

  145. @bitcapulet
    @bitcapulet 145
    Fit and finish

    View Slide

  146. @bitcapulet
    @bitcapulet 146
    Fit and finish

    View Slide

  147. @bitcapulet
    @bitcapulet 147
    Fit and finish

    View Slide

  148. @bitcapulet
    @bitcapulet 148
    Fit and finish

    View Slide

  149. @bitcapulet
    @bitcapulet 149
    Fit and finish

    View Slide

  150. @bitcapulet
    @bitcapulet 150
    You support me,
    and I keep you safe.
    1. Stick up for me
    2. Do fit and finish

    View Slide

  151. @bitcapulet
    @bitcapulet 151

    View Slide

  152. @bitcapulet
    @bitcapulet 152
    My test
    environment's
    down again.

    View Slide

  153. @bitcapulet
    @bitcapulet 153
    Why am I suddenly
    worried about flying
    baseballs?

    View Slide

  154. @bitcapulet
    @bitcapulet 154

    View Slide

  155. @bitcapulet
    @bitcapulet 155
    1. Repeat
    yourself
    2. Make a
    deal
    3. 4.

    View Slide

  156. @bitcapulet
    @bitcapulet
    3.
    Argue
    (Correctly)
    156

    View Slide

  157. @bitcapulet
    @bitcapulet
    Frame
    157

    View Slide

  158. @bitcapulet
    @bitcapulet 158
    Bad news: You can't change people's minds.

    View Slide

  159. @bitcapulet
    @bitcapulet 159
    Bad news: You can't change people's minds.
    Wha YO wa . Wha I wa .

    View Slide

  160. @bitcapulet
    @bitcapulet 160
    Good news: They already agree with you.

    View Slide

  161. @bitcapulet
    @bitcapulet 161
    Wha I wa .
    Wha YO wa .

    View Slide

  162. @bitcapulet
    @bitcapulet 162
    Wha I wa .
    Wha WE wa .
    Wha YO wa .

    View Slide

  163. @bitcapulet
    @bitcapulet 163
    Wha I wa .
    Wha YO wa .
    Wha WE wa .

    View Slide

  164. @bitcapulet
    @bitcapulet 164
    Wha I wa .
    Wha WE wa .
    Wha YO wa .

    View Slide

  165. @bitcapulet
    @bitcapulet 165
    Wha I wa .
    Wha WE wa .
    Wha YO wa .

    View Slide

  166. @bitcapulet
    @bitcapulet 166
    Reframing

    View Slide

  167. @bitcapulet
    @bitcapulet 167
    The question isn't can we
    afford regression testing,
    it's can we afford to have
    our users do it?
    Reframing

    View Slide

  168. @bitcapulet
    @bitcapulet 168
    The question isn't
    "X?" The question is
    "Y thing related to
    X?"
    Reframing

    View Slide

  169. @bitcapulet
    @bitcapulet 169
    The question isn't, "Are
    techniques like this
    sneaky?"
    It's "How can we make
    sure we're using our
    powers for good?"

    View Slide

  170. @bitcapulet
    @bitcapulet
    It's not about
    It's about making the argument.
    170

    View Slide

  171. @bitcapulet
    @bitcapulet
    The play's
    the thing!
    171

    View Slide

  172. @bitcapulet
    @bitcapulet 172
    Your QA said to
    test the edge
    cases.

    View Slide

  173. @bitcapulet
    @bitcapulet 173
    I don't think the
    team was listening.

    View Slide

  174. @bitcapulet
    @bitcapulet 174
    So why are you
    writing unit tests
    for the edge
    cases?

    View Slide

  175. @bitcapulet
    @bitcapulet 175
    ...

    View Slide

  176. @bitcapulet
    @bitcapulet 176
    Of course you
    did.

    View Slide

  177. @bitcapulet
    @bitcapulet 177
    ?

    View Slide

  178. @bitcapulet
    @bitcapulet
    Stay
    (Usually)
    178

    View Slide

  179. @bitcapulet
    @bitcapulet
    Drama!
    179

    View Slide

  180. @bitcapulet
    @bitcapulet 180
    There's a bug with
    this minor subsystem.

    View Slide

  181. @bitcapulet
    @bitcapulet 181
    I will crush your
    bones and drink
    your marrow!

    View Slide

  182. @bitcapulet
    @bitcapulet 182
    There's a bug with
    this minor subsystem.

    View Slide

  183. @bitcapulet
    @bitcapulet 183
    I really think it
    should stay in dev.
    Would you prefer to
    try it in production?

    View Slide

  184. @bitcapulet
    @bitcapulet 184
    By all means.

    View Slide

  185. @bitcapulet
    @bitcapulet 185
    I know I'm right. Whether you learn
    that the hard way or the easy way
    doesn't matter to me.

    View Slide

  186. @bitcapulet
    @bitcapulet 186

    View Slide

  187. @bitcapulet
    @bitcapulet 187

    View Slide

  188. @bitcapulet
    @bitcapulet 188

    View Slide

  189. @bitcapulet
    @bitcapulet 189

    View Slide

  190. @bitcapulet
    @bitcapulet 190

    View Slide

  191. @bitcapulet
    @bitcapulet 191

    View Slide

  192. @bitcapulet
    @bitcapulet 192
    Good news: If all goes according to plan,
    developers will start following your advice.

    View Slide

  193. @bitcapulet
    @bitcapulet 193
    Bad news: They will also think it
    was their idea in the first place.

    View Slide

  194. @bitcapulet
    @bitcapulet 194
    Bad news: They will also think it
    was their idea in the first place.
    They are geniuses, after all.

    View Slide

  195. @bitcapulet
    @bitcapulet 195
    Wha WE wa .

    View Slide

  196. @bitcapulet
    @bitcapulet 196
    1. Repeat
    yourself
    2. make a
    deal
    3. Argue
    (correctly)
    4.

    View Slide

  197. @bitcapulet
    @bitcapulet
    4.
    Promote Yourself
    It's part of the job.
    197

    View Slide

  198. @bitcapulet
    @bitcapulet 198

    View Slide

  199. @bitcapulet
    @bitcapulet 199

    View Slide

  200. @bitcapulet
    @bitcapulet 200

    View Slide

  201. @bitcapulet
    @bitcapulet 201

    View Slide

  202. @bitcapulet
    @bitcapulet 202
    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

  203. @bitcapulet
    @bitcapulet 203

    View Slide

  204. @bitcapulet
    @bitcapulet 204

    View Slide

  205. @bitcapulet
    @bitcapulet 205

    View Slide

  206. @bitcapulet
    @bitcapulet 206

    View Slide

  207. @bitcapulet
    @bitcapulet 207

    View Slide

  208. @bitcapulet
    @bitcapulet 208

    View Slide

  209. @bitcapulet
    @bitcapulet 209

    View Slide

  210. @bitcapulet
    @bitcapulet 210
    * Updated
    automation

    View Slide

  211. @bitcapulet
    @bitcapulet 211
    * Updated
    automation
    * Improved
    root-cause
    process

    View Slide

  212. @bitcapulet
    @bitcapulet 212
    * Updated
    automation
    * Improved
    root-cause
    process
    * Spoke at
    conference

    View Slide

  213. @bitcapulet
    @bitcapulet 213
    "You rock!"
    - the VP

    View Slide

  214. @bitcapulet
    @bitcapulet 214
    "You rock!"
    - the VP
    ATTABOYS

    View Slide

  215. @bitcapulet
    @bitcapulet 215
    "You rock!"
    - the VP
    ATTABOYS

    View Slide

  216. @bitcapulet
    @bitcapulet 216

    View Slide

  217. @bitcapulet
    @bitcapulet 217

    View Slide

  218. @bitcapulet
    @bitcapulet 218

    View Slide

  219. @bitcapulet
    @bitcapulet 219

    View Slide

  220. @bitcapulet
    @bitcapulet 220

    View Slide

  221. @bitcapulet
    @bitcapulet 221
    QA professional Jenny Bramble says...
    When you walk into a
    job, there’s a grocery
    list of stuff that
    people want you to
    finish. Look beyond
    the list. See what's
    driving the list.

    View Slide

  222. @bitcapulet
    @bitcapulet 222

    View Slide

  223. @bitcapulet
    @bitcapulet 223

    View Slide

  224. @bitcapulet
    @bitcapulet 224

    View Slide

  225. @bitcapulet
    @bitcapulet 225

    View Slide

  226. @bitcapulet
    @bitcapulet 226

    View Slide

  227. @bitcapulet
    @bitcapulet 227

    View Slide

  228. @bitcapulet
    @bitcapulet 228
    1. Repeat
    yourself
    2. make a
    deal
    3. Argue
    (correctly)
    4. Promote
    yourself

    View Slide

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

    View Slide

  230. @bitcapulet
    @bitcapulet 230
    Bring it home.

    View Slide

  231. @bitcapulet
    @bitcapulet 231

    View Slide

  232. @bitcapulet
    @bitcapulet 232

    View Slide

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

    View Slide

  234. @bitcapulet
    @bitcapulet 234
    1. Repeat
    yourself
    2. make a
    deal
    3. Argue
    (correctly)
    4. Promote
    yourself
    for the humans!

    View Slide