Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Test-driven-Development mit TYPO3
Search
Oliver Klee
September 12, 2017
Technology
0
160
Test-driven-Development mit TYPO3
Oliver Klee
September 12, 2017
Tweet
Share
More Decks by Oliver Klee
See All by Oliver Klee
Content-Synchronisierung
oliverklee
0
52
Gewaltfreie Kommunikation: ein Crashkurs
oliverklee
0
160
Motivationspsychologie und Gamification in Non-Profit-Organisationen
oliverklee
0
100
Test-driven development with PHPUnit
oliverklee
0
200
Writing PHPUnit tests for TYPO3 extensions
oliverklee
0
190
Software quality for TYPO3 projects: A story of cheese, games and tools
oliverklee
0
280
TDD für Senior-Devs
oliverklee
0
78
Gamification für Arbeit in Communities
oliverklee
0
110
Software quality, cheese and games
oliverklee
0
360
Other Decks in Technology
See All in Technology
Oracle Exadata Database Service(Dedicated Infrastructure):サービス概要のご紹介
oracle4engineer
PRO
0
9.4k
忙しい人のためのLangGraph概要まとめ
__ymgc__
0
100
Binary Authorizationと友達になろう / Let's be friends with Binary Authorization
iselegant
2
140
強いチームを夢見て-PMからSREに転身して1年の振り返り / 20240906_bengo4_sre
bengo4com
2
810
ロリポップ! for Gamersを支えるインフラ/lolipop for gamers infrastructure
takumakume
0
100
contenteditableと向き合う
kikuchikakeru
2
240
技術力あげたい
hisaichi5518
2
2.9k
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
0
3.2k
Oracle Database Backup Service:サービス概要のご紹介
oracle4engineer
PRO
0
4k
夏休みの(最後の)宿題 for JuliaTokyo #12
antimon2
0
130
LLM を現場で評価する
asei
4
700
疎通2024
sadnessojisan
5
870
Featured
See All Featured
Creatively Recalculating Your Daily Design Routine
revolveconf
215
12k
From Idea to $5000 a Month in 5 Months
shpigford
378
46k
StorybookのUI Testing Handbookを読んだ
zakiyama
25
5k
Robots, Beer and Maslow
schacon
PRO
157
8.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
Web development in the modern age
philhawksworth
204
10k
How to Ace a Technical Interview
jacobian
275
23k
Bash Introduction
62gerente
608
210k
The Mythical Team-Month
searls
218
43k
Done Done
chrislema
180
16k
Raft: Consensus for Rubyists
vanstee
135
6.5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
41
6.5k
Transcript
Test-driven- Development mit TYPO3 Oliver Klee, 2017-09 @oliklee
[email protected]
Unit- Tests?
Manuelles Testen ist mühsam
Automatisierte Tests sind schnell
Unit-Tests für die Realty-Manager- TYPO3-Extension
>1600 Tests
< 60 Sekunden
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
Baue ein Sicherheitsnetz fürs Refactoring oder für TYPO3-Updates
Verbessere die Struktur des Codes
Grün fühlt sich gut an!
None
Lasst uns ein paar Begriffe klarstellen
Die zwei Programmier-Modi sauber hacky
Testsuite Testcase Test Assertion Test Test Testcase
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()
Schreibe zuerst den Test Test schreiben Code schreiben refactoren
None
Test-Level http://filipdefar.com/2015/06/tested-be-thy-name.html
Unit-Tests sind klein und schnell
Integrationstests testen das Zusammenspiel von Komponenten in TYPO3: „Functional Tests“
Systemtests testen das große Ganze
Test-Typen
Blackbox-Tests testen das nach außen Sichtbare
Whitebox-Tests wie genau es innen funktioniert testen,
Functional Tests
Akzeptanztests
Anti- Zombie- Tests-
Regressionstests
Smoketests
Smoketests
Story-Tests für Behavior-Driven Development (BDD)
None
Test- Namen
Benutze aussagekräftige Test-Namen classCanBeInstantiated setTitleSetsTitle setSizeWithZeroThrowsException hasTitleForEmptyTitleReturnsFalse Benenne das Verhalten.
Nenne die Vorbedingungen. Nenne die Methode. Benutze nicht „works“ oder „correctly“. measureFrubbleWorksCorrectly
None
Code- Kata
None
Kenne Werkzeuge deine
TYPO3-Testing-Frameworks TYPO3 CMS PHPUnit PHP Fokus typo3/ testing- framework 8.5.x-9.x
6.2.x 7.0.x-7.1.x Core (Extensions) nimut/ testing- framework 6.2.x-8.7.x (6.2.x-9.x) 4.8.x-5.7.x 5.3.x-7.1.x Extensions