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

Ogres and tests are like onions

Ewa
October 21, 2017

Ogres and tests are like onions

Ewa

October 21, 2017
Tweet

More Decks by Ewa

Other Decks in Technology

Transcript

  1. 1

  2. 4 1. Static analysis 2. Mutation testing 3. Snapshot tests

    4. Functional tests Tests are like onions 5. Continuous delivery 6. Phased release 7. A/B tests 8. Usability tests
  3. 5 1. Static analysis 2. Mutation testing 3. Snapshot tests

    4. Functional tests Tests are like onions 5. Continuous delivery 6. Phased release 7. A/B tests 8. Usability tests
  4. 9 1. basic set of rules to begin with 2.

    using the same version of SwiftLint 3. discussion about formatting https://github.com/realm/SwiftLint Problem 1: Crash on production caused by force unwrapping Solution: SwiftLint
  5. 11

  6. 12 1. Static analysis 2. Mutation testing 3. Snapshot tests

    4. Functional tests Tests are like onions 5. Continuous delivery 6. Phased release 7. A/B Tests 8. Usability Tests
  7. 16

  8. 20

  9. 21 1. Static analysis 2. Mutation testing 3. Snapshot tests

    4. Functional tests Tests are like onions 5. Continuous delivery 6. Phased release 7. A/B tests 8. Usability tests
  10. 28

  11. 31 1. Static analysis 2. Mutation testing 3. Snapshot tests

    4. Functional tests Tests are like onions 5. Continuous delivery 6. Phased release 7. A/B tests 8. Usability tests
  12. 33 Problem 4: Predicting consequences of change Solution: UI tests

    ➔ functional UI tests ➔ separate target ➔ flaky tests
  13. 34 Problem 4: Predicting consequences of change Solution: UI tests

    ➔ stubbed UI tests ➔ scheme verification ➔ functional UI tests ➔ separate target ➔ flaky tests
  14. 35 Problem 4: Predicting consequences of change Solution: UI tests

    JSON files JSON scheme configuration file validation
  15. 36 ➔ functional UI tests ➔ separate target ➔ flaky

    tests Problem 4: Predicting consequences of change Solution: UI tests ➔ stubbed UI tests ➔ scheme verification ➔ slower growth of test coverage
  16. 37 1. Static analysis 2. Mutation testing 3. Snapshot tests

    4. Functional tests Tests are like onions 5. Continuous delivery 6. Phased release 7. A/B tests 8. Usability tests
  17. 41

  18. 42 1. Static analysis 2. Mutation testing 3. Snapshot tests

    4. Functional tests Tests are like onions 5. Continuous delivery 6. Phased release 7. A/B tests 8. Usability tests
  19. 44 Problem 6: Testing in laboratory condition ENG: “After latest

    release application crashes - soft 9.0” Elen Musk
  20. 45 Problem 6: Testing in laboratory condition Elen Musk ENG:

    “After latest release application crashes - soft 9.0”
  21. 47 Problem 6: Testing in laboratory condition Solution: Phased release

    https://www.smithsonianmag.com/smart-news/story-real-canary-coal-mine-180961570/
  22. 48 1. Static analysis 2. Mutation testing 3. Snapshot tests

    4. Functional tests Tests are like onions 5. Continuous delivery 6. Phased release 7. A/B tests 8. Usability tests
  23. 52 1. Static analysis 2. Mutation testing 3. Snapshot tests

    4. Functional tests Tests are like onions 5. Continuous delivery 6. Phased release 7. A/B tests 8. Usability tests
  24. 53 Problem 8: Do we have the right product? ENG:

    “This app is a toy” ENG: “It’s useless like whole Allegro” ENG: “After updates, only worse not better...” ENG: “Searches nothing - useless.” Elton Johny Heisenburg Kris Eidhov Taylor Swift
  25. 54 Problem 8: Does the user know how to use

    our app? Solution: Usability testing One-way mirror
  26. 55 1. Static analysis 2. Mutation testing 3. Snapshot tests

    4. Functional tests Summary 5. Continuous delivery 6. Phased release 7. A/B tests 8. Usability tests
  27. 56 Thank you for your attention! goo.gl/Cfzovd Ewa Ludwiczak Senior

    Software Tester [email protected] @ewabielskapoz Aleksander Grzyb iOS Developer [email protected] @aleksandergrzyb