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

Testing für TYPO3-Extensions

Testing für TYPO3-Extensions

Oliver Klee

June 22, 2022
Tweet

More Decks by Oliver Klee

Other Decks in Programming

Transcript

  1. Testing für

    TYPO3-Extension
    Oliver Klee, 2022-06
    @oliklee [email protected]

    View Slide

  2. Fahrplan


    1. Einstieg


    2. Überblick und Konzepte


    3. ich baue


    4. ihr baut :-)


    5. Feedback & Schluss

    View Slide

  3. Was braucht ihr?
    https://ddev.readthedocs.io
    /

    https://github.com/TYPO3-Documentation/tea/

    View Slide

  4. Unit-
    Tests?

    View Slide

  5. Manuelles Testen ist mühsam

    View Slide

  6. Automatisierte
    Tests sind schnell

    View Slide

  7. Tests für den

    TYPO3-Core

    View Slide

  8. Unit-Tests

    406 (144) Tests/s

    View Slide

  9. Functional-Tests

    8,13 (1,97) Tests/s

    View Slide

  10. Acceptance-Tests

    0,009 (0,003) Tests/s

    View Slide

  11. Sicher sein, dass der
    Code das Richtige tut

    View Slide

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

    View Slide

  13. Verhindern,

    dass andere Leute

    deinen Code kaputtmachen

    View Slide

  14. Auch bei komplexen

    Projekten nichts

    kaputt machen

    View Slide

  15. Baue ein Sicherheitsnetz

    fürs Refactoring
    oder für

    TYPO3-Updates

    View Slide

  16. Verbessere
    die Struktur
    des Codes

    View Slide

  17. Finde die Ursache von Bugs

    View Slide

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

    View Slide

  19. Lasst uns

    ein paar
    Begriffe

    klarstellen

    View Slide

  20. Die zwei Programmier-Modi
    sauber
    hacky

    View Slide

  21. Testsuite
    Testcase
    Test
    Assertion
    Test
    Test
    Testcase

    View Slide

  22. Lebenszyklus eines Tests
    new FooTest();
    setUp();
    /** @test */


    lifeIsGood();
    tearDown();

    View Slide

  23. Test-Level
    http://
    fi
    lipdefar.com/2015/06/tested-be-thy-name.html

    View Slide

  24. Unit-Tests sind

    klein und schnell

    View Slide

  25. Integrationstests
    testen das Zusammenspiel

    von Komponenten
    in TYPO3:

    „Functional Tests“

    View Slide

  26. Systemtests testen

    das große Ganze

    View Slide

  27. Test-Typen

    View Slide

  28. Blackbox-Tests
    testen das


    nach außen Sichtbare

    View Slide

  29. Whitebox-Tests wie genau es


    innen funktioniert
    testen,

    View Slide

  30. Akzeptanztests
    Selenium
    Codeception

    View Slide

  31. Anti-

    Zombie-

    Tests-

    View Slide

  32. Regressionstests

    View Slide

  33. Smoketests

    View Slide

  34. Smoketests

    View Slide

  35. Story-Tests für


    Behavior-Driven Developmen
    t

    (BDD)
    Behat
    Codeception

    View Slide

  36. Die Test-Pyramide
    Unit
    Functional/

    Integration
    Acceptance System
    Photo by Eugene Tkachenko on Unsplash: https://unsplash.com/photos/TF47p5PHW18

    View Slide

  37. Picture by Diego González on Unsplash: https://unsplash.com/photos/-I8lDurtfAo
    Werbepause

    View Slide

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

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

    View Slide

  39. View Slide