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
14k
えっ、まだユニットテスト書いてない現場があるんですか? - ボトムアップでもっといけてるチームになるために、たった一つの大事なこと - / 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.1k
RSGT2022 参加レポート / Report of RSGT2022
ikikko
0
1.6k
プロダクトマネジメントプロセス / Product Management Process
ikikko
0
160
Other Decks in Programming
See All in Programming
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
6
1.9k
C++でシェーダを書く
fadis
6
4.1k
詳細解説! ArrayListの仕組みと実装
yujisoftware
0
580
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
ヤプリ新卒SREの オンボーディング
masaki12
0
130
광고 소재 심사 과정에 AI를 도입하여 광고 서비스 생산성 향상시키기
kakao
PRO
0
170
Realtime API 入門
riofujimon
0
150
Macとオーディオ再生 2024/11/02
yusukeito
0
370
Ethereum_.pdf
nekomatu
0
460
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
120
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
190
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Making Projects Easy
brettharned
115
5.9k
GraphQLとの向き合い方2022年版
quramy
43
13k
The Cost Of JavaScript in 2023
addyosmani
45
6.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Designing Experiences People Love
moore
138
23k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Bash Introduction
62gerente
608
210k
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