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

Tester's Anxieties

Alex Rodionov
September 02, 2017

Tester's Anxieties

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

Alex Rodionov

September 02, 2017
Tweet

More Decks by Alex Rodionov

Other Decks in Programming

Transcript

  1. TESTER’S ANXIETIES

    View full-size slide


  2. my name is Alex

    View full-size slide


  3. my name is Alex

    View full-size slide


  4. my name is Alex
    @p0deje

    View full-size slide


  5. my name is Alex
    @p0deje

    View full-size slide


  6. my name is Alex
    @p0deje

    View full-size slide


  7. my name is Alex
    @p0deje

    View full-size slide

  8. TESTER’S ANXIETIES

    View full-size slide

  9. Test automation
    "

    View full-size slide

  10. Test automation
    Performance testing
    "

    View full-size slide

  11. Test automation
    Performance testing
    Security testing "

    View full-size slide

  12. Organizing testing process
    #

    View full-size slide

  13. Organizing testing process
    Agile testing
    #

    View full-size slide

  14. Organizing testing process
    Agile testing
    Test management #

    View full-size slide

  15. Any talks about testers?

    View full-size slide

  16. What bothers me most
    as a tester?

    View full-size slide

  17. ↖ ⬆ ↗
    ⬅ ➡
    ↙ ⬇ ↘

    View full-size slide

  18. Do agile teams need testers?

    View full-size slide

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

    View full-size slide

  20. So, you want to release?
    Tell me more about how we roll
    it back when we’re screwed

    View full-size slide

  21. Contradictions
    +
    Cautiousness
    =
    Anxiety

    View full-size slide

  22. Contradictions
    +
    Cautiousness
    =
    Anxiety

    View full-size slide

  23. Contradictions
    +
    Cautiousness
    =
    Anxiety

    View full-size slide

  24. TESTER’S ANXIETIES

    View full-size slide

  25. MY ANXIETIES

    View full-size slide

  26. . Cultural studies
    English

    View full-size slide

  27. ✍ Technical writer
    Software tester

    View full-size slide


  28. ✍ Technical writer
    Software tester

    View full-size slide

  29. “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

    View full-size slide

  30. logging bugs > doing testing =

    logging bugs < doing testing =

    logging bugs ≃ doing testing =

    View full-size slide

  31. logging bugs > doing testing =

    logging bugs < doing testing =

    logging bugs ≃ doing testing =

    View full-size slide

  32. logging bugs > doing testing =

    logging bugs < doing testing =

    logging bugs ≃ doing testing =

    View full-size slide

  33. logging bugs > doing testing =

    logging bugs < doing testing =

    logging bugs ≃ doing testing =

    View full-size slide

  34. logging bugs > doing testing =

    logging bugs < doing testing =

    logging bugs ≃ doing testing =

    View full-size slide

  35. logging bugs > doing testing =

    logging bugs < doing testing =

    logging bugs ≃ doing testing =

    View full-size slide

  36. 6
    Test automation

    View full-size slide

  37. Test automation
    Performance
    testing
    6

    View full-size slide

  38. Testing is easy
    6

    View full-size slide

  39. Testing is hard
    6

    View full-size slide

  40. Testing is hard

    View full-size slide

  41. I DON’T KNOW HOW TO
    TEST

    View full-size slide

  42. Boundary value analysis
    Equivalence partitioning
    Pairwise testing
    Decision tables

    View full-size slide

  43. Boundary value analysis
    Equivalence partitioning
    Pairwise testing
    Decision tables

    View full-size slide

  44. Boundary value analysis
    Equivalence partitioning
    Pairwise testing
    Decision tables

    View full-size slide

  45. Boundary value analysis
    Equivalence partitioning
    Pairwise testing
    Decision tables

    View full-size slide

  46. Boundary value analysis
    Equivalence partitioning
    Pairwise testing
    Decision tables

    View full-size slide

  47. How to test?

    View full-size slide

  48. How to test?
    9

    View full-size slide

  49. How to test?

    View full-size slide

  50. Object-oriented programming
    Functional programming

    View full-size slide

  51. Object-oriented programming
    Functional programming
    DRY
    SOLID
    YAGNI

    View full-size slide

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

    View full-size slide

  53. Programming Testing
    Analysis
    Decomposition
    Analysis
    Decomposition
    Composition
    Synthesis

    View full-size slide

  54. Programming Testing
    Analysis
    Decomposition
    Analysis
    Decomposition
    Composition
    Synthesis

    View full-size slide

  55. Programming Testing
    Analysis
    Decomposition
    Analysis
    Decomposition
    Composition
    Synthesis

    View full-size slide

  56. A tester is
    ;<

    View full-size slide

  57. A tester is
    ;<

    View full-size slide

  58. A tester is
    ;=

    View full-size slide

  59. How to test?

    View full-size slide

  60. How to test?
    9

    View full-size slide

  61. How to test?

    View full-size slide

  62. Keep looking for the answer

    View full-size slide

  63. Automated testing
    vs
    Manual testing

    View full-size slide

  64. Automated testing
    vs
    Manual testing

    View full-size slide

  65. Automated testing
    vs
    Manual testing

    View full-size slide

  66. DO I AUTOMATE ENOUGH?

    View full-size slide

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

    View full-size slide

  68. Unit tests
    Integration tests

    View full-size slide

  69. Unit tests
    System
    tests
    Integration tests

    View full-size slide

  70. Unit tests
    System
    tests
    Exploratory
    testing
    Integration tests

    View full-size slide

  71. Unit tests
    UI
    tests
    Exploratory
    testing
    Integration tests

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  75. PRODUCTION

    Unit tests
    System
    tests
    Integration tests

    View full-size slide

  76. PRODUCTION








    I am a server
    config
    syntax error!

    View full-size slide

  77. PRODUCTION

    Unit tests
    System
    tests
    Integration tests

    View full-size slide

  78. PRODUCTION

    System
    tests
    Integration tests

    View full-size slide

  79. PRODUCTION








    I am an invalid
    input error!

    View full-size slide

  80. PRODUCTION

    Unit tests
    System
    tests
    Integration tests

    View full-size slide

  81. PRODUCTION

    Unit tests
    Integration tests

    View full-size slide

  82. PRODUCTION






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

    View full-size slide

  83. DO I AUTOMATE ENOUGH?

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  88. Do I automate too much?

    View full-size slide

  89. Tests are dumb

    View full-size slide

  90. I DON’T TRUST MY TESTS

    View full-size slide

  91. Arrange
    Act
    Assert

    View full-size slide

  92. Arrange
    Act
    Assert

    View full-size slide

  93. Arrange
    Act
    Assert

    View full-size slide

  94. Arrange
    Act
    Assert

    View full-size slide

  95. Arrange
    Act
    Assert

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  113. 6 Less deterministic
    More deterministic

    View full-size slide

  114. How can we make tests
    less deterministic?

    View full-size slide

  115. Model-based testing

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  118. no items in cart

    View full-size slide

  119. no items in cart
    item in cart

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  143. Less deterministic
    Improved test coverage
    Same execution time

    View full-size slide

  144. Less deterministic
    Improved test coverage
    Same execution time

    View full-size slide

  145. Less deterministic
    Improved test coverage
    Same execution time

    View full-size slide

  146. Arrange
    Act
    Assert

    View full-size slide

  147. Arrange
    Act
    Assert

    View full-size slide

  148. Arrange
    Act
    Assert

    View full-size slide

  149. Test oracle

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  154. Combinatorial
    problems

    View full-size slide

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

    View full-size slide

  156. Period of being
    a customer
    Country
    # of purchases
    Average
    time on site
    42%

    View full-size slide

  157. Randomized
    input
    Neural network
    System under test
    Compare

    View full-size slide

  158. Unit tests
    System
    tests
    Exploratory
    testing
    Integration tests

    View full-size slide

  159. Unit tests
    System
    tests
    Exploratory
    testing
    Integration tests

    View full-size slide

  160. I DON’T KNOW HOW TO
    TEST

    View full-size slide

  161. KEEP LEARNING
    “THIS IS FINE”

    View full-size slide

  162. I DON’T KNOW IF I
    AUTOMATE ENOUGH

    View full-size slide

  163. USE TEST PYRAMID

    View full-size slide

  164. I DON’T TRUST MY TESTS

    View full-size slide

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

    View full-size slide

  166. WHAT ARE YOUR
    ANXIETIES?

    View full-size slide

  167. WHAT ARE YOUR
    ANXIETIES?
    @p0deje
    [email protected]

    View full-size slide

  168. WHAT ARE YOUR
    ANXIETIES?
    @p0deje
    [email protected]

    View full-size slide