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
5.2k
0
Share
iOS TDD iOS Tech Talk
TDD (Test-driven Development) for iOS - iOS Tech Talk 2017
Won Cho
Realm
February 20, 2017
More Decks by Realm
See All by Realm
WWDC 2017 Review
realm
0
2.2k
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
2k
James Majors: What the Swiftly Func?
realm
1
4.3k
Simina Pasat: Continuous everything for iOS apps
realm
0
660
Other Decks in Technology
See All in Technology
大学職員のための生成AI最前線 :最前線を、AIガバナンスとして読み直すためのTips
gmoriki
2
3.3k
Building Production-Ready Agents Microsoft Agent Framework
_mertmetin
0
140
バイブコーディングで3倍早く⚪⚪を作ってみた
samakada
0
210
Anthropic「Long-running a gents」をGeminiで再現してみた
tkikuchi
0
770
色を視る
yuzneri
0
310
拝啓、あの夏の僕へ〜あなたも知っているApp Runnerの世界〜
news_it_enj
0
200
(きっとたぶん)人材育成や教育のような何かの話
sejima
0
340
Oracle Cloud Infrastructure:2026年4月度サービス・アップデート
oracle4engineer
PRO
0
290
要件定義の精度を高めるための型と生成AIの活用 / Using Types and Generative AI to Improve the Accuracy of Requirements Definition
haru860
0
290
AIが盛んな時代に 技術記事を書き始めて起きた私の中での小さな変化
peintangos
0
340
小説執筆のハーネスエンジニアリング
yoshitetsu
0
910
音声言語モデル手法に関する発表の紹介
kzinmr
0
160
Featured
See All Featured
Building AI with AI
inesmontani
PRO
1
960
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
210
Abbi's Birthday
coloredviolet
2
7.4k
New Earth Scene 8
popppiees
3
2.2k
Code Review Best Practice
trishagee
74
20k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.9k
エンジニアに許された特別な時間の終わり
watany
106
240k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
390
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Color Theory Basics | Prateek | Gurzu
gurzu
0
300
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
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 ೠ ߑߨ