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

Treat yourself - A tale about dogtraining and test driven development

Treat yourself - A tale about dogtraining and test driven development

Slides to my keynote at European Testing Conference 2020 in Amsterdam.
You can find the code example on github:
https://github.com/programmiri/examples-talk-tdd-dogtraining

Mirjam Aulbach

February 06, 2020
Tweet

More Decks by Mirjam Aulbach

Other Decks in Programming

Transcript

  1. TEST DRIVEN DEVELOPMENT - how Red - Green - Refactor

    Image src: https://giphy.com/gifs/peteandpete-season-3-the-adventures-of-pete-and-3o7Z4tNIWOQWTlfGN2
  2. TDD CYCLE ❌ Write a test. ❌ That test fails

    - obviously ❌ Write code that makes the test pass ✅ Test pass! # Refactor Rinse and repeat! Image src: https://giphy.com/gifs/girl-yeah-wash-JS88XIgg7laNO
  3. DOG TRAINING SIMULATOR TASK Program to show others how to

    train a specific behavior to a dog.
  4. DOG TRAINING SIMULATOR USER STORY I have a dog and

    I want to teach this dog the behavior "Touch", using positive reinforcement as a technique.
  5. DOG TRAINING SIMULATOR INITIAL SITUATION - no past no conditioning

    - rewarding, neutral and punishing consequences - visible reactions to consequences
  6. DOG TRAINING SIMULATOR My training will be successful when... -

    I say "Touch" - and hold two fingers so my dog can access them, - my dog comes immediately and - with a joyful body language to me and - presses its nose at the two fingers shortly.
  7. !"#

  8. !

  9. !

  10. WHAT - imho - TDD IS ABOUT TDD is not

    only a strategy for tests, it's a strategy for design. It helps to stay focused and keep things simple. It makes changes easier and refactoring safer. You can work in quick iterations and get in a very motivating feedback loop.
  11. TESTER ! DEVELOPER How it brings us together - help

    developers to refine tests - build a balanced testing pyramid together Image src: https://giphy.com/gifs/dog-hug-sX755wvr2Q6gE