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
880
標準パッケージにおけるテストでの利用例から学ぶ 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.6k
XCTest(再)入門/reintroduction-to-xctest
yusukehosonuma
0
450
ソースコードから読み解く - 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
7,000名規模の 人材サービス企業における プロダクト戦略・戦術と課題 / Product strategy, tactics and challenges for a 7,000-employee staffing company
techtekt
0
220
DevinはクラウドエンジニアAIになれるのか!? 実践的なガードレール設計/devin-can-become-a-cloud-engineer-ai-practical-guardrail-design
tomoki10
3
1.5k
アプリケーション固有の「ロジックの脆弱性」を防ぐ開発者のためのセキュリティ観点
flatt_security
40
15k
ペアプログラミングにQAが加わった!職能を超えたモブプログラミングの事例と学び
tonionagauzzi
1
160
20250413_湘南kaggler会_音声認識で使うのってメルス・・・なんだっけ?
sugupoko
0
110
Road to SRE NEXT@仙台 IVRyの組織の形とSLO運用の現状
abnoumaru
1
470
マルチアカウント管理で必須!AWS Organizationsの機能とユースケース解説
nrinetcom
PRO
1
120
AIエージェント開発における「攻めの品質改善」と「守りの品質保証」 / 2024.04.09 GPU UNITE 新年会 2025
smiyawaki0820
0
290
FinOps_Demo
tkhresk
0
120
PostgreSQL Unconference #52 pg_tde
nori_shinoda
1
250
20250328_OpenAI製DeepResearchは既に一種のAGIだと思う話
doradora09
PRO
0
180
問題解決に役立つ数理工学
recruitengineers
PRO
8
2.4k
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
510
How STYLIGHT went responsive
nonsquared
99
5.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
177
52k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Adopting Sorbet at Scale
ufuk
75
9.3k
Scaling GitHub
holman
459
140k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
Testing 201, or: Great Expectations
jmmastey
42
7.4k
The Cost Of JavaScript in 2023
addyosmani
48
7.6k
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.