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
Testing für TYPO3-Extensions
Search
Oliver Klee
June 22, 2022
Programming
0
130
Testing für TYPO3-Extensions
Oliver Klee
June 22, 2022
Tweet
Share
More Decks by Oliver Klee
See All by Oliver Klee
Content-Synchronisierung
oliverklee
0
57
Gewaltfreie Kommunikation: ein Crashkurs
oliverklee
0
170
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
200
Software quality for TYPO3 projects: A story of cheese, games and tools
oliverklee
0
290
TDD für Senior-Devs
oliverklee
0
80
Gamification für Arbeit in Communities
oliverklee
0
120
Software quality, cheese and games
oliverklee
0
370
Other Decks in Programming
See All in Programming
型付きで行うVSCode拡張機能開発 / VSCode Meetup #31
mazrean
0
230
Делим тесты между QA и разработчиком
mariyasaygina
0
480
Kubernetes上でOracle_Databaseの運用を楽にするOraOperatorの紹介
nnaka2992
0
150
MLOps in Mercari Group’s Trust and Safety ML Team
cjhj
1
110
Assembling the Future: crafting the missing pieces of the Ruby on Wasm puzzle
skryukov
0
130
Go製CLIツールGatling Commanderによる負荷試験実施の自動化
okmtz
3
660
선언형 UI를 학습할 때 알아둬야하는 키워드들
l2hyunwoo
0
110
pytest プラグインを開発して DRY に自動テストを書こう
inuatsu
2
240
AWS CDKを用いたセキュアなCI/CDパイプラインの構築 / Build a secure CI/CD pipeline using AWS CDK
seike460
PRO
3
560
標準ライブラリの動向とイテレータのパフォーマンス
makki_d
3
190
WEBアプリケーションにおけるAWS Lambdaを用いた大規模な非同期処理の実践
delhi09
PRO
7
3.9k
CDKを活用した 大規模コンテナ移行 プロジェクトの紹介
yoyoyopg
0
240
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
79
8.6k
A Philosophy of Restraint
colly
202
16k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.3k
KATA
mclloyd
27
13k
Building Applications with DynamoDB
mza
90
6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Building Better People: How to give real-time feedback that sticks.
wjessup
360
19k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Building an army of robots
kneath
302
42k
VelocityConf: Rendering Performance Case Studies
addyosmani
324
23k
Designing Experiences People Love
moore
138
23k
Transcript
Testing für TYPO3-Extension Oliver Klee, 2022-06 @oliklee
[email protected]
Fahrplan 1. Einstieg 2. Überblick und Konzepte 3. ich baue
4. 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
Automatisierte Tests 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 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
Finde die Ursache von Bugs
Grün fühlt sich gut an!
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();
Test-Level http:// fi lipdefar.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,
Akzeptanztests Selenium Codeception
Anti- Zombie- Tests-
Regressionstests
Smoketests
Smoketests
Story-Tests für Behavior-Driven Developmen t (BDD) Behat Codeception
Die Test-Pyramide Unit Functional/ Integration Acceptance System Photo by Eugene
Tkachenko on Unsplash: https://unsplash.com/photos/TF47p5PHW18
Picture by Diego González on Unsplash: https://unsplash.com/photos/-I8lDurtfAo Werbepause
4 Test-Phasen Setup (aufbauen) setUp() Code in der Testmethode Exercise
(ausführen) Methodenaufruf Verify (prüfen) assert…() Teardown (abbauen) tearDown()
None