Creuna TDD workshop

308 views

Published on

Presentation (mostly in Norwegian) which quickly describes the whys, whats and hows of TDD, and then continues with classroom/workshop assignments which describe the red-green-refactor cycle, refactoring, CLEANing up code, inversion of control with dependency injection, etc.

The source code examples can be viewed and downloaded from https://github.com/JoachimL/Creuna-Tdd

Used to teach TDD to summer students and new employees at Creuna's Tech Lab on June 16th 2014.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
308
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Vi vet hva vi skal gjøre – vi bare gjør det feil.

    58% of software bugs result from test infrastructure and process, not design defects»
  • clockmock
  • Xunit, “Fact”
  • Husk: løs kun oppgaven, og løs den så enkelt som mulig.
  • …og så blir det lov å bruke hodet.

    Dete kan noen ganger være riktig, avhengig av algotirmen.
  • Bruker autofixture til å skape testdataene. Fokuserer på design, ikke på data.
  • …og så blir det lov å bruke hodet.
  • …og så blir det lov å bruke hodet.
  • …og så blir det lov å bruke hodet.
  • …og så blir det lov å bruke hodet.
  • …og så blir det lov å bruke hodet.
  • Ikke en fullstendig refactorering, spør du meg.
  • Ikke en fullstendig refactorering, spør du meg.
  • …og så blir det lov å bruke hodet.
  • …og så blir det lov å bruke hodet.
  • Litt for mye kode å vise

  • Creuna TDD workshop

    1. 1. • • • • • •
    2. 2. 58% of software bugs result from test infrastructure and process, not design defects»
    3. 3. • • • • • • • •
    4. 4. • • • • •
    5. 5. • • • • •
    6. 6. • • • •
    7. 7. • • • • •
    8. 8. • • • • •
    9. 9. • • •
    10. 10. • • • • •
    11. 11. • • • •
    12. 12. • • • • •
    13. 13. • •
    14. 14. GitHub SSH keys: https://help.github.com/articles/generating-ssh-keys $ git clone https://github.com/JoachimL/Creuna-Tdd.git $ git checkout tags/01-Before • •
    15. 15. • • • • • • • • • •
    16. 16. git checkout tags/02-Refactor
    17. 17. git checkout tags/02-Refactor
    18. 18. git checkout tags/02-Refactor
    19. 19. git checkout tags/02-Refactor-done
    20. 20. git checkout tags/02-Refactor-done
    21. 21. git checkout tags/04-Generic-MultipleNumbers-implemented
    22. 22. git checkout tags/04-Generic-MultipleNumbers-implemented
    23. 23. git checkout tags/05-Refactored-to-linq
    24. 24. git checkout tags/06-line-break-test-added
    25. 25. git checkout tags/08-Custom-delimiters-test
    26. 26. git checkout tags/09-Custom-delimiters-implementation
    27. 27. git checkout tags/10-CalculationAggregator
    28. 28. • • • • • •
    29. 29. git checkout tags/10-CalculationAggregator
    30. 30. GOD sommer!

    ×