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

Test Driven Development

Test Driven Development

Intro to Testing, TDD, with many GIFs sprinkled in. Given at http://boston.io on 2/4/2012, UBHacking on 3/24/2012, and at RIT's ViSE program on 4/13/2012.

Nick Quaranto

February 06, 2012
Tweet

More Decks by Nick Quaranto

Other Decks in Programming

Transcript

  1. TEST
    DRIVEN
    DEVELOPMENT

    View Slide

  2. i’m @qrush

    View Slide

  3. @
    i live here

    View Slide

  4. c
    i work at 37signals

    View Slide

  5. TESTING!

    View Slide

  6. 2/4/12

    View Slide

  7. 4/13/12

    View Slide

  8. test-driven!

    View Slide

  9. what
    is
    testing?

    View Slide

  10. REFRESHING
    COMPILING
    FOR SOMEONE
    ELSE TO DO
    not:

    View Slide

  11. TESTING
    DEFINES HOW
    YOUR CODE
    WORKS

    View Slide

  12. why should
    i test?

    View Slide

  13. PREDICTABILITY

    View Slide

  14. TIGHTER
    FEEDBACK
    LOOPS

    View Slide

  15. DEPENDABILITY

    View Slide

  16. LOOSE COUPLING

    View Slide

  17. how do
    you test
    something?

    View Slide

  18. PICK ANY
    LANGUAGE

    View Slide

  19. PICK ANY
    FRAMEWORK

    View Slide

  20. SAME
    STEPS
    SAME
    PATTERNS

    View Slide

  21. 4 PHASE
    TEST

    View Slide

  22. setup
    exercise
    verification
    teardown

    View Slide

  23. what is
    TDD?

    View Slide

  24. WRITE TESTS
    FIRST

    View Slide

  25. WRITE NEW
    CODE ONLY
    ON TEST
    FAILURE

    View Slide

  26. write a test
    watch it fail
    make it pass
    repeat

    View Slide

  27. RHYTHM

    View Slide

  28. red
    green
    refactor

    View Slide

  29. View Slide

  30. does this
    take longer?

    View Slide

  31. YES

    View Slide

  32. INITIALLY,
    BUT IT
    CAUSES
    LESS BUGS*
    * http://bit.ly/nugeo

    View Slide

  33. does this
    suck
    sometimes?

    View Slide

  34. YES

    View Slide

  35. BUT IT
    PROVIDES
    CONFIDENCE

    View Slide

  36. is it ok
    not to test?

    View Slide

  37. YES

    View Slide

  38. JUST
    SPIKE
    IT

    View Slide

  39. BUT
    THROW
    IT AWAY

    View Slide

  40. finally,

    View Slide

  41. FIND A
    JOB*
    THAT HELPS
    YOU TEST

    View Slide

  42. ASK
    ABOUT
    POLICIES ON
    TESTING

    View Slide

  43. GO
    TEST
    YOUR CODE!

    View Slide