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
えっ、まだユニットテスト書いてない現場があるんですか? - ボトムアップでもっとい...
Search
ikikko
October 02, 2021
Programming
2
19k
えっ、まだユニットテスト書いてない現場があるんですか? - ボトムアップでもっといけてるチームになるために、たった一つの大事なこと - / Why don't you write unit tests
https://confengine.com/conferences/scrum-fest-mikawa-2021/proposal/15885
ikikko
October 02, 2021
Tweet
Share
More Decks by ikikko
See All by ikikko
Scrum.orgのEVIDENCE-BASED MANAGEMENT(EBM) を受けてきたお話 / Taking EBM assessment in Scrum.org
ikikko
0
1.2k
RSGT2022 参加レポート / Report of RSGT2022
ikikko
0
1.9k
プロダクトマネジメントプロセス / Product Management Process
ikikko
0
200
Other Decks in Programming
See All in Programming
gen_statem - OTP's Unsung Hero
whatyouhide
1
190
AI Agents with JavaScript
slobodan
0
220
Building a macOS screen saver with Kotlin (Android Makers 2025)
zsmb
1
140
Rollupのビルド時間高速化によるプレビュー表示速度改善とバンドラとASTを駆使したプロダクト開発の難しさ
plaidtech
PRO
1
160
RuboCop: Modularity and AST Insights
koic
0
100
アプリを起動せずにアプリを開発して品質と生産性を上げる
ishkawa
0
2.6k
Devin入門と最近のアップデートから見るDevinの進化 / Introduction to Devin and the Evolution of Devin as Seen in Recent Update
rkaga
9
4.8k
Deoptimization: How YJIT Speeds Up Ruby by Slowing Down / RubyKaigi 2025
k0kubun
0
500
remix + cloudflare workers (DO) docker上でいい感じに開発する
yoshidatomoaki
0
130
Defying Front-End Inertia: Inertia.js on Rails
skryukov
0
460
新しいPHP拡張モジュールインストール方法「PHP Installer for Extensions (PIE)」を使ってみよう!
cocoeyes02
0
340
CRE Meetup!ユーザー信頼性を支えるエンジニアリング実践例の発表資料です
tmnb
0
630
Featured
See All Featured
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.5k
How to Ace a Technical Interview
jacobian
276
23k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Designing for humans not robots
tammielis
252
25k
Facilitating Awesome Meetings
lara
54
6.3k
Statistics for Hackers
jakevdp
798
220k
How to train your dragon (web standard)
notwaldorf
91
6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
23
2.6k
For a Future-Friendly Web
brad_frost
176
9.7k
Transcript
͑ͬɺ·ͩϢχοτςετ ॻ͍ͯͳ͍ݱ͕͋ΔΜͰ͔͢ʁ Tomonari Nakamura / Shinnosuke Yata 2021/10/02 Scrum Fest
Mikawa 2021 ~ ϘτϜΞοϓͰͬͱ͍͚ͯΔνʔϜʹͳΔͨΊʹɺͨͬͨҰͭͷେࣄͳ͜ͱ ~
தଜ ( ikikko ) • ॴଐɿΫϦΤʔγϣϯϥΠϯגࣜձࣾ • ׂɿεΫϥϜϚελʔʢ2,3νʔϜʹΑΔɺෳνʔϜͰͷεΫϥϜʣ •
ུྺɿ • ϝʔΧʔܥSIerͷ։ൃΤϯδχΞ • ࣗࣾαʔϏεͷ։ൃɾӡ༻ΤϯδχΞ → ࣾίʔνɾεΫϥϜϚελʔ • ݱ৬ʢ2021/05~ʣ • ڵຯ͕͋Δ͜ͱɿνʔϜϓϩηεվળɺCI/CDΛ͡Ίͱͨࣗ͠ಈԽपΓ
ా ਐ೭հ • ॴଐɿΫϦΤʔγϣϯϥΠϯגࣜձࣾ • ׂɿΤϯδχΞ • ུྺɿ • ΞδϟΠϧ৽ଔݚम@ָఱ
(2018) • ػցֶशϓϩμΫτ։ൃ (2018-2020) • ݱ৬ (2021) • ڵຯ͕͋Δ͜ͱɿMLOpsɺ͓ञɺΩϟϯϓ
We Are Hiring!
ΞτϥΠϯ • എܠ • ͬͨ͜ͱ • ࣾTDDBCʢTDD Boot Campʣ։࠵ •
Ϣχοτςετڥͷඋ • ͬͨ݁Ռ • େࣄʹͨ͠ࢥ͍
JOINͯ͠ײͨ͜͡ͱ • εΫϥϜ • ;Γ͔͑Γ • ͍͖͍͖ͨ͠ݱ • σϓϩΠࣗಈԽ •
ςετۦಈ։ൃ • ϦϑΝΫλϦϯά Α͍ͱ͜Ζ Α͘Ͱ͖Δͱ͜Ζ ϨϑτΟϯά͕ڧ͍νʔϜ https://blogs.itmedia.co.jp/hiranabe/2012/09/rightwing-and-leftwing-of-agile.html
͍͖͍͖ͱͨ͠ݱʢϨϑτΟϯάʣ • ࡶஊ͕ͱͯ֬͠อ͞Ε͍ͯΔ • શνʔϜ͕ϦϞʔτͰϞϒϓϩ • ސ٬ͱͷ৴པ͕ؔग़དྷ্͕͍ͬͯΔ
ੈʹحົͳׂΕͨ૭ʢϥΠτΟϯάʣ • 1ϑΝΠϧͰ1000ߦӽ͑ͷϞδϡʔ ϧ͕͋Δɻ • ؔʹΓग़͞Ε͍ͯͳ͍͠ɺͪ ΖΜϢχοτςετͳ͍ɻ • શͯͷςετέʔεͰDBͷςετσ ʔλ͕ڞ௨Խ͞Ε͍ͯΔɻ
ͦΕͰͳ͔ͥো ͕ى͖ͳ͍
Ո්ాݟͨʂ
Ո්ݟͨʂͦͷ̍ εϩοτͷԡ͠ͷ࿅शʹͳΔ΄Ͳɺ εΫϩʔϧͤ͞ͳ͍ͱཉ͍͠ͷ͕ݟ ͔ͭΒͳ͍mainͷؔAPIςετͷ ࣮ߦ݁Ռ
Ո්ݟͨʂͦͷ̎ ͞ͳ͕Βਐܸ̋ڊਓΛىͤ͞ΔΑ͏ ͳೋॏࡾॏʹғ·ΕͨϦετแද هࡾ߲ԋࢉࢠ
Ո්ݟͨʂͦͷ̏ ·ΔͰΞϋମݧͨ͠ؾʹͳΔΑ͏ ͳɺ࣮ߦλΠϛϯάͰ݁Ռ͕มΘΔݱ ࡏ࣌ࠁґଘͷAPIςετ
ϝϯόʔ͜ͷঢ়گΛͲ͏ݟ͍ͯΔ͔ • ෛ࠴͕͋Δ͜ͱʹ׳Εͯ͠·ͬͨਓʢׂΕ૭ཧʣ • ͜Ε͕ෛ࠴Ͱ͋Δ͜ͱʹؾ͍͍ͮͯͳ͍ਓʢ֝ͷࣽʣ • ୯ʹมԽΛײ͡औΔ͜ͱ͕Ͱ͖ͳ͍ from ୡਓϓϩάϥϚʔ •
ෛ࠴ͷ՝ײ͋Δ͕༏ઌॱҐ͔Βޙճ͠ʹ͢Δਓ(ࣗ৴աͳ͏͗͞ʣ • ่յͨ͠ίʔυΛॻ͘Ϟʔυ͔Βɺ͍ͣΕͲ͔͜ͰΫϦʔϯ͢ΔϞʔυʹΓ ସΘΕΔɺͱ͍͏͏͗͞ͷΑ͏ͳࣗ৴Λ͍ͬͯΔ from Clean Architecture ʮୡਓϓϩάϥϚʔ̍൛ʯp6~p9 ʮClean Architectureʯp38
༷ʑͳ੍ͷதͰੜ·Εͨ݁Ռͷͻͱͭ • ࢢͷϓϨογϟʔ͍ • ઌਓ͕ͨͪΓଓ͚ͯ͘Ε͔ͨΒͦ͜ࠓ͕͋Δ • ए͍ਓ͔ΒφΠεϛυϧ·Ͱ৭ʑͳਓ͕͍ΔνʔϜ
ಈ͖ग़ͯ͠ΈΑ͏ ͔͜͜Βվળ׆ಈ͕ελʔτ ※͕ࣗԌ্͍ͯ͠Δ༁Ͱ͋Γ·ͤΜ ͬͱ͍͍ νʔϜʹͳΕΔ ͜ͷڥͷ·· ࣄͨ͘͠ͳ͍ ڧ͍ਓͨͪͱݞΛ ฒ͍ͨ ໎ͬͨΒ͠ΜͲ͍
ํΛબͿ
ࣗͷதͷܦݧΛͲ͏׆͔͔͢ߟ͑ͨ • աڈʹड͚ͨTDD BootCamp • ࣗͰ༗ࢤͰ։͍ͨίʔσΟϯάษڧձͰͷTDD • ϢχοτςετΛಋೖͯ͠ίʔυͷෆ҆ΛݮΒ͍ͨ͠ • TDDΛ࢝ΊͯϦζϜײΑ͘ϦϑΝΫλϦϯά·ͰΓ͍ͨ
վળʹ͋ͨͬͯͷෆ҆ͱᷤ౻ • TDDΛͬͨ͜ͱ͋Δ͕ɺΤΩεύʔτͰͳ͍ɻ • స৬͖ͯͯ͠ܦ͍ͬͯͳ͍͠ɺϦʔμʔతͳཱͪҐஔͰͳ͍ ͷʹ͠Ό͠ΌΓͰ͍͍ͯͷ͔ʁ • ม͍͑ͨͱ͍͏ࢥ͍͕উͬͨ • ಈ͔ͳ͖Ό࢝·Βͳ͍ͱࢥͬͨ
ਓΛר͖ࠐΉͨΊͷಈ͖ͩ͠ • খ͞ͳվળͱࠜճ͔͠Βελʔτ͢Δ • ϝϯόʔ͔Βͷ৴པΛಘͳ͕Β͞ΒͬͱཧΛޠΔ • ϓϩδΣΫτϦʔμʔʹ૬ஊ͓ͯ͘͠ • खͬͯ͘Εͦ͏ͳਓΛݟ͚ͭΔ •
ͪΌΜͱݴޠԽͯͬͦ͜͠ΓPBIͱ͔ʹೖΕ͓ͯ͘ • จষͰ৭ʑͳϝϯόʔʹͬͯΒ͏ػձΛ૿͢ ࣌ͷslack
࣌ຬͪͨ… • Ϧʔμʔʹ࠶ఏҊ͞ΕΔ • தଜ͞ΜɺٳՋ໌͚ͷͬͱΉ͞ ΜΛউखʹϛʔςΟϯάηοτͯ͠ ר͖ࠐΜͰɺ࡞ઓձ͕ٞελʔτ͢ Δ Ϧʔμʔ Ϧʔμʔ
:) :)
ΞτϥΠϯ • എܠ • ͬͨ͜ͱ • ࣾTDDBCʢTDD Boot Campʣ։࠵ •
Ϣχοτςετڥͷඋ • ͬͨ݁Ռ • େࣄʹͨ͠ࢥ͍
ૉৼΓͰ ৮ͬͨ͜ͱ͕ ͋Δ ࣮ફͰ ͍ͬͯΔ ࣝͱͯ͠ ͍ͬͯΔ TDDBC։࠵
TDDBC։࠵ͷഎܠ • ͪΌΜͱ࣌ؒΛͱͬͯɺཧղૉৼΓͷΛఏڙ͔ͨͬͨ͠ • ͨͩɺ୯ൃΠϕϯτͰऴΘΓͨ͘ͳ͍ͱ͍͏ࢥ͍͋ͬͨ ૉৼΓͰ ৮ͬͨ͜ͱ͕ ͋Δ ࣮ફͰ ͍ͬͯΔ
ࣝͱͯ͠ ͍ͬͯΔ ୯ൃͷTDDBCͷείʔϓ
ࠓͷνʔϜͰͷ୯ൃΠϕϯτͷةݥੑ • ࣗࣗͷܦݧͱͯ͠TDDͷϦζϜײʹ׳ΕΔ·Ͱʹ͔͔ͬͨ • ୯ൃͩͱϝϯόʔ͕ࣝͱͯ͠ٵऩͯ͠ऴΘΔՄೳੑ͕ॆ͋ͬͨ ૉৼΓͰ ৮ͬͨ͜ͱ͕ ͋Δ ࣮ફͰ ͍ͬͯΔ
ࣝͱͯ͠ ͍ͬͯΔ ͜͜·ͰΛTDDBCͷείʔϓͱͯ͠ೖΕ͍ͨ
ݱͷ੍Ճຯͨ͠ํͷܾఆ • Γ͍ͨ͜ͱ • ෳͷΛղ͘͜ͱͰ࣮ઓ·ͰͷԼΛ࡞Γ͍ͨ • ੍ • ۈ͕࣌ؒҧ͏ͷͰશһ͕ͦΖ͏࣌ؒଳ͕গͳ͍ •
࣌ؒΔͱΈΜͳͷମྗ͕ϔϩϔϩʹͳΓͦ͏ ̎࣌ؒ͘Β͍Ͱ ճ։࠵ʹ͠Α͏
4ճTDDBCͷྲྀΕ • ୈ1ճా͞Μͷجௐߨԋͷಈը ΛΈΜͳͰݟͯͳͧΔ • ୈ2,3ճिΛ·͙ͨ͜ͱͰϢχο τςετͷޮՌΛ࣮ײͯ͠Β͏ • ୈ4ճΛͲ͏͢Δ͔ୈ3ճͷঢ়گ ͔Βߟ͑Δ
ୈ1ճͷ • Youtubeʹ͕͍͋ͬͯΔా͞ΜͷTDDBCͷجௐߨԋಈըΛͬͨ • جௐߨԋΛ४උ͢ΔखؒΛল͍ͨ • ։ൃݴޠ࣮ࡍͷϓϩμΫτͱಉ͡ͷΛ༻ͨ͠ • Ͱ͖Δ͚࣮ͩફΛఆͨ͠ϫʔΫΛ͢ΔͨΊ •
ࣄલʹ։ൃڥͷ४උΛ͓͍ͯͨ͠ • clone͙ͯ࢝͢͠ΊΒΕΔঢ়ଶʹ͓͍ͯͨ͠
4ճTDDBCͷྲྀΕ • ୈ1ճా͞Μͷجௐߨԋͷಈը ΛΈΜͳͰݟͯͳͧΔ • ୈ2,3ճिΛ·͙ͨ͜ͱͰϢχο τςετͷޮՌΛ࣮ײͯ͠Β͏ • ୈ4ճΛͲ͏͢Δ͔ୈ3ճͷঢ়گ ͔Βߟ͑Δ
ૂ͍
ୈ2, 3ճͰͬͨ • ͬͱΉ͞ΜͷࣗൢػΛ͓आΓͨ͠ • ༷͕1~8͘Β͍·Ͱ͋ͬͨͷͰ۠Γͦ͢͏ͩͬͨ • 2ճ༷1,2Λɺ3ճ༷3,4Λൃදͯ͠είʔϓΛ۠ͬͨ • νʔϜϝϯόʔ͕มΘͬͯϢχοτςετ͕͋Δ͜ͱʹΑͬͯ
్தࢀՃͰΓ͍͢͜ͱΛମݧͯ͠Β͏ • ϦϞʔτͷgitϨϙδτϦΛ༻ҙͯ͠pushͰ͖ΔΑ͏ʹͨ͠
4ճTDDBCͷྲྀΕ • ୈ1ճా͞Μͷجௐߨԋͷಈը ΛΈΜͳͰݟͯͳͧΔ • ୈ2,3ճिΛ·͙ͨ͜ͱͰϢχο τςετͷޮՌΛ࣮ײͯ͠Β͏ • ୈ4ճΛͲ͏͢Δ͔ୈ3ճͷঢ়گ ͔Βߟ͑Δ
ୈ4ճͷ • ܭըஈ֊Ͱଓ͚Δ͔ഇࢭʹ͢Δ͔ܾ͋͑ͯΊ͍ͯͳ͔ͬͨ • ঢ়گʹ߹ΘͤͯదԠͤ͞ΔͨΊ • ୈ2, 3ճͷ͋ͨΓ͔Β࣮ࡍͷϓϩμΫτΛ৮Γ͍ͨͱࢥ͍ͬͯͨ • ಛʹ3ճ͕ϚϯωϦԽ͋ͬͯਓ͕গͳ͔ͬͨͨΊ
• ςετέʔεͷϦϑΝΫλϦϯάΛͰ͖Δ͚ͩҙࣝͯ͠Βͬͨ
࣮ࡍͲ͏ͩͬͨͷ͔
ୈ1ճͷΑ͔ͬͨͱ͜Ζ • ా͞ΜͷجௐߨԋಈըͷΕຯ͕Ӷͯ͘͞Δਓ͕ଟ͔ͬͨ • ࣮ࡍʹऔΓΜͰΒ͏ΛFizzBuzz+ʹͨ͜͠ͱͰɺߨԋͷͳͧ ΓΛͨ͠ޙʹ৽ͨͳΛՃ͍ͯ͘͠ελΠϧ͕ޭΛͨ͠ from cyber-dojo :PVUVCFͰແྉͰݟ ΕΔͷ͗͢͢͝Δ
جௐߨԋͱશ͘ಉ͡ ͋Δఔ࣮Ͱ͖ͨ ͱ͜ΖͰՃ༷
ୈ2~4ճͷΑ͔ͬͨͱ͜Ζ • ෳճࢀՃͨ͠ਓTDDʹ׳Εͯɺྑ͞Λ࣮ײͯ͠Β͑ͨ • 4ճͰςετέʔεͷϦϑΝΫλϦϯάͷޭମݧ͕Ͱ͖ͨ ͱ͋ΔΤϯδχΞ શ෦ࢀՃͨ͠ਓνʔϜʹ ͬͯڭΛ࢝Ίͨ
ୈ3ճޙͷTODOϦετ
ୈ4ճޙͷTODOϦετ • ࣮औΓΜͩՃ༷ͷ มΘ͍ͬͯͳ͍ • ςετέʔεͷϦϑΝΫλ ϦϯάΛ͍ͯ͠ΔதͰ 9→14έʔεʹ૿͑ͨ ݟ͍ͯͨࣗ ֶ͕ͼʹͳͬͨ
ࢀՃऀͷ;Γ͔͑Γ͔Β͕Θ͔Δ ୈ1ճ ୈ2ճ ୈ3ճ ୈ4ճ ճͰૉৼΓྃ ͨ͠ײ
4ճTDDBCͷ·ͱΊ • Α͔ͬͨͱ͜Ζ • ෳճΔ͜ͱͰࣝͰऴΘΔ͜ͱආ͚ΒΕΔ • ӡӦ໘Ͱͷ՝Λ࣍ͷճʹөͰ͖ΔʢݕࠪͱదԠͷΑ͏ʣ • ࣍ΔͳΒؾΛ͚͍ͭͨͱ͜Ζ •
ୈҰճͷॏཁ͕ߴ͍ʢجௐߨԋඞਢʣΛղܾ͍ͨ͠ • ҙࢀՃʹͨ͠ͷͰνʔϜ͝ͱͷࢀՃͷภΓΛͳ͘͢
ࠜͨ͘Ίͷҧ͏Ξϓϩʔνͷඞཁੑ • ࣝૉৼΓΛ͢ΔΑΓɺ͙͢ʹ࣮ફʹ͑ΔͷΛٻΊΔνʔϜͷ ϝϯόʔࢀՃ͕ߴ͘ͳ͔ͬͨ • ϫʔΫγϣοϓͱҧͬͨΞϓϩʔν͕ඞཁͩͱײͨ͡ • ݴ༿Ͱઆಘ͢Δͱ͍͏ͷͦ͠͏Ͱ࣮ϓϩμΫτͰ࣮ફͯ͠Βͬ ͨํ͕ਁಁͦ͢͠͏ͩͱࢥͬͨ
࣮ફͰ͏ʹ·ͩน͕͋ͬͨ • ϓϩμΫτίʔυͰͷςετڥͷߏஙʹམͱ͕݀͋ͬͨ͠ • ͜͜Λ։ൃऀ͚ͩͰղܾ͢Δͷɺ࣌ؒతʹٕज़తʹ͔ͬͨ͠ ૉৼΓͰ ৮ͬͨ͜ͱ͕ ͋Δ ࣮ફͰ ͍ͬͯΔ
ࣝͱͯ͠ ͍ͬͯΔ ͜͜ʹน͕͋Δ →ۤौͷܾஅͰSMʹཔΔ
Ϣχοτςετڥͷඋ ૉৼΓͰ ৮ͬͨ͜ͱ͕ ͋Δ ࣮ફͰ ͍ͬͯΔ ࣝͱͯ͠ ͍ͬͯΔ
ςετपΓͷ՝ • UI / ౷߹ςετ͕ओͰɺςετ࡞ɾ࣮ߦʹ͕͔͔͍࣌ؒͬͯΔ • ςετ࣮ߦͷΈ͕ࣗલ࣮Ͱɺࡉ੍͔͍ޚ·Ͱߟྀ͞Ε͍ͯͳ͍ • ςετσʔλΛڞ༗͍ͯͯ͠ɺଞͷςετέʔε͕ෆҙʹյΕΔ •
Ͳ͜Ͱςετࣦഊ͍ͯ͠Δ͔͕͔ΓͮΒ͍ɺͳͲ ςετ͕։ൃΛࢧԉ͢ΔͷͰͳ͘ɺ͔ͤʹͳ͍ͬͯΔ
ͬͨ͜ͱ • ߴɾ҆ఆͯ͠ςετΛճͤΔΑ͏ʹɺϢχοτςετڥΛඋ • Jest / pytestͱ͍ͬͨσϑΝΫτελϯμʔυͳϑϨʔϜϫʔΫΛ࠾༻
ํɿςετͷָ͠͞Λମײͯ͠Β͏ • Ϣχοτςετʹෆ׳Εͳਓଟ͍ʢTDDBCͰମݧͨ͠ਓ͍Δ͚ ͲɺશһࢀՃͨ͠Θ͚Ͱͳ͍ʣ • ϓϩμΫτίʔυ͕ςετΛఆͨ͠࡞Γʹͳͬͯͳ͍ͷͰɺςετ ͕·ͣಈ͘ͱ͜Ζ·Ͱ͍࣋ͬͯ͘ࡍͷϋϚΓͲ͜Ζ͕ଟ͍ • ͜ͷঢ়گͰɺ·ͣʮςετָ͍ͬͯ͠Ͷʯͱ͍͏ײ֮Λ࣋ͬͯΒ ͍͍ͨ
ํɿςετͷָ͠͞Λମײͯ͠Β͏ • ϋϚΓͲ͜ΖΛऔΓআ͍ͯɺຊ࣭తͳςετϩδοΫʹྗͯ͠Β͏ • ςετ࣮ߦͷڥઃఆͱαϯϓϧίʔυɺ࠷ॳʹ͓͑ͯ͘ • νʔϜ͕ϢʔβʔετʔϦʔʹऔΓֻ͔ΔࡍɺςετͷܗΛ࡞ͬͨ ্ͰɺνʔϜʹ͍࣋ͬͯͬͯҰॹʹςετ࡞ͯ͠ΈΔ ʮͬͯΈͤɺݴͬͯฉ͔ͤͯɺ ͤͯ͞Έͤɺ΄ΊͯΒͶɺਓ
ಈ͔͡ʯCZࢁຊޒे
࣮ࡍʹςετ͍ͨ͠ϝ ιουʢ͜͜ͰNFUIPEʣ ʹରͯ͠ɺνʔϜͱҰॹʹத Λॻ͍͍ͯ͘ ํɿςετͷָ͠͞Λମײͯ͠Β͏ ςετ͍ͨ͠ϩδοΫʹ ؔΘΒͳ͍લॲཧͳͲɺ ༧Ί࡞͓ͯ͘͠ʢϋϚΔͱແବ ʹ༹͕͚࣌ؒͯɺϞνϕʔγϣ ϯ͕མͪΔͷͰʣ
ํɿςετͷָ͠͞Λମײͯ͠Β͏ • ςετ࣮ߦͷڥઃఆ • ઃఆϑΝΠϧͷ४උʢjest.con fi g.js ͳͲʣ • σʔλϕʔεΛ༻͍ͨςετΛิॿ͢Δؔʢ
fi xtureʣͷ࡞ • ςετॳճىಈ࣌ʹɺσʔλϕʔεͷআ / ࡞ • ςετ͝ͱʹɺಠཱͨ͠σʔλͷೖ / ഁغ
• σʔλϕʔεͷ࡞ • ํɿςετͷָ͠͞Λମײͯ͠Β͏ • ςετσʔλͷೖ •
ํɿςετͷָ͠͞Λମײͯ͠Β͏ • ϓϩμΫτίʔυ͍͡Βͳ͍ • ϓϩμΫτίʔυΛ͍͡Δͱɺ৺ཧతʹड͚ೖΕͮΒ͍͔ͳͱஅ • ςετίʔυଆͰɺϞοΫͳͲΛۦͯ͠ରԠ ϓϩμΫτίʔυΛςετ͠ ͍͢ܗʹม͍͚͑ͯͨΒɺ͏ ͪΐͬͱָͩͬͨΖ͏ͳ͋ʜ
;Γ͔͑ΓͰग़ͨײ
ΞτϥΠϯ • എܠ • ͬͨ͜ͱ • ࣾTDDBCʢTDD Boot Campʣ։࠵ •
Ϣχοτςετڥͷඋ • ͬͨ݁Ռ • େࣄʹͨ͠ࢥ͍
• ՝͕શͯղܾ͞ΕͨΘ͚Ͱͳ͍͕ɺ͕͖ͬͯͨ • ৽͘͠Ճɾमਖ਼͞ΕͨϓϩμΫτίʔυͰɺσʔλϕʔεؚΜ ͩ౷߹ςετϨΠϠͰͷςετ͕Ճ͞Ε͍͍ͯͬͯΔ • ϢχοτςετϨϕϧͰɺ·ͩςετ͕ेͰͳ͍ͷͰɺςε τʢͱରʹͳΔϦϑΝΫλϦϯάʣΛਪ͠ਐΊ͍ͯ͘ ݱঢ়
• ՝͕શͯղܾ͞ΕͨΘ͚Ͱͳ͍͕ɺ͕͖ͬͯͨ ݱঢ়
;Γ͔͑ͬͯΈͯͷɺϝϯόʔͷײ • ཻ͕ૈ͍ςετ͔͠ͳ͔ͬͨͱ͜Ζ͕ɺཻ͕ࡉ͔͍ςετॻ͚Δڥ͕ͬ ͖ͯͯɺཧܥʹ͍͖ۙͮͯͨ • ςετέʔε͔Βߟ͑ΔͷΛ࣮ફ͖ͯͯ͠ɺ༷Λߟ͑Δͷ্͕ख͘ͳ͖ͬͯͨײ ͕͢͡Δ • Ϣχοτςετͱ͍͏֓೦͕ਁಁ͍ͯ͠ͳ͍ਓଟ͔ͬͨதͰɺͦͷਓͷྑ͍ڭ ҭͷػձʹͳ͔ͬͨͳͱࢥ͏
• ࠓճʮ0→1ʯͰͷςετڥඋͩͱࢥ͍ͬͯͯɺ·ͩ·ͩʮ1ʯͩͱࢥ͍ͬͯ Δɻ͔͜͜Βʮ1 to 10ʯͷಇ͖͔͚ॏཁʹͳͬͯ͘ΔͷͰɺͦΕΛਪਐ͍ͨ͠
εΫϥϜϚελʔ͕ࢪࡦΛਪ͠ਐΊΔޭࡑ Γ͍͢ ฐ ଞͷׂͱൺͯɺࣗ༝ʹಈ͖͍͢ w։ൃऀͱൺͯɺશମΛݟͳ͕Βಈ͖͍͢ wΞδϟΠϧίʔνͱൺͯɺதͷਓͱͯ͠ϑϧλΠϜͰ ࣌ؒΛ֬อͰ͖Δ ։ൃऀ͕దͳεΩϧΛֶΜͰ͍ͯ͘͠ػձΛɺ εΫϥϜϚελʔ͕ఠΈऔΔݒ೦͕͋Δ ʮظతʹɺ՝͕ղܾ͢Δଈޮੑʯ
WT ʮதظతͳɺνʔϜͷʯ
εΫϥϜϚελʔ͕ࢪࡦΛਪ͠ਐΊΔޭࡑ • ࠓճɺࣗͰਪ͠ਐΊΔ͜ͱΛબ • ా͞ΜͷΛɺ୯ൃͷऔΓΈͰઈͨ͘͠ͳ͍ • ͜ͷػձʹ͍͑ͰਐΊͨ΄͏͕ɺνʔϜʹͱͬͯޮՌ͕ େ͖͍ͱஅ
ΞτϥΠϯ • എܠ • ͬͨ͜ͱ • ࣾTDDBCʢTDD Boot Campʣ։࠵ •
Ϣχοτςετڥͷඋ • ͬͨ݁Ռ • େࣄʹͨ͠ࢥ͍
தଜɿΛ࣋ͬͨਓͷഎதΛԡ͍ͨ͠ • େʹ͍ͯ͠ΔՁ؍ɿʮݱͰಇ͘νʔϜͷʹཱ͍ͪͨʂʯ • Ձ؍ͷମݱํ๏ͷҰͭʹʮΛ࣋ͬͨਓͷഎதΛԡ͢ʯ • ͍͟ͱ͍͏ͱ͖ʹదʹഎதΛԡͤΔΑ͏ʹɺֶͼଓ͚ͯҾ͖ग़ ͠Λ૿͓͖͍ͯͨ͠
ాɿ࠷ॳͷนͰյ͢ • ͦΕͧΕ༏ઌॱҐ͕͋ΔͷͰৗʹϝϯόʔͷ߹ҙ͕ͱΕΔΘ͚Ͱͳ͍ɹɹɹ • ࣗʹྨكͳΔٕज़ྗਓΛಈ͔͢ܦݧ͕͋ͬͨ༁Ͱͳ͍ • ͦΕͰมԽ͕Δ͠ɺࣗͷؒҧ͍͕ٞΛੜΜͰֶͼʹͳͬͨ͜ ͱ͋ͬͨʢؒҧ͍≠ࣦഊʣɹ ٕज़ܦݧͰͳ͘ɺΛ࣋ͬͯಥ͖ਐΉ ͜ͱ͕େࣄͩͱվΊͯײͨ͡
ؒҧ͍ঢ়ଶ ࣦഊ݁Ռ
“ ৽͍͠ΞΠσΞΛಋೖ͢ΔͨΊʹɺͦͷΞΠσΞ ʹ͔͚ΔͰɺ͋ͳͨࣗΛಥ͖ಈ͔ͦ͏ ” Fearless Change : 1. ΤόϯδΣϦετ 59