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
テスト駆動開発 輪読会 Vol.4
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
K
August 05, 2020
Programming
150
0
Share
テスト駆動開発 輪読会 Vol.4
This is a deck for Test-Driven Development reading session
K
August 05, 2020
More Decks by K
See All by K
Clean-Architecture-Session-12
kentaro555
0
210
Clean-Architecture-Session
kentaro555
0
150
My thought about what to create as a indie hacker
kentaro555
2
670
Other Decks in Programming
See All in Programming
存在論的プログラミング: 時間と存在を記述する
koriym
5
830
ファインチューニングせずメインコンペを解く方法
pokutuna
0
270
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
3
510
Migration to Signals, Signal Forms, Resource API, and NgRx Signal Store @Angular Days 03/2026 Munich
manfredsteyer
PRO
0
240
Vibe하게 만드는 Flutter GenUI App With ADK , 박제창, BWAI Incheon 2026
itsmedreamwalker
0
540
Swift Concurrency Type System
inamiy
0
350
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
130
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
2
150
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
5
2.5k
へんな働き方
yusukebe
6
2.9k
ドメインイベントでビジネスロジックを解きほぐす #phpcon_odawara
kajitack
2
120
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
440
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
So, you think you're a good person
axbom
PRO
2
2k
Optimizing for Happiness
mojombo
378
71k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
290
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
240
Product Roadmaps are Hard
iamctodd
PRO
55
12k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
710
The Language of Interfaces
destraynor
162
26k
A designer walks into a library…
pauljervisheath
211
24k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Transcript
ςετۦಈ։ൃྠಡձ7PM ষʙষ ݄#Zೆ݈ଠ
લճ·Ͱͷ͓͞Β͍ɻ
લճ·Ͱͷ͓͞Β͍ɻ ɾઃܭ্ෳͷ௨՟Λѻ͍ͬͯΔͱ͍͏͜ͱΛ ҙࣝ͠ͳ͍ͰࡁΉΑ͏ʹ͍ͨ͠ɻ ɾ࣮ʹۙͮͨ͘Ίʹɺ࣌ʹ͘͏͔Θ͔Βͳ͍ςετΛ ॻ͘͜ͱඞཁɻ ɾςετͷதʹɺఆ͍ͯ͠Δಈ͖Λͯ͘͠ΕΔ͔Λ֬ೝ͢Δςετ ֶश༻ςετ ࣮ͷࡍʹߟྀ͞Ε͍ͯͳ͔ͬͨςετʢճؼςετʣ ͳͲ͕͋Δɻ
લճ·Ͱͷ͓͞Β͍ɻ ɾςετΛॻ͍͍ͯΔͱςετͷநΛམͱͯ͠ɺ۩ମతͳςετΛॻ͖ ண࣮ʹਐΉ࣌ͱɺίϯύΠϧΤϥʔΛ50%0ϦετΘΓʹ࣮͢Δ͕࣌͋ Δɻ ɾςετΛॻ࣌͘ɺςετΛಡΉଆʹςετΛॻ͍ͨਓͷҙਤ͕ΘΔΑ ͏ʹ͢Δ͕ඞཁɻ ɾ5%%ʮύϑΥʔϚϯεςετʯɺʮෛՙςετʯɺʮϢʔβϏϦςΟς ετʯͷସʹͳΒͳ͍ɻ
ୈষ Y6OJU͔͏খ͞ͳҰา
ୈষͷओͳ༰ ςετέʔεΛॻͨ͘Ίʹ͏ϑϨʔϜϫʔΫΛ࡞Γɻ ࡞ͬͨϑϨʔϜϫʔΫͷςετέʔεΛ࡞Δɻ ୈ̍̔ষͰɺςετ͕࣮ߦ͞Ε͔ͨͲ͏͔ͷϝιουΛ࡞Γɺ ࡞ͬͨϝιουͷςετέʔεΛॻ͘ͱ͍͏ͷɻ
ୈষͰग़͖ͯͨ༻ޠ ɾY6OJU ɾࣗݾݴٴϓϩάϥϛϯά ɾςετϝιου ɾϝιουͷநग़ ɾ1MVHHBCMF4FMFDUPSύλʔϯ
Y6OJUʹ͍ͭͯ ίϯϐϡʔλʔϓϩάϥϜͷ୯ମςετ Λߦ͏ͨΊͷςεςΟϯάϑϨʔϜϫʔΫͷ૯শɻ
ࣗݾݴٴϓϩάϥϛϯάʹ͍ͭͯ ࣗݾݴٴࣗવݴޠܗࣜݴޠͰจ͕ࣜ ͦΕࣗʹݴٴ͢Δ͜ͱ
ςετϝιουʹ͍ͭͯ ςετέʔε͕ఆٛ͞Εͨɺ UFTU͔Β࢝·Δϝιουͷ͜ͱɻ
ϝιουͷநग़ʹ͍ͭͯ ͍ϝιουͷҰ෦Λผͷϝιουʹͯ͠ɺ ͦͷϝιουΛݺͼग़͢Α͏ʹ͢Δํ๏ɻ
1MVHHBCMF4FMFDUPSύλʔϯ Πϯελϯε͝ͱʹҟͳΔৼΔ͍Λͤ͞ΔͨΊʹɺ ϝιου໊Λ֨ೲ͠ɺͦͷϝιουΛಈతʹىಈ͢Δ σβΠϯύλʔϯɻ
ୈষ લ४උ
ୈষͷओͳ༰ ςετΛॻ࣌͘ɺ"ͱݺΕΔجຊύλʔϯ͕͋Δɻ ςετΛ࡞͍ͯ͠Δ࣌ʮύϑΥʔϚϯεʯͱʮಠཱੑʯͷ ͭͷ੍͕ݱΕΔɻ
ୈষͰग़͖ͯͨ༻ޠ ɾ" ɾύϑΥʔϚϯεͱಠཱੑ ɾϑΟΫενϟʔ
"ʹ͍ͭͯ ४උ "SSBOHF ΦϒδΣΫτΛ࡞Δɻ ࣮ߦ "DU ͦͷΦϒδΣΫτʹରͯ͠ૢ࡞Λߦ͏ɻ Ξαʔτ "TTFSU ݁ՌͷݕূΛߦ͏ɻ
ύϑΥʔϚϯεͱಠཱੑʹ͍ͭͯ ύϑΥʔϚϯεςετՄೳͳݶΓૣ͘ಈ࡞ͯ͠΄͍͠ɻ ྫੜͨ͠ΦϒδΣΫτΛ͍·Θ͍ͨ͠ɻ ಠཱੑςετͷޭࣦഊ ଞͷςετͷ݁ՌʹӨڹͨ͠Γ͞ΕͨΓͯ͠΄͘͠ͳ͍ɻ ྫ͍·Θͨ͠ΦϒδΣΫτ͕มߋ͞ΕͨΒɺ ςετ݁Ռʹҧ͍͕ͰΔͳͲɻ
ςετઈରʹґଘؔΛ࡞ͬͯͳΒͳ͍ɻ ςετ͕ࣦͭഊͨ࣌͠ʹ͕ͭͭ͋Δͱɺ मਖ਼͕ࠔʹͳΔͨΊɻ
ϑΟΫενϟʔ ςετΛߦ͏࣌ʹ༻͢ΔΦϒδΣΫτͷݕূΛߦ͏ࡍʹɺ ΦϒδΣΫτͷݕূίʔυΑΓɺςετΛߦ͏ͨΊͷࣄલ ४උͷίʔυͷํ͕͘ͳΓɺॏෳͯ͠͠·͏͜ͱɻ
ϑΟΫενϟʔͷϝϦοτɾσϝϦοτ ϝϦοτɿͯ͢ͷςετ४උίʔυ͕ॻ͔Ε͍ͯΔ߹ɺ ςετΛ্͔ΒಡΊྑ͍ঢ়ଶʹͳΔɻ σϝϦοτɿॻ͘ͷʹ͕͔͔࣌ؒΓɺมߋ͕͋ͬͨ߹ෳ ͷՕॴΛมߋ͢Δඞཁ͕͋Δɻ
ϑΟΫενϟʔΛղܾ͢ΔͨΊʹɺڞ௨Խ͗͢͠Δͱɺ ςετΛߦ͍ͬͯΔ࣌ʹଞʹͲΜͳॲཧ͕ಈ͍͍ͯΔ͔ Ѳ͢Δඞཁ͕͋ΔͨΊɺྑ͍ԘകΛݟ͚ͭΔඞཁ͕͋Δɻ
ୈষ ޙย͚
ୈষͷओͳ༰ ςετϝιουͰɺUFBS%PXOϝιουͱݺΕΔͷ͕͋Δɻ TFU6QͰςετʹඞཁͳ֎෦ϦιʔεΛ४උ͠ɺUFBS%PXOͰ༻ҙ͠ ͨ֎෦ιʔεΛ։์͢Δɻ
ୈষͰग़͖ͯͨ༻ޠ ɾUFBS%PXOϝιου ɾ-PH4USJOHύλʔϯ ɾ໌നͳ࣮
UFBS%PXOϝιουʹ͍ͭͯ TFU6QϝιουͰׂΓͯΒΕͨ֎෦Ϧιʔε ϑΝΠϧ ιέοτͳͲ ߹ͷΈɺͦΕΒΛ։์͢ΔΛͭϝ ιουɻ
-PH4USJOHύλʔϯʹ͍ͭͯ ਖ਼͍͠ॱ൪Ͱϝιου͕ݺΕ͍ͯΔ͜ͱΛ ςετ͍ͨ͠߹ʹ༻͢Δɻ
໌നͳ࣮ʹ͍ͭͯ ͲΜͳ࣮Λ͢Δ͖͔طʹѲ͍ͯͯ͠ɺࡉ͔͍εςοϓ Ծ࣮ͳͲ Λ౿·ͣʹ࣮͢Δ͜ͱɻ
ୈষ ্͑͛ɻ
ୈষͷओͳ༰ ςετΛಈ͔ͨ࣌͠ʹɺʮSVO GBJMFEΤϥʔ༰dʯͱ͍͏Α͏ ʹදࣔ͞ΕΔͨΊʹɺ·͍ͣͭ͘ςετ͕͔ͬͨΛࣔ͢ϩάΛग़ ྗ͢ΔॲཧΛ࡞ɻ
ୈষ ࣦഊͷѻ͍ɻ
ୈষͷओͳ༰ ୈষͰߦͬͨॲཧͷଓ͖ɻ ষͰΤϥʔͷྫ֎ΛΩϟον͢ΔΈͳ͔͕ͬͨɺςετͷ தͰࣦഊϝιουͷݺͼग़͠ɺྫ֎ͷॱʹςετΛࡉ͔͘ߦ͍ςετ ʹࣦഊͨ͠߹ʮSVO GBJMFEʯͱ͍ͬͨܗͰදࣔ͞ΕΔΑ͏ʹ ࣮ɻ
ୈষ εΠʔτʹ·ͱΊΔɻ
ୈষͷओͳ༰ ࠓ·Ͱߦ͖ͬͯͨςετΛΒͤΔͨΊʹॻ͍ͨॲཧΛ 5FTU4VJUFʹ·ͱΊΔͱ͍͏ͷɻ
#FGPSF ষऴྃ࣌ͷίʔυɻ
"GUFS ষऴྃ࣌ͷίʔυɻ
ୈষͰग़͖ͯͨ༻ޠ ɾ5FTU4VJUF ɾ$PNQPTJUFύλʔϯ ɾ$PMMFDUJOH1BSBNFUFSύλʔϯ
5FTU4VJUFʹ͍ͭͯ ͋ΔϓϩάϥϜ͕ͭɺಛఆͷৼΔ͍Λ·ͱΊͨ ςετέʔεͷմͷ͜ͱɻ
$PNQPTJUFύλʔϯʹ͍ͭͯ ೖΕͱதͷͷΛಉҰͷͷͱଊ͑ͯɺ࠶ؼతͳߏ ͰॲཧΛ؆୯ʹ͢Δ͜ͱ͕Ͱ͖ΔσβΠϯύλʔϯɻ
࣮ࡍͷྫͱͯ͠ࢀߟʹͳΓͦ͏ͳͷɻ IUUQTXXXSJUPMBCDPNFOUSZ
֓ཁ $PNQPTJUFύλʔϯΛ༻͍ͯɺσΟϨΫτϦͷ߹ σΟϨΫτϦͱͦΕʹ࿈ͳΔϑΝΠϧදࣔɻ ϑΝΠϧͷΈͷ߹ɺϑΝΠϧͷΈͷදࣔΛग़͚͠ ͍ͯΔॲཧ͕ྫͱͯ͠ॻ͍ͯ͋Δɻ
$PMMFDUJOH1BSBNFUFSύλʔϯʹ͍ͭͯ ϝιουͷΓΛϕʔεʹσʔλΛ࡞͢ΔͷͰͳ ͘ɺҾʹͨ͠ΦϒδΣΫτʹσʔλΛੵ͍ͯ͘͠ σβΠϯύλʔϯɻ
#FGPSF $PMMFDUJOH1BSBNFUFSύλʔϯલͷίʔυɻ
"GUFS $PMMFDUJOH1BSBNFUFSύλʔϯޙͷίʔυɻ
ୈষ Y6OJUͷશମ;Γ͔͑Γ
ୈষͷओͳ༰ Y6OJUΛ࣮͢Δͭͷҙ͕ٛ͋Δɻ ̍ͭɺࣗࣗͰ࣮͢Δ͜ͱʹΑͬͯɺ͕ࣗҰ൪Α͍ͬͯ͘͠ Δಓ۩͕खʹೖΔͱ͍͏͜ͱɻ ख़ୡ ͏̍ͭɺY6OJUͷ࣮Λ௨ͯ͡৽͍͠ϓϩάϥϛϯάݴޠͰඞཁ ͳػೳΛཏ͢Δ͜ͱ͕Ͱ͖Δɻ
·ͱΊٴͼײ Y6OJUͬͯཪͰ͜͏͍͏෩ʹͳ͍ͬͯΔͷ͔ͱ͍ͬͨยྡྷΛΔ͜ͱ ͕Ͱ͖ͨɻ ·ͨɺ్தͷνϟϓλʔͰ͕͋ͬͨɺΑΓྑ͍ςετΛॻͨ͘Ίʹ ɺͱʹ͔͘ςετΛॻ͍ͯܦݧΛੵ͍ͯ͘͠ඞཁ͕͋Δͱ͍͏ ͜ͱΛ࣮ײͨ͠ɻ