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
費用対効果の高いテストコードを書くために意識したこと.pdf
Search
Kaoru Hotate
December 16, 2019
Programming
3
5k
費用対効果の高いテストコードを書くために意識したこと.pdf
2019/12/16 年末だよ Android/iOS Test Night - 2019
https://testnight.connpass.com/event/155429/
Kaoru Hotate
December 16, 2019
Tweet
Share
More Decks by Kaoru Hotate
See All by Kaoru Hotate
20240607_人を動かし続ける力_ピープルマネジメントへの内発的動機づけの工夫
hotatekaoru
2
410
20210528_MedPeer_事業成長を加速させたエンジニアリングのウラ側
hotatekaoru
0
1.3k
新規プロジェクトのリードエンジニアになるために
hotatekaoru
6
2.7k
リファクタリングチャンスを探せ
hotatekaoru
2
510
Dependabotからの脱却
hotatekaoru
0
480
Fat Modelに対処する 6つのリファクタリングパターン
hotatekaoru
13
4.6k
MobPro2Points
hotatekaoru
0
120
ViewModelをプロダクトに導入した🤖
hotatekaoru
1
220
僕らのリファクタリングは裏切らない
hotatekaoru
2
2.7k
Other Decks in Programming
See All in Programming
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
0
1.4k
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
470
Implementation Patterns
denyspoltorak
0
140
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3.3k
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
7
4.3k
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
330
2年のAppleウォレットパス開発の振り返り
muno92
PRO
0
180
SQL Server 2025 LT
odashinsuke
0
120
GoLab2025 Recap
kuro_kurorrr
0
1.2k
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
460
Python札幌 LT資料
t3tra
7
1.1k
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
Featured
See All Featured
Chasing Engaging Ingredients in Design
codingconduct
0
94
エンジニアに許された特別な時間の終わり
watany
106
220k
Designing Experiences People Love
moore
143
24k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
GitHub's CSS Performance
jonrohan
1032
470k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
220
Making Projects Easy
brettharned
120
6.5k
Speed Design
sergeychernyshev
33
1.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
4 Signs Your Business is Dying
shpigford
187
22k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
37
Transcript
අ༻ରޮՌͷߴ͍ ςετίʔυΛॻͨ͘Ίʹߟ͑ͨ͜ͱ ,BPSV)PUBUF!QVSVOLBPSV ͩΑ"OESPJEJ045FTU/JHIU UFTU@OJHIU 1
อཱ֜ ,BPSV)PUBUF 5XJUUFS!QVSVOLBPSV ϝυϐΞגࣜձࣾ ‣ 3VCZ ‣ J04
‣ "OESPJEϲ݄ ࣗݾհ 2
͖͔͚ͬ 3 6OJU5FTU͔Βॻ͍͍ͯ͜͏ .PEFM7JFX.PEFM͔Β ॻ͖·͠ΐ͏ ॻ͚ΔՕॴ͔Βॻ͍͍ͯ͜͏ όάͷଟ͍Օॴ͔Βॻ͜͏ શ෦ਖ਼ͦ͠͏ ˞ͦͷϓϩδΣΫτͷঢ়گͰ
͖͔͚ͬ 4 ςετͷʮԿΛΔ͔ʯʮԿ͔ΒΔ͔ʯɺ ϓϩδΣΫτʹΑͬͯҟͳΔͷͰʁ ‣ ΞϓϦͷۀछɾαʔϏεͷ༰ ‣ ϓϩμΫτϥΠϑαΠΫϧ ‣ खಈςετͰͷ୲อͷํ
ςετίʔυΛॻ͘త͔Βɺ ͲͷςετΛॻ͖͔͘அ͠ͳ͍ͱɺ ςετͷఆண࣮ݱͰ͖ͳͦ͞͏
ࠓ͢͜ͱ 5 ͕୲͍ͯ͠ΔαʔϏεʹɺ ͔ΒςετίʔυΛॻ͘͜ͱʹͳΓ·ͨ͠ ʮඅ༻ରޮՌͷߴ͍ςετίʔυʯͱԿ͔ʁʹ͍ͭͯߟ͑ɺ ࣮ફͨ݁͠Ռىͬͨ͜͜ͱΛ͠·͢
ΞδΣϯμ 6 ϓϩδΣΫτͷঢ়گΛѲ͢Δ ςετίʔυͷతΛߟ͑Δ ςετίʔυͷํΛ·ͱΊΔ ࣮ࡍʹى͖ͨ͜ͱΛৼΓฦΔ
͓ͼ 7 ͷ༰্ɺࣗͷϓϩδΣΫτͷઆ໌͕ଟ͘ͳ͍ͬͯ·͢ ڵຯͳ͍ਓ͍Βͬ͠ΌΔͱࢥ͍·͕ྃ͢͝ঝ͍ͩ͘͞
ϓϩδΣΫτͷঢ়گΛѲ͢Δ 8
αʔϏεઆ໌ 9
ͬ͘͟Γͷػೳઆ໌ 10 B ձһొɾϩάΠϯػೳ C ΧϝϥͰࡱӨͨ͠ॲํᝦͷૹ৴ػೳ D ϓογϡ௨डऔΓػೳ E νϟοτϝοηʔδૹड৴ػೳ
"OESPJE.77.Λ࠾༻ 7JFX7JFX.PEFM3FQPTJUPSZ.PEFM
αʔϏεͷϓϩμΫτϥΠϑαΠΫϧ 11 IUUQTCJ[IJOUKQLFZXPSEΑΓ ͜ͷลʁ ˞͋͘·ͰϓϩδΣΫτͰͷओ؍తͳҙݟͰ͢
ςετίʔυͷతΛߟ͑Δ 12
13 ςετΛॻͭ͘ͷత Jਖ਼͘͠ಈ͘͜ͱΛ୲อ͢Δ JJ։ൃ࣌ͷಈ࡞ݕূΛ͘͢Δ JJJϨϏϡʔ࣌ؒΛ͘͢Δ JWΤϯδχΞ͕ײ͡Δਫ਼ਆతෛ୲ΛݮΒ͢ ˞ίʔυͷ࣭Λ୲อ͢Δɾ༷Λ໌จԽ͢ΔͳͲɺଞͷཧ༝ߟ͑ΒΕΔ͕ɺ ςετΛॻ͘෭࣍తͳϝϦοτͩͱߟ͑ͨͷͰɺআ֎͍ͯ͠·͢
Jਖ਼͘͠ಈ͘͜ͱΛ୲อ͢Δ 14 త ‣ όά͕ϦϦʔε͞ΕΔ֬ΛݮΒ͢ ‣ όάൃੜʙमਖ਼ྃʹ͔͚Δ࣌ؒΛݮΒ͢ ‣ σάϨΛ͙
ςετίʔυͷಛ ‣ աڈͷόάൃੜසͷߴ͍Օॴ͔Βॻ͘ ‣ ෳࡶͳΫϥεը໘͔Βॻ͘ ‣ ݺͼग़͞ΕΔॲཧ͕ଟ͍Օॴ͔Βॻ͘
Jਖ਼͘͠ಈ͘͜ͱΛ୲อ͢Δ 15 ͲΜͳϓϩδΣΫτʹద͍ͯ͠Δ͔ <>͘ଓ͚Δ༧ఆͷαʔϏεͰ͋Δ <>ҙਤͨ͠ڍಈʹͳΒͳ͍࣌ͷӨڹɾӨڹֹ͕େ͖͍ <>ػೳमਖ਼͕ଟ͍ <>ϥΠϒϥϦͷΞοϓσʔτΛ͢Δස͕ߴ͍ <>2"νʔϜ͕͍ͳ͍ ˓ º
º ˚ ˓
JJ։ൃ࣌ͷಈ࡞ݕূΛ͘͢Δ 16 త ‣ ࣮ػͰͷಈ࡞ݕূ͕໘ͳՕॴʹରͯ͠ɺ ςετίʔυͰͷڍಈ֬ೝΛߦ͏ ‣ ֬ೝ࿙ΕΛ͙ Δ͜ͱ
‣ ಈ࡞ݕূ͕໘ͳ෦ͷ6OJU5FTUΛॻ͘ ΤϥʔॲཧϨΞέʔεͷڍಈ୲อͳͲ
JJ։ൃ࣌ͷಈ࡞ݕূΛ͘͢Δ 17 ͲΜͳϓϩδΣΫτʹద͍ͯ͠Δ͔ <>"1*ͷNPDLڥ͕ͳ͍ <>ෳࡶͳભҠέʔε͕ଟ͍ <>ΤϯδχΞ͕ಈ࡞ݕূΛαϘΓ͕ͪ ˓ ˚ ˚
JJJϨϏϡʔ࣌ؒΛ͘͢Δ 18 త ‣ ϨϏϡʔ࣌ʹɺςετίʔυͰ୲อ͞Ε͍ͯΔՕॴͷ खಈνΣοΫΛߦ͏࣌ؒΛ͘͢Δ Δ͜ͱ ‣ ෳࡶͳॲཧɺݟ͚ͨͩͰࣗ໌Ͱͳ͍Օॴ͔Β6OJU5FTUΛॻ͘
JJJϨϏϡʔ࣌ؒΛ͘͢Δ 19 ͲΜͳϓϩδΣΫτʹద͍ͯ͠Δ͔ <>ϨϏϡʔจԽ͕͋Δ ଞʹཁҼ͋Γͦ͏͚ͩͲɾɾɾ º
JWΤϯδχΞ͕ײ͡Δਫ਼ਆతෛ୲ΛݮΒ͢ 20 త ‣ ϦϦʔε࣌ʹɺΤϯδχΞʹ͔͔ΔաͷۓுΛ΄͙͢ ‣ ςετͰ୲อ͞Ε͍ͯΔͱ͍͏҆৺ײΛ༩͑Δ Δ͜ͱ ‣
ࣦഊ࣌ʹӨڹͷେ͖͍Օॴ͔Βɺ6*5FTU6OJU5FTUΛॻ͘
JWΤϯδχΞ͕ײ͡Δਫ਼ਆతෛ୲ΛݮΒ͢ 21 ͲΜͳϓϩδΣΫτʹద͍ͯ͠Δ͔ <>ҙਤͨ͠ڍಈʹͳΒͳ͍࣌ͷӨڹɾӨڹֹ͕େ͖͍ <>ϦϦʔεલʹυΩυΩ͢Δ <>ϦϦʔεલʹख͕͑Δ <>ϦϦʔεલʹׇ͕͘ ˓ ˓ ˓
˓
ςετίʔυͷํΛ·ͱΊΔ 22
23 ςετΛॻͭ͘ͷత Jਖ਼͘͠ಈ͘͜ͱΛ୲อ͢Δ JJ։ൃ࣌ͷಈ࡞ݕূΛ͘͢Δ JJJϨϏϡʔ࣌ؒΛ͘͢Δ JWΤϯδχΞ͕ײ͡Δਫ਼ਆతෛ୲ΛݮΒ͢
24 ςετΛॻͭ͘ͷత Jਖ਼͘͠ಈ͘͜ͱΛ୲อ͢Δ JJ։ൃ࣌ͷಈ࡞ݕূΛ͘͢Δ JJJϨϏϡʔ࣌ؒΛ͘͢Δ JWΤϯδχΞ͕ײ͡Δਫ਼ਆతෛ୲ΛݮΒ͢
25 ԿΛΔ͔ʢϨΠϠʔ͝ͱͷΓ͚ʣ ਖ਼͘͠ಈ͘͜ͱΛ ୲อ͢Δ ಈ࡞ݕূΛ ͘͢Δ ਫ਼ਆతෛ୲Λ ݮΒ͢ 7JFX ˚
º ˚ 7JFX.PEFM ˓ ˚ ˚ 3FQPTJUPSZ ˓ ˓ ˓ .PEFM ˓ ˚ ˓ 3FQPTJUPSZɺඞͣ6OJU5FTUΛॻ͘ .PEFMɺෳࡶͳ෦͔Β6OJU5FTUΛॻ͘
26 ԿΛΔ͔ʢػೳ͝ͱͷΓ͚ʣ ਖ਼͘͠ಈ͘͜ͱΛ ୲อ͢Δ ಈ࡞ݕূΛ ͘͢Δ ਫ਼ਆతෛ୲Λ ݮΒ͢ ձһొ ˓
˓ ˕ ॲํᝦը૾ૹ৴ ˓ ˚ ˓ ௨डऔΓ ˚ ˓ ˚ ϝοηʔδૹड৴ ˚ ˚ º ʮձһొʯ6*5FTU6OJU5FTUΛཏ͢Δ ʮॲํᝦը૾ૹ৴ʯ6OJU5FTUΛཏ͢Δ
27 ԿΛΔ͔ʢ·ͱΊʣ ্͔Βॱʹߦ͏ J3FQPTJUPSZͷ6OJU5FTUΛॻ͘ JJʮձһొʯͷ6OJU5FTU6*5FTUΛॻ͘ JJJෳࡶͳ.PEFMͷ6OJU5FTUΛॻ͘ JWʮॲํᝦը૾ૹ৴ʯͷ6OJU5FTUΛॻ͘
࣮ࡍʹى͖ͨ͜ͱΛৼΓฦΔ 28
29 ԿΛΔ͔ʢ·ͱΊʣ ্͔Βॱʹߦ͏ J3FQPTJUPSZͷ6OJU5FTUΛॻ͘ JJʮձһొʯͷ6OJU5FTU6*5FTUΛॻ͘ JJJෳࡶͳ.PEFMͷ6OJU5FTUΛॻ͘ JWʮॲํᝦը૾ૹ৴ʯͷ6OJU5FTUΛॻ͘ ձһొϑϩʔม͑Α͏
30 ײͨ͜͡ͱ ಛʹ࠷ॳͷϑΣʔζ͔ΒςετΛॻ͍͍ͯ͘߹ɺ ϏδωεαΠυͱίϛϡχέʔγϣϯΛͱͬͯɺ ࠷ળͷςετํΛࡦఆ͍ͯ͜͠͏ɻ ઌਓͷܙʹԊͬͯɺී௨ʹ࣮͍͚ͯ͠ ͍͍ײ͡ͷςετํ͕ݐͯΒΕͨؾ͕͢Δɻ ςετίʔυΛఆணͤ͞Δͱ͍͏͜ͱΛॏࢹ͢ΔͷͰ͋Εɺ ͳͥΔ͔Λɺ୲ऀ͕͖ͪΜͱཧղ͍ͯ͠Δ͖ɻ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ 31