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
実践テスト駆動開発 in iOS/TDD_in_iOS
Search
Yusuke Hosonuma
October 03, 2017
Technology
1
1.2k
実践テスト駆動開発 in iOS/TDD_in_iOS
俺コン Vol.1 / Day. 2
Yusuke Hosonuma
October 03, 2017
Tweet
Share
More Decks by Yusuke Hosonuma
See All by Yusuke Hosonuma
KotlinTest で始める Property-based Testing/kotlintest-property-based-testing
yusukehosonuma
2
1.5k
Marzipan の正体は何だったのか そして SwiftUI の衝撃/wwdc19_marzipan_swiftui
yusukehosonuma
2
910
標準パッケージにおけるテストでの利用例から学ぶ testing / quick パッケージ/golang-testing-quick
yusukehosonuma
4
12k
Swift で ParameterizedTest をやってみた話/swift-parameterized-test
yusukehosonuma
4
2.1k
Property-based test beginning with SwiftCheck
yusukehosonuma
1
5.7k
XCTest(再)入門/reintroduction-to-xctest
yusukehosonuma
0
490
ソースコードから読み解く - Quick はどのように実装されているのか?/quick-code-reading
yusukehosonuma
7
11k
Swift 4.2 はどのような進化をしているのか/whats-new-swift42
yusukehosonuma
16
15k
HTTPモックライブラリ「Mockingjay」を使ってみた話/swift-mockingjay
yusukehosonuma
5
3.9k
Other Decks in Technology
See All in Technology
CRE Camp #1 エンジニアリングを民主化するCREチームでありたい話
mntsq
1
140
Enhancing SaaS Product Reliability and Release Velocity through Optimized Testing Approach
ropqa
1
240
CDKTFについてざっくり理解する!!~CloudFormationからCDKTFへ変換するツールも作ってみた~
masakiokuda
1
170
関数型プログラミングで 「脳がバグる」を乗り越える
manabeai
2
200
Delta airlines Customer®️ USA Contact Numbers: Complete 2025 Support Guide
deltahelp
0
810
VS CodeとGitHub Copilotで爆速開発!アップデートの波に乗るおさらい会 / Rapid Development with VS Code and GitHub Copilot: Catch the Latest Wave
yamachu
2
150
対話型音声AIアプリケーションの信頼性向上の取り組み
ivry_presentationmaterials
1
270
ゼロからはじめる採用広報
yutadayo
3
970
タイミーのデータモデリング事例と今後のチャレンジ
ttccddtoki
6
2.4k
インフラ寄りSREの生存戦略
sansantech
PRO
4
1.6k
2025-07-06 QGIS初級ハンズオン「はじめてのQGIS」
kou_kita
0
170
IPA&AWSダブル全冠が明かす、人生を変えた勉強法のすべて
iwamot
PRO
2
170
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building an army of robots
kneath
306
45k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
The Language of Interfaces
destraynor
158
25k
Producing Creativity
orderedlist
PRO
346
40k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Balancing Empowerment & Direction
lara
1
430
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
6
310
Optimizing for Happiness
mojombo
379
70k
Transcript
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Զίϯ Vol.1 Day.
2 2017/10/03 (Tue) ࡉপ ༞հ@DeNA ࣮ફςετۦಈ։ൃJOJ04 1
˙:VTVLF)PTPOVNBʢ!UPCJʣ • ॴଐ ⁃ %F/"48&5άϧʔϓςετج൫νʔϜ • 'BWPSJUF ⁃ •
ۙگ ⁃ J04%$Ͱ-5ొஃ ⁃ 'BTUMBOFʹॳ$POUSJCVUJPO ⁃ 5XJUUFSΞΠίϯΛม͑ͨ ⁃ 4UBDL0WFSqPXͰॳճ ⁃ ԶίϯEBZͰॳ࢘ձ ࣗݾհ Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 2
ࠓɺ͢͜ͱ 3 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
J04ΞϓϦ։ൃͰ ςετࣗಈԽɾ5%%Λ Ͳ͏ద༻͢Δ͔ʁ 4 Copyright (C) DeNA Co.,Ltd. All Rights
Reserved. ࢲͷߟ͑Λ͠·͢
ΞδΣϯμ 5 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
5%%ͷ෮श • J04ΞϓϦ։ൃʹ͓͚Δ • ࣗಈςετͷ՝ • 5%% • ϥΠϒίʔσΟϯά • ·ͱΊ
ςετۦಈ։ൃʢ5%%ʣͱ 6 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ςετۦಈ։ൃʢTDDʣͱ 7 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
ςετΛઌʹॻ͘ελΠϧͷʮ։ൃख๏ʯ • 3&%ˠ(SFFOˠ3FGBDUPS • ,FOU#FDL͕ఏএ
ςετۦಈ։ൃʢTDDʣͱ 8 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. RED
Green Refactor ςετΛॻ͘ ࠷ݶͷ࣮ ॏෳΛऔΓআ͘
5%%ͷ ϝϦοτɾσϝϦοτ 9 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
TDD ͷϝϦοτ 10 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
• ઌʹςετΛॻ͘͜ͱͰΰʔϧ͕໌֬ʹ • ςετ͍͢͠ઃܭʹͳΔ • ҰʹҰͭͷ͜ͱ͚ͩΔ͜ͱͰूத • ෆ҆ΛݮΒͤΔ
TDD ͷσϝϦοτ 11 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
• εΩϧ͕ඞཁ • աͳઃܭʹͳΔ͜ͱ • 5%%JT%FBE • ద༻ͮ͠Β͍ྖҬ • ηΩϡϦςΟιϑτ
J04ΞϓϦ։ൃͰ Ͳ͏ͳͷ͔ʁ 12 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ͦͷલʹʜ 13 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
υΩυΩೋΫΠζ "ɺ#ɺͲͪΒ͕ਖ਼͍͠ʁ 14 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ୈ̍ 15 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ɹɹ"ςετͷͳ͍ίʔυ ɹɹ#ςετͷ͋Δίʔυ 16 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ɹɹ"ςετͷͳ͍ίʔυ ɹɹ#ςετͷ͋Δίʔυ 17 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
⭕
ୈ̎ 18 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ɹɹ"ՁΛੜΉ͚Ͳɺόάͷ͋Δίʔυ ɹɹ#όά͕ແ͍͚ͲɺՁΛੜ·ͳ͍ίʔυ 19 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ɹɹ"ՁΛੜΉ͚Ͳɺόάͷ͋Δίʔυ ɹɹ#όά͕ແ͍͚ͲɺՁΛੜ·ͳ͍ίʔυ 20 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
⭕
ୈ 21 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ɹɹ"ՁΛੜΉ͕ɺςετͷͳ͍ίʔυ ɹɹ#ςετ͕͋Δ͕ɺՁΛੜ·ͳ͍ίʔυ 22 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ɹɹ"ՁΛੜΉ͕ɺςετͷͳ͍ίʔυ ɹɹ#ςετ͕͋Δ͕ɺՁΛੜ·ͳ͍ίʔυ 23 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
⭕
࠷ॳͷ 24 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ɹɹ"ςετͷͳ͍ίʔυ ɹɹ#ςετͷ͋Δίʔυ 25 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ɹɹ"ςετͷͳ͍ίʔυ ɹɹ#ςετͷ͋Δίʔυ 26 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ͲͪΒ͕ਖ਼͍͔͠߹ʹΑΔ ʜͦΕ͕͑ͩ
ςετΛॻ͘͜ͱ͕ ৗʹਖ਼͍͠Θ͚Ͱͳ͍ 27 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
J04ΞϓϦʹ͓͚Δ ςετࣗಈԽͷ՝ 28 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ςετࣗಈԽͷ՝ 29 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
εΩϧ͕ඞཁ • ࣮ίετ • ϝϯςφϯείετ • ࣮ߦʹ͕͔͔࣌ؒΔ
ςετࣗಈԽͷ՝ 30 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
εΩϧ͕ඞཁ • ࣮ίετ • ϝϯςφϯείετ • ࣮ߦʹ͕͔͔࣌ؒΔ ͜Ε͕ຊͷ՝ʁ
Ұ൪ͷ՝ 31 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
τϨʔυΦϑͷݟۃΊ 32 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
τϨʔυΦϑͷݟۃΊ 33 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
Ͳ͜·ͰࣗಈςετΛద༻͢Δͷ͔ʁ • ΧόϨοδ • ୭͕ϝϯςφϯεΛ͢Δʁ • ͭ·Δͱ͜ΖɺͲ͜ʹՁΛஔ͖͍ͨʁ
τϨʔυΦϑͷݟۃΊ 34 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
Ͳ͜·ͰࣗಈςετΛద༻͢Δͷ͔ʁ • ΧόϨοδ • ୭͕ϝϯςφϯεΛ͢Δʁ • ͭ·Δͱ͜ΖɺͲ͜ʹՁΛஔ͖͍ͨʁ ͔ͬ͠Γߟ͑ͳ͍ͱɺςετΛ࡞Δ͜ͱ ͕తʹͳΓɺ࠷ޙࣺͯΒΕΔ
खڧ͍࣭ 35 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
खڧ͍࣭ 36 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
ԿͷͨΊʹςετΛࣗಈԽ͢Δͷʁ • νʔϜશһ͕ೲಘ͍ͯ͠Δʁ • ଞͷ1+ͷޭࣄྫΛͦͷ··ద༻ͯ͠ͳ͍ʁ • ՁΛੜ·ͳ͍ςετʹ߆ͬͯͳ͍ʁ • ͦͦࣗಈԽ͢Δඞཁ͋Δͷʁ
खڧ͍࣭ 37 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
ԿͷͨΊʹςετΛࣗಈԽ͢Δͷʁ • νʔϜશһ͕ೲಘ͍ͯ͠Δʁ • ଞͷ1+ͷޭࣄྫΛͦͷ··ద༻ͯ͠ͳ͍ʁ • ՁΛੜ·ͳ͍ςετʹ߆ͬͯͳ͍ʁ • ͦͦࣗಈԽ͢Δඞཁ͋Δͷʁ ςετٕ๏͖͕ͬͯͨɺ͕ࣗͨͪ ඞཁͳͷΛऔࣺબ͢Δ͜ͱ͕ॏཁ
͍ͭςετࣗಈԽʹ औΓΉ͔ʁ 38 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
͍ͭςετࣗಈԽʹऔΓΉ͔ʁ 39 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ϏδωεతʹՁΛੜΉͱݟࠐΊͨ࣌
ࢢͰՁΛੜΉ͔Θ͔Βͳ͍ஈ֊Ͱɺ ςετΛࣗಈԽ͢ΔՁബ͍ ϓϩάϥϚ͕࣮࣌ʹෆ҆Λײ͡Δ෦ ωΨςΟϒͳײɺ ଟ͘ͷ࡞ۀʹϚΠφεͳӨڹΛ༩͕͑ͪ
J04ΞϓϦ։ൃʹ͓͚Δ ςετۦಈ։ൃʢ5%%ʣ 40 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
iOSΞϓϦ։ൃʹ͓͚ΔTDD 41 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
6*ςετ ɹ⭕ࣗ৴Λײͯ͡ɺ෦ઃܭͷվળ͕͘͢͠ ɹ❌࣮ʹ͕͔͔࣌ؒΔ • ୯ମςετ ɹ⭕ςετ͍͢͠ઃܭʹͳΔ ɹ⭕҆શωοτ͕ுΓ८Β͞ΕΔ
ϥΠϒίʔσΟϯά 42 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
࡞Δͷ 43 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. λοϓͨ͠Βϝοηʔδ͕දࣔ
ϥΠϒίʔσΟϯά Λऴ͑ͯ 44 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ϥΠϒίʔσΟϯάΛऴ͑ͯ 45 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
Ұͭͷ͜ͱʹूதͰָ͖͍ͯ͠ • ͰγϛϡϨʔλىಈʹ͔͔࣌ؒΔͳ • ϦϑΝΫλϦϯάΓྑ͍श׳ͩ • ϝοηʔδ͕มΘͬͨΒमਖ਼͠ͳ͍͔ɾɾɾ • ॏཁͳέʔεྑ͍͚Ͳ͜ͷςετա͔ͳ • ୯ମϨϕϧͩͬͨΒ5%%Ͱྑ͍͔ʁ
ϥΠϒίʔσΟϯάΛऴ͑ͯ 46 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
Ұͭͷ͜ͱʹूதͰָ͖͍ͯ͠ • ͰγϛϡϨʔλىಈʹ͔͔࣌ؒΔͳ • ϦϑΝΫλϦϯάΓྑ͍श׳ͩ • ϝοηʔδ͕มΘͬͨΒमਖ਼͠ͳ͍͔ɾɾɾ • ॏཁͳέʔεྑ͍͚Ͳ͜ͷςετա͔ͳ • ୯ମϨϕϧͩͬͨΒ5%%Ͱྑ͍͔ʁ ײɾؾ͖ͮΛେʹ͠Α͏ʂ
·ͱΊ 47 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
·ͱΊ 48 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
େͳͷՁͷݟۃΊ • ܧଓతʹτϨʔυΦϑΛݟۃΊ͍ͯ͘ • ϝϯόʔͷΛௌ͘ • ςετͷΛௌ͘ • J04Ͱ5%%׆༻Ͱ͖Δ • ײͷϑΟʔυόοΫΛେʹ͠Α͏ • ۜͷؙͳ͍
%F/"5FTUJOH#MPH 1VCMJTIFE IUUQTXFUEFOBDPN 49 Copyright (C) DeNA Co.,Ltd. All Rights
Reserved.
&OKPZ%FWFMPQNFOU XJUI5%% 50 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.