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
iOS TDD iOS Tech Talk
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Realm
February 20, 2017
Technology
0
5.2k
iOS TDD iOS Tech Talk
TDD (Test-driven Development) for iOS - iOS Tech Talk 2017
Won Cho
Realm
February 20, 2017
Tweet
Share
More Decks by Realm
See All by Realm
WWDC 2017 Review
realm
0
2.1k
Xcode shortcuts
realm
0
4.7k
Self Branding with GitHub
realm
0
4.3k
Realm Mobile Platform overview and demo
realm
0
2.1k
Realm advanced topics and demo
realm
0
2k
Realm introduction Seoul meetup 10
realm
0
2.2k
Stuart Hall: How I got 2.3 Million App Downloads
realm
0
1.9k
James Majors: What the Swiftly Func?
realm
1
4.3k
Simina Pasat: Continuous everything for iOS apps
realm
0
650
Other Decks in Technology
See All in Technology
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
170
Introduction to Bill One Development Engineer
sansan33
PRO
0
360
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.8k
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.4k
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
570
Tebiki Engineering Team Deck
tebiki
0
24k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.3k
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
230
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
140
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
230
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
thara0402
0
180
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
210
Building Adaptive Systems
keathley
44
2.9k
Practical Orchestrator
shlominoach
191
11k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
170
Amusing Abliteration
ianozsvald
0
100
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
91
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Building an army of robots
kneath
306
46k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
140
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
350
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
280
First, design no harm
axbom
PRO
2
1.1k
Transcript
TEST DRIVEN DEVELOPMENT IOS
ABOUT ME ઑ ਗ ▸ 1992.08.19 ▸ CS ҕೞח ࢤ
▸ 2015.12 ~ present at I/O ▸ medium.com/@trilliwon
FROM ONE SAPIENS TO ANOTHER.
झਤ iOS application Frontend
۠ ࣽࢲ۽ ফӝ೧ ࠅө פ ▸ TDD о ޥী ೧
▸ TDD ৵ ೧ঠ ೞחী ೧ ▸ ա TDD ҃ী ೧ ▸ Xcodeীࢲ iOS TDD
WHAT IS TDD?
T D D
TEST DRIVEN DEVELOPMENT
పझ ب ѐߊ
TDD WORKFLOW
पಁೞח పझ ࢿ ࢿػ పझܳ ాҗೞח ٘ ࢿ ࢿೠ ٘
ܻಂష݂
THE THREE LAWS OF TDD
TEST DRIVEN DEVELOPMENT ON IOS पಁೞח పझ ࢿ ▸ Compiler
error = Failing test ▸ Red = Failing test RED
TEST DRIVEN DEVELOPMENT ON IOS ࢿػ పझܳ ాҗೞח ٘ ࢿ
▸ Green = Passing test GREEN
TEST DRIVEN DEVELOPMENT ON IOS ܻಂష݂ ▸ Refactor ▸ ֎߁
▸ ࠂઁѢ ▸ … REFACTOR
TEST DRIVEN DEVELOPMENT ON IOS पಁೞח పझ ࢿ ▸ Compiler
error = Failing test ▸ Red = Failing test RED
TEST DRIVEN DEVELOPMENT ON IOS पಁೞח పझ ࢿ ▸ Compiler
error = Failing test ▸ Red = Failing test RED GREEN
TEST DRIVEN DEVELOPMENT ON IOS ࢿػ పझܳ ాҗೞח ٘ ࢿ
▸ Green = Passing test GREEN GREEN
TEST DRIVEN DEVELOPMENT ON IOS TDD ٜ ▸ ࣗझ٘ ಿ
▸ ਃೠ ٘݅ ࢿೣ ▸ ٣ߡӦ दр ড ▸ ݽٕച ٣ੋ ▸ ਬࠁࣻ ਊࢿ ▸ ܻಂష݂ ਊࢿ ▸ పझ ٘ ޙࢲച
TEST DRIVEN DEVELOPMENT ON IOS TDD ٜ ▸ ࣗझ٘ ಿ
▸ ਃೠ ٘݅ ࢿೣ ▸ ٣ߡӦ दр ড ▸ ݽٕച ٣ੋ ▸ ਬࠁࣻ ਊࢿ ▸ ܻಂష݂ ਊࢿ ▸ పझ ٘ ޙࢲച नх
नх ਃפ.
TEST DRIVEN DEVELOPMENT ON IOS TDD ױ ▸ ۽షఋೝী ࠗ
▸ ࣼ೧חؘ दрѦܿ
TEST DRIVEN DEVELOPMENT ON IOS TDD RULE ▸ Fast ▸
Independent ▸ Repeatable ▸ Self-Validating ▸ Timely
TEST DRIVEN DEVELOPMENT ON IOS TDD RULE // GIVEN //
WHEN // THEN
ӝর೧ঠ ೡ Ѫ
THE THREE LAWS OF TDD
WHY TDD
ѐߊ
: SUPER CLASS ѐߊ : SUB CLASS
HAS A WISDOM
ѐߊ CAN USE WISDOM
ࣘۆ?
ഌٜ
ইח ӡب ޛযࠁҊ оۄ
جܻب ف٘۰ࠁҊ Ѥցۄ
TDDۄח ഌח ܻ ীࢲ ݆ ই ࠅ ࣻ যਃ
पࣻܳ ӝ ਤೠ ഌ
߈ૐоמࢿ ண ನಌ
ண ನಌ
ઃо ৻҅ੋ ҳܳ ஜҕೡѢঠ! ߈ૐ ࠛоמೣ
ޛ 100 بॿীࢲ Փח ߈ૐ оמೣ
ৈӝ ଵৈೞन ݽٚ ٜ࠙ ݓ࠘ਸ ࣗਬೞҊ ҅पѢঠ! ߈ૐ оמೣ
ޛ 100 بॿীࢲ Փח ߈ૐ оמೣ ݆ పझܳ Ѽ٣ݶ Ӓ݅ఀ
જ ۿ ػ
ઃо ৻҅ੋ ҳܳ ஜҕೡѢঠ! ߈ૐ ࠛоמೣ ղ ٘ח ੜ جইтѢঠ
ৈӝ ଵৈೞन ݽٚ ٜ࠙ ݓ࠘ਸ ࣗਬೞҊ ҅पѢঠ! ߈ૐ оמೣ જ
٘݅ ই పझܳ ాҗೞ ޅೣ
যڃоਃ?
যڃ ੋр غযঠ ೞա?
যڃ ਸ ইঠ ೞա?
যڃ ѐߊо غযঠ ೞա?
э ੌೞҊ र ѐߊ
ࡆח ࢚ടਸ ٜ݅ ঋח ѐߊ
যڃоਃ?
ղ ҃
߅ (ਸ)ܳ ҳ۽ ୶о ೞदѷणפө? ۽ જоਃ?
None
ٸ ࢎਊೡ ۄ࠳۞ܻ
https://github.com/trilliwon/JNaturalKorean NO TDD MORE TIME TO DEBUG MORE TIME TO
MAINTAIN NO CONFIDENCE
https://github.com/trilliwon/NaturalKorean TDD CLEAN CODE BEAUTIFUL CODE CONFIDENCE MUCH BETTER
LET'S DIVE IN CODE
None
None
COMMAND + U CONTROL + U
this is A test headline This Is A Test Headline
THE THREE LAWS OF TDD
WORKING CODE TEST CODE RED SYNTAX ERRORܳ ೖೞӝ ਤೠ ٘
पಁೞח పझ
WORKING CODE TEST CODE GREEN ࢿػ పझܳ ాҗೞب۾݅ ࢿػ ٘
ాҗೞח పझ
WORKING CODE TEST CODE REFACTOR ܻಂష݂ ೠ పझ ٘
WORKING CODE TEST CODE RED ࢜۽ పझ ٘ ࢿ ো
FAIL
WORKING CODE TEST CODE GREEN पಁೞח పझܳ ాҗೞח ٘ PASS
ೞח పझ٘
WORKING CODE REFACTOR झਤ झۣѱ ܻಂష݂ ೠ ٘
TEST CODE REFACTOR ֎߁ ܻಂష݂ೠ పझ ٘
None
None
NO Q & A MAY BE
хࢎפ
How to use if not null if true
IOSীࢲ যܳ LOCALIZATIONೞח GORGEOUS ೠ ߑߨ