Testing für TYPO3-ExtensionOliver Klee, 2022-06@oliklee [email protected]
View Slide
Fahrplan1. Einstieg2. Überblick und Konzepte3. ich baue4. ihr baut :-)5. Feedback & Schluss
Was braucht ihr?https://ddev.readthedocs.io/https://github.com/TYPO3-Documentation/tea/
Unit-Tests?
Manuelles Testen ist mühsam
AutomatisierteTests sind schnell
Tests für den TYPO3-Core
Unit-Tests 406 (144) Tests/s
Functional-Tests 8,13 (1,97) Tests/s
Acceptance-Tests 0,009 (0,003) Tests/s
Sicher sein, dass derCode das Richtige tut
Verhindern, dass deineÄnderungen etwas andereskaputt machen
Verhindern,dass andere Leutedeinen Code kaputtmachen
Auch bei komplexen Projekten nichts kaputt machen
Baue ein Sicherheitsnetzfürs Refactoringoder für TYPO3-Updates
Verbesseredie Strukturdes Codes
Finde die Ursache von Bugs
Grün fühlt sich gut an!
Lasst uns ein paarBegriffe klarstellen
Die zwei Programmier-Modisauberhacky
TestsuiteTestcaseTestAssertionTestTestTestcase
Lebenszyklus eines Testsnew FooTest();setUp();/** @test */lifeIsGood();tearDown();
Test-Levelhttp://filipdefar.com/2015/06/tested-be-thy-name.html
Unit-Tests sindklein und schnell
Integrationsteststesten das Zusammenspielvon Komponentenin TYPO3: „Functional Tests“
Systemtests testendas große Ganze
Test-Typen
Blackbox-Teststesten dasnach außen Sichtbare
Whitebox-Tests wie genau esinnen funktionierttesten,
AkzeptanztestsSeleniumCodeception
Anti- Zombie- Tests-
Regressionstests
Smoketests
Story-Tests fürBehavior-Driven Development(BDD)BehatCodeception
Die Test-PyramideUnitFunctional/ IntegrationAcceptance SystemPhoto by Eugene Tkachenko on Unsplash: https://unsplash.com/photos/TF47p5PHW18
Picture by Diego González on Unsplash: https://unsplash.com/photos/-I8lDurtfAoWerbepause
4 Test-PhasenSetup (aufbauen)setUp() Code in der TestmethodeExercise (ausführen) MethodenaufrufVerify (prüfen) assert…()Teardown (abbauen) tearDown()