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

Tester's Anxieties

Tester's Anxieties

Slides form the talk I gave at Testival 2017 (http://www.testival.eu) about my anxieties of being a tester.

D049f551aa71e6326c74002ac8e6788a?s=128

Alex Rodionov

September 02, 2017
Tweet

Transcript

  1. TESTER’S ANXIETIES

  2. my name is Alex

  3. my name is Alex

  4. my name is Alex @p0deje

  5. my name is Alex @p0deje

  6. my name is Alex @p0deje

  7. my name is Alex @p0deje

  8. TESTER’S ANXIETIES

  9. Test automation "

  10. Test automation Performance testing "

  11. Test automation Performance testing Security testing "

  12. Organizing testing process #

  13. Organizing testing process Agile testing #

  14. Organizing testing process Agile testing Test management #

  15. Any talks about testers?

  16. What bothers me most as a tester?

  17. ↖ ⬆ ↗ ⬅ ➡ ↙ ⬇ ↘

  18. None
  19. Do agile teams need testers?

  20. Do agile teams need testers? Should testers fix bugs?

  21. So, you want to release? Tell me more about how

    we roll it back when we’re screwed
  22. Contradictions + Cautiousness = Anxiety

  23. Contradictions + Cautiousness = Anxiety

  24. Contradictions + Cautiousness = Anxiety

  25. TESTER’S ANXIETIES

  26. MY ANXIETIES

  27. .

  28. . Cultural studies English

  29. ✍ Technical writer Software tester

  30. ✍ Technical writer Software tester

  31. None
  32. “All I need to do is use the application, write

    down problems and they also pay me for this? How awesome is that!” Brand New Tester
  33. logging bugs > doing testing = logging bugs < doing

    testing = logging bugs ≃ doing testing =
  34. logging bugs > doing testing = logging bugs < doing

    testing = logging bugs ≃ doing testing =
  35. logging bugs > doing testing = logging bugs < doing

    testing = logging bugs ≃ doing testing =
  36. logging bugs > doing testing = logging bugs < doing

    testing = logging bugs ≃ doing testing =
  37. logging bugs > doing testing = logging bugs < doing

    testing = logging bugs ≃ doing testing =
  38. logging bugs > doing testing = logging bugs < doing

    testing = logging bugs ≃ doing testing =
  39. None
  40. None
  41. 6

  42. 6 Test automation

  43. Test automation Performance testing 6

  44. Testing is easy 6

  45. Testing is hard 6

  46. Testing is hard

  47. I DON’T KNOW HOW TO TEST

  48. Boundary value analysis Equivalence partitioning Pairwise testing Decision tables

  49. Boundary value analysis Equivalence partitioning Pairwise testing Decision tables

  50. Boundary value analysis Equivalence partitioning Pairwise testing Decision tables

  51. Boundary value analysis Equivalence partitioning Pairwise testing Decision tables

  52. Boundary value analysis Equivalence partitioning Pairwise testing Decision tables

  53. How to test?

  54. How to test? 9

  55. How to test?

  56. Object-oriented programming Functional programming

  57. Object-oriented programming Functional programming DRY SOLID YAGNI

  58. Design patterns Books Object-oriented programming Functional programming DRY SOLID YAGNI

  59. Programming Testing Analysis Decomposition Analysis Decomposition Composition Synthesis

  60. Programming Testing Analysis Decomposition Analysis Decomposition Composition Synthesis

  61. Programming Testing Analysis Decomposition Analysis Decomposition Composition Synthesis

  62. A tester is ;<

  63. A tester is ;<

  64. A tester is ;=

  65. How to test?

  66. How to test? 9

  67. How to test?

  68. Keep looking for the answer

  69. Automated testing vs Manual testing

  70. Automated testing vs Manual testing

  71. Automated testing vs Manual testing

  72. DO I AUTOMATE ENOUGH?

  73. Database Front-end Server Search engines Analytics Assets 3rd party integrations

  74. None
  75. Unit tests

  76. Unit tests Integration tests

  77. Unit tests System tests Integration tests

  78. Unit tests System tests Exploratory testing Integration tests

  79. Unit tests UI tests Exploratory testing Integration tests

  80. Unit tests Integration tests UI tests Exploratory testing API tests

  81. Unit tests Integration tests UI tests Exploratory testing API tests

  82. Unit tests Integration tests UI tests Exploratory testing API tests

  83. PRODUCTION

  84. PRODUCTION Unit tests System tests Integration tests

  85. PRODUCTION

  86. PRODUCTION I am a server config syntax error!

  87. PRODUCTION Unit tests System tests Integration tests

  88. PRODUCTION System tests Integration tests

  89. PRODUCTION

  90. PRODUCTION I am an invalid input error!

  91. PRODUCTION Unit tests System tests Integration tests

  92. PRODUCTION Unit tests Integration tests

  93. PRODUCTION

  94. PRODUCTION I am a broken contract between API and front-end!

  95. DO I AUTOMATE ENOUGH?

  96. Can I write a good test on this level? Unit

    tests System tests Exploratory testing Integration tests
  97. Can I write a good test on this level? Unit

    tests System tests Exploratory testing Integration tests
  98. Can I write a good test on this level? Unit

    tests System tests Exploratory testing Integration tests
  99. Can I write a good test on this level? Unit

    tests System tests Exploratory testing Integration tests
  100. Do I automate too much?

  101. None
  102. None
  103. Tests are dumb

  104. I DON’T TRUST MY TESTS

  105. Arrange Act Assert

  106. Arrange Act Assert

  107. Arrange Act Assert

  108. Arrange Act Assert

  109. Arrange Act Assert

  110. 6 Uses available data Shares data between tests Uses data

    that is told to use Should not share data between tests
  111. 6 Uses available data Shares data between tests Uses data

    that is told to use Should not share data between tests
  112. 6 Uses available data Shares data between tests Uses data

    that is told to use Should not share data between tests
  113. 6 Uses available data Shares data between tests Uses data

    that is told to use Should not share data between tests
  114. 6 Uses available data Shares data between tests Uses data

    that is told to use Should not share data between tests
  115. Online shop

  116. Online shop Add item to cart Update item in cart

    Remove item from cart Checkout
  117. Online shop Add item to cart Update item in cart

    Remove item from cart Checkout 6
  118. Online shop Add item to cart Update item in cart

    Remove item from cart Checkout 6
  119. Online shop Add item to cart Update item in cart

    Remove item from cart Checkout 6
  120. Online shop Add item to cart Update item in cart

    Remove item from cart Checkout 6
  121. Online shop Add item to cart Update item in cart

    Remove item from cart Checkout 6
  122. Online shop Add item to cart Update item in cart

    Remove item from cart Checkout 6
  123. Online shop Add item to cart Update item in cart

    Remove item from cart Checkout 6
  124. Online shop Add item to cart Update item in cart

    Remove item from cart Checkout 6
  125. Online shop Add item to cart Update item in cart

    Remove item from cart Checkout 6
  126. Online shop Add item to cart Update item in cart

    Remove item from cart Checkout 6
  127. Online shop Add item to cart Update item in cart

    Remove item from cart Checkout 6
  128. 6 Less deterministic More deterministic

  129. How can we make tests less deterministic?

  130. Model-based testing

  131. Usual test Model-based test Determine the exact steps Describe the

    possible states and steps between them
  132. Usual test Model-based test Determine the exact steps Describe the

    possible states and steps between them
  133. no items in cart

  134. no items in cart item in cart

  135. no items in cart item in cart Add item to

    cart
  136. no items in cart item in cart Add item to

    cart
  137. no items in cart item in cart Add item to

    cart Remove item from cart
  138. no items in cart item in cart Add item to

    cart Remove item from cart
  139. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart
  140. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart
  141. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  142. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  143. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  144. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  145. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  146. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  147. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  148. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  149. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  150. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  151. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  152. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  153. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  154. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  155. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  156. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  157. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  158. Less deterministic Improved test coverage Same execution time

  159. Less deterministic Improved test coverage Same execution time

  160. Less deterministic Improved test coverage Same execution time

  161. Arrange Act Assert

  162. Arrange Act Assert

  163. Arrange Act Assert

  164. Test oracle ☝

  165. 6

  166. None
  167. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  168. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  169. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  170. no items in cart item in cart Add item to

    cart Remove item from cart Update item in cart Checkout
  171. Combinatorial problems

  172. Period of being a customer Country # of purchases Average

    time on site
  173. Period of being a customer Country # of purchases Average

    time on site 42%
  174. Randomized input Neural network System under test Compare

  175. Unit tests System tests Exploratory testing Integration tests

  176. Unit tests System tests Exploratory testing Integration tests

  177. I DON’T KNOW HOW TO TEST

  178. KEEP LEARNING “THIS IS FINE”

  179. I DON’T KNOW IF I AUTOMATE ENOUGH

  180. USE TEST PYRAMID

  181. I DON’T TRUST MY TESTS

  182. DON’T WRITE MORE TESTS, MAKE TESTS SMARTER

  183. WHAT ARE YOUR ANXIETIES?

  184. WHAT ARE YOUR ANXIETIES? @p0deje p0deje@gmail.com

  185. WHAT ARE YOUR ANXIETIES? @p0deje p0deje@gmail.com

  186. my name is Alex @p0deje p0deje@gmail.com