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
23k
えっ、まだユニットテスト書いてない現場があるんですか? - ボトムアップでもっといけてるチームになるために、たった一つの大事なこと - / 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.3k
RSGT2022 参加レポート / Report of RSGT2022
ikikko
0
2k
プロダクトマネジメントプロセス / Product Management Process
ikikko
0
210
Other Decks in Programming
See All in Programming
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
120
Python型ヒント完全ガイド 初心者でも分かる、現代的で実践的な使い方
mickey_kubo
1
130
XP, Testing and ninja testing
m_seki
3
250
テストから始めるAgentic Coding 〜Claude Codeと共に行うTDD〜 / Agentic Coding starts with testing
rkaga
13
4.6k
チームのテスト力を総合的に鍛えて品質、スピード、レジリエンスを共立させる/Testing approach that improves quality, speed, and resilience
goyoki
5
890
テスト駆動Kaggle
isax1015
0
110
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
830
코딩 에이전트 체크리스트: Claude Code ver.
nacyot
0
140
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
2
10k
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
570
AI駆動のマルチエージェントによる業務フロー自動化の設計と実践
h_okkah
0
160
dbt民主化とLLMによる開発ブースト ~ AI Readyな分析サイクルを目指して ~
yoshyum
3
1k
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
4 Signs Your Business is Dying
shpigford
184
22k
How to Ace a Technical Interview
jacobian
278
23k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Writing Fast Ruby
sferik
628
62k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
Agile that works and the tools we love
rasmusluckow
329
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
A designer walks into a library…
pauljervisheath
207
24k
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