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.1k
実践テスト駆動開発 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
860
標準パッケージにおけるテストでの利用例から学ぶ testing / quick パッケージ/golang-testing-quick
yusukehosonuma
4
12k
Swift で ParameterizedTest をやってみた話/swift-parameterized-test
yusukehosonuma
4
2k
Property-based test beginning with SwiftCheck
yusukehosonuma
1
5.5k
XCTest(再)入門/reintroduction-to-xctest
yusukehosonuma
0
430
ソースコードから読み解く - Quick はどのように実装されているのか?/quick-code-reading
yusukehosonuma
7
11k
Swift 4.2 はどのような進化をしているのか/whats-new-swift42
yusukehosonuma
16
15k
HTTPモックライブラリ「Mockingjay」を使ってみた話/swift-mockingjay
yusukehosonuma
5
3.8k
Other Decks in Technology
See All in Technology
モノレポ開発のエラー、誰が見る?Datadog で実現する適切なトリアージとエスカレーション
biwashi
6
810
レビューを増やしつつ 高評価維持するテクニック
tsuzuki817
1
710
Goで作って学ぶWebSocket
ryuichi1208
0
190
一度 Expo の採用を断念したけど、 再度 Expo の導入を検討している話
ichiki1023
1
170
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
エンジニアのためのドキュメント力基礎講座〜構造化思考から始めよう〜(2025/02/15jbug広島#15発表資料)
yasuoyasuo
17
6.7k
偶然 × 行動で人生の可能性を広げよう / Serendipity × Action: Discover Your Possibilities
ar_tama
1
1.1k
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
530
人はなぜISUCONに夢中になるのか
kakehashi
PRO
6
1.6k
技術的負債解消の取り組みと専門チームのお話 #技術的負債_Findy
bengo4com
1
1.3k
ハッキングの世界に迫る~攻撃者の思考で考えるセキュリティ~
nomizone
13
5.2k
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
580
Featured
See All Featured
The Language of Interfaces
destraynor
156
24k
Gamification - CAS2011
davidbonilla
80
5.1k
Building Applications with DynamoDB
mza
93
6.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
It's Worth the Effort
3n
184
28k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Code Review Best Practice
trishagee
67
18k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
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.