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]

  2. Fahrplan 1. Einstieg 2. Überblick und Konzepte 3. ich baue

    4. ihr baut :-) 5. Feedback & Schluss
  3. Was braucht ihr? https://ddev.readthedocs.io / https://github.com/TYPO3-Documentation/tea/

  4. Unit- Tests?

  5. Manuelles Testen ist mühsam

  6. Automatisierte Tests sind schnell

  7. Tests für den 
 TYPO3-Core

  8. Unit-Tests
 406 (144) Tests/s

  9. Functional-Tests
 8,13 (1,97) Tests/s

  10. Acceptance-Tests
 0,009 (0,003) Tests/s

  11. Sicher sein, dass der Code das Richtige tut

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

  13. Verhindern, dass andere Leute deinen Code kaputtmachen

  14. Auch bei komplexen 
 Projekten nichts 
 kaputt machen

  15. Baue ein Sicherheitsnetz fürs Refactoring oder für 
 TYPO3-Updates

  16. Verbessere die Struktur des Codes

  17. Finde die Ursache von Bugs

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

  19. Lasst uns
 ein paar Begriffe
 klarstellen

  20. Die zwei Programmier-Modi sauber hacky

  21. Testsuite Testcase Test Assertion Test Test Testcase

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

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

  24. Unit-Tests sind klein und schnell

  25. Integrationstests testen das Zusammenspiel von Komponenten in TYPO3: 
 „Functional

    Tests“
  26. Systemtests testen das große Ganze

  27. Test-Typen

  28. Blackbox-Tests testen das nach außen Sichtbare

  29. Whitebox-Tests wie genau es innen funktioniert testen,

  30. Akzeptanztests Selenium Codeception

  31. Anti- 
 Zombie- 
 Tests-

  32. Regressionstests

  33. Smoketests

  34. Smoketests

  35. Story-Tests für Behavior-Driven Developmen t (BDD) Behat Codeception

  36. Die Test-Pyramide Unit Functional/
 Integration Acceptance System Photo by Eugene

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

  38. 4 Test-Phasen Setup (aufbauen) setUp()
 Code in der Testmethode Exercise

    (ausführen) Methodenaufruf Verify (prüfen) assert…() Teardown (abbauen) tearDown()
  39. None