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
AIともっと楽するE2Eテスト
myohei
7
2.7k
0626 Findy Product Manager LT Night_高田スライド_speaker deck用
mana_takada
0
170
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
650
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
560
Startups on Rails in Past, Present and Future–Irina Nazarova, RailsConf 2025
irinanazarova
0
120
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
360
iOS 26にアップデートすると実機でのHot Reloadができない?
umigishiaoi
0
130
Porting a visionOS App to Android XR
akkeylab
0
470
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
170
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
190
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
270
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
14
5.6k
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
960
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
Fireside Chat
paigeccino
37
3.5k
Documentation Writing (for coders)
carmenintech
72
4.9k
Visualization
eitanlees
146
16k
Writing Fast Ruby
sferik
628
62k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
820
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