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

TDD für Senior-Devs

TDD für Senior-Devs

Oliver Klee

May 30, 2023
Tweet

More Decks by Oliver Klee

Other Decks in Programming

Transcript

  1. Test-driven-

    Development

    für Senior-Devs
    Oliver Klee, 2023-xx
    @[email protected] | [email protected]

    View Slide

  2. Unit-
    Tests?

    View Slide

  3. Automatisierte
    Tests sind schnell

    View Slide

  4. Sicher sein, dass der
    Code das Richtige tut

    View Slide

  5. Verhindern, dass deine
    Änderungen etwas anderes
    kaputt machen

    View Slide

  6. Verhindern,

    dass andere Leute

    deinen Code kaputtmachen

    View Slide

  7. Auch bei komplexen

    Projekten nichts

    kaputt machen

    View Slide

  8. Baue ein Sicherheitsnetz

    fürs Refactoring
    oder für

    TYPO3-Updates

    View Slide

  9. Verbessere
    die Struktur
    des Codes

    View Slide

  10. Finde die Ursache von Bugs

    View Slide

  11. Grün fühlt sich gut an!

    View Slide

  12. Lasst uns

    ein paar
    Begriffe

    klarstellen

    View Slide

  13. Die zwei Programmier-Modi
    sauber
    hacky

    View Slide

  14. 4 Test-Phasen
    Setup (aufbauen)
    setUp()

    Code in der Testmethode
    Exercise (ausführen) Methodenaufruf
    Verify (prüfen) assert…()
    Teardown (abbauen) tearDown()

    View Slide

  15. Schreibe zuerst den Test
    Test

    schreiben
    Code

    schreiben
    refactoren

    View Slide

  16. Wozu führt TDD?
    höhere
    Coverage
    minimaler

    Code
    erst denken,
    dann coden
    Tests testen,
    was der Code
    machen soll

    (statt, was er
    tatsächlich tut)
    fokussiertes
    Coden
    sauberere
    Code-Struktur

    View Slide

  17. Test-
    Namen

    View Slide

  18. Benutze aussagekräftige

    Test-Namen
    classCanBeInstantiated
    setTitleSetsTitle
    setSizeWithZeroThrowsException


    hasTitleForEmptyTitleReturnsFalse
    Benenne das
    Verhalten.
    Nenne die
    Vorbedingungen.
    Nenne die
    Methode.
    Benutze nicht
    „works“ oder
    „correctly“.
    measureFrubbleWorksCorrectly

    View Slide