Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Testing von TYPO3-Extensions
Search
Oliver Klee
October 22, 2026
Programming
8
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Testing von TYPO3-Extensions
Oliver Klee
October 22, 2026
More Decks by Oliver Klee
See All by Oliver Klee
Softwarequalität für öffentliche TYPO3-Extensions
oliverklee
0
65
Psychologische Sicherheit
oliverklee
0
44
Generative KI, Ethik und Nachhaltigkeit
oliverklee
0
180
Gewaltfreie Kommunikation: ein Crashkurs
oliverklee
0
150
Team-Management-Plattform
oliverklee
0
100
Vertrauen in Teams & Führung
oliverklee
0
340
Software-Qualität von TYPO3-Extensions automatisieren
oliverklee
0
67
Vertrauen in Teams & Führung
oliverklee
0
190
Testing von TYPO3-Extensions
oliverklee
0
120
Other Decks in Programming
See All in Programming
Performance Optimization With LLMs
xleitix
0
180
Next.js: The final boss of Web Performance
guaca
0
310
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
180
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
510
最近”作らせてる” ローカルAIアプリの話
akit37
0
490
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.8k
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
1k
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
200
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
0
600
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.6k
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.7k
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
860
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Claude Code のすすめ
schroneko
67
230k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
870
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
The Language of Interfaces
destraynor
162
27k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
A Soul's Torment
seathinner
8
3.8k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Test your architecture with Archunit
thirion
2
2.4k
Transcript
Testing von TYPO3-Extension Oliver Klee, 2026-10 @
[email protected]
| oliverklee.de |
[email protected]
Über mich Oliver „Oli“ Klee #bonn #workshop-teacher (seit 1999) #extension-dev
(seit 2005) #unit-testing-guy (seit 2008) #phpstan-guy #best-practices-team #serious-games #metal
Workshops mit mir Extension-Entwicklung Test-driven-Development TYPO3-Extensions testen QA-Automatisierung Git &
Composer Refactoring
UnitTests?
Manuelles Testen ist mühsam
Automatisierte Tests sind schnell
Tests für den TYPO3-Core
Unit-Tests ca. 1700 Tests/s
Functional-Tests ca. 9,8 Tests/s
End-to-end-Tests ca. 0,18 Tests/s
Sicher sein, dass der Code das Richtige tut
Verhindern, dass deine Änderungen etwas anderes kaputt machen
Verhindern, dass andere Leute deinen Code kaputtmachen
Auch bei komplexen Projekten nichts kaputt machen
oder TYPO3-, PHP-, Symfony-Updates Baue ein Sicherheitsnetz fürs Refactoring
Verbessere die Struktur des Codes
Finde die Ursache von Bugs
Grün fühlt sich gut an!
Lasst uns ein paar Begriffe klarstellen
Die zwei Programmier-Modi sauber hacky
Test Assertion Test Test Testcase Testcase Testsuite
Lebenszyklus eines Tests new FooTest(); setUp(); [#Test] lifeIsGood(); tearDown();
4 Test-Phasen Setup (aufbauen) setUp() Code in der Testmethode Exercise
(ausführen) Methodenaufruf Verify (prüfen) assert…() Teardown (abbauen) tearDown()
Test-driven-Development Test schreiben Code schreiben refactoren
Auswirkungen von TDD höhere Testabdeckung erst denken, dann coden fokussierter
coden Tests testen, was der Code tun soll (anstatt, was er tut) sauberere Code-Struktur minimaler Code
Test-Level fi http:// lipdefar.com/2015/06/tested-be-thy-name.html
Unit-Tests sind klein und schnell
Functional-Tests testen das Zusammenspiel von Komponenten auch: „Integrationstests“
End-to-end-Tests t h g i r Playw s s e
r p y C
Test-Typen
Blackbox-Tests testen das nach außen Sichtbare
Whitebox-Tests testen, wie genau es innen funktioniert
Akzeptanztests m u i n e l Se n o
i t p e Co dec
AntiZombieTests-
Regressionstests
Smoketests
Smoketests
Story-Tests für Behavior-Driven Development (BDD) Behat r e b m
Cucu
Die Test-Pyramide End-to-End System Functional Unit Photo by Eugene Tkachenko
on Unsplash: https://unsplash.com/photos/TF47p5PHW18
Tests benennen
Benutze aussagekräftige Test-Namen Benenne das Verhalten. classCanBeInstantiated Nenne die Methode.
setTitleSetsTitle Nenne die Vorbedingungen. setSizeWithZeroThrowsException hasTitleForEmptyTitleReturnsFalse Benutze nicht „works“ oder „correctly“. measureFrubbleWorksCorrectly