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.4k
Marzipan の正体は何だったのか そして SwiftUI の衝撃/wwdc19_marzipan_swiftui
yusukehosonuma
2
840
標準パッケージにおけるテストでの利用例から学ぶ testing / quick パッケージ/golang-testing-quick
yusukehosonuma
4
11k
Swift で ParameterizedTest をやってみた話/swift-parameterized-test
yusukehosonuma
4
2k
Property-based test beginning with SwiftCheck
yusukehosonuma
1
5.4k
XCTest(再)入門/reintroduction-to-xctest
yusukehosonuma
0
390
ソースコードから読み解く - Quick はどのように実装されているのか?/quick-code-reading
yusukehosonuma
7
11k
Swift 4.2 はどのような進化をしているのか/whats-new-swift42
yusukehosonuma
16
14k
HTTPモックライブラリ「Mockingjay」を使ってみた話/swift-mockingjay
yusukehosonuma
5
3.7k
Other Decks in Technology
See All in Technology
端末が簡単にリモートから操作されるデモを通じて ソフトウェアサプライチェーン攻撃対策の重要性を理解しよう
kitaji0306
0
170
ガバメントクラウド単独利用方式におけるIaC活用
techniczna
3
270
Java x Spring Boot Warm up
kazu_kichi_67
2
490
GitHub Universe: Evaluating RAG apps in GitHub Actions
pamelafox
0
170
プロダクトエンジニアが活躍する環境を作りたくて 事業責任者になった話 ~プロダクトエンジニアの行き着く先~
gimupop
1
460
【若手エンジニア応援LT会】AWSで繋がり、共に成長! ~コミュニティ活動と新人教育への挑戦~
kazushi_ohata
0
180
Figma Dev Modeで進化するデザインとエンジニアリングの協働 / figma-with-engineering
cyberagentdevelopers
PRO
1
430
Automated Promptingを目指すその前に / Before we can aim for Automated Prompting
rkaga
0
110
フルカイテン株式会社 採用資料
fullkaiten
0
36k
pandasはPolarsに性能面で追いつき追い越せるのか
vaaaaanquish
4
4.4k
10分でわかるfreeeのQA
freee
1
3.4k
[AWS JAPAN 生成AIハッカソン] Dialog の紹介
yoshimi0227
0
150
Featured
See All Featured
Visualization
eitanlees
144
15k
Being A Developer After 40
akosma
86
590k
Facilitating Awesome Meetings
lara
49
6k
Code Review Best Practice
trishagee
64
17k
Art, The Web, and Tiny UX
lynnandtonic
296
20k
Practical Orchestrator
shlominoach
186
10k
Designing for humans not robots
tammielis
249
25k
Measuring & Analyzing Core Web Vitals
bluesmoon
1
39
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
664
120k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
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.