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
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
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
540
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
190
20260208_第66回 コンピュータビジョン勉強会
keiichiito1978
0
130
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.8k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
StrandsとNeptuneを使ってナレッジグラフを構築する
yakumo
1
120
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.3k
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
ZOZOにおけるAI活用の現在 ~開発組織全体での取り組みと試行錯誤~
zozotech
PRO
5
5.5k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
230
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.3k
Featured
See All Featured
ラッコキーワード サービス紹介資料
rakko
1
2.3M
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
First, design no harm
axbom
PRO
2
1.1k
Fireside Chat
paigeccino
41
3.8k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
130
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.9k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.6k
WCS-LA-2024
lcolladotor
0
450
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
82
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
750
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 ೠ ߑߨ