$30 off During Our Annual Pro Sale. View Details »

Intro To TDD

Jim Holmes
February 12, 2020

Intro To TDD

A short session introducing Test Driven Development presented at Evergreen State University in Olympia, Washington.

Jim Holmes

February 12, 2020
Tweet

More Decks by Jim Holmes

Other Decks in Technology

Transcript

  1. Intro to Test Driven
    Development

    View Slide

  2. Jim Holmes
    Executive Consultant, Guidepost Systems LLC
    [email protected]
    GitHub: JimHolmes
    Xbox: FrazzledDad
    Blogs:
    http://GuidepostSystems.com
    http://FrazzledDad.com
    Coding for Non-Coders: Lesson 1—Course Introduction
    Who am I?

    View Slide

  3. Slides:
    https://speakerdeck.com/
    jimholmes/intro-to-tdd

    View Slide

  4. How do you know
    your stuff works?

    View Slide

  5. How do you know
    you built
    the right thing?

    View Slide

  6. How do you keep
    your stuff working?

    View Slide

  7. Goals for today:
    Talk about building test cases
    Spend some writing tests and code

    View Slide

  8. Level Set:
    What are all y’all working
    with?
    (testing, specs, etc.)

    View Slide

  9. Why writing tests matters

    View Slide

  10. Correctness

    View Slide

  11. Maintainability

    View Slide

  12. Why writing tests
    first
    matters

    View Slide

  13. Stay lean

    View Slide

  14. Focus on value

    View Slide

  15. Red
    Refactor Green

    View Slide

  16. Think
    Refactor
    Green
    Red

    View Slide

  17. The problem

    View Slide

  18. Customer wants a
    payroll system

    View Slide

  19. Today’s work:
    Figure payroll for hourly
    workers

    View Slide

  20. Let’s write some specs!

    View Slide

  21. Hours
    Worked
    Hourly Rate Wages Should Be
    0 10 0
    1 10 10
    40 10 400
    41 10 415
    60 10 700
    61 10 Error. Requires supervisor review (Business rule!)
    -1 10 Error. Do not process
    1 -1 Error. Do not process
    10 Max Value
    (500)
    10 * max value.
    10 Max Value + 1 Error. Requires supervisor review (Business rule!)
    10 1 10

    View Slide

  22. Let’s write some tests!

    View Slide