$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
えっ、まだユニットテスト書いてない現場があるんですか? - ボトムアップでもっとい...
Search
ikikko
October 02, 2021
Programming
2
26k
えっ、まだユニットテスト書いてない現場があるんですか? - ボトムアップでもっといけてるチームになるために、たった一つの大事なこと - / 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
2.2k
プロダクトマネジメントプロセス / Product Management Process
ikikko
0
230
Other Decks in Programming
See All in Programming
dnx で実行できるコマンド、作ってみました
tomohisa
0
120
WebRTC、 綺麗に見るか滑らかに見るか
sublimer
1
110
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
130
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
130
ソフトウェア設計の課題・原則・実践技法
masuda220
PRO
24
20k
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
110
WebRTC と Rust と8K 60fps
tnoho
2
1.8k
目的で駆動する、AI時代のアーキテクチャ設計 / purpose-driven-architecture
minodriven
11
3.8k
分散DBって何者なんだ... Spannerから学ぶRDBとの違い
iwashi623
0
160
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
240
Media Capture and Streams: W3C仕様と現場での知見
nowaki28
0
120
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
200
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Optimizing for Happiness
mojombo
379
70k
Context Engineering - Making Every Token Count
addyosmani
9
450
KATA
mclloyd
PRO
32
15k
Building Applications with DynamoDB
mza
96
6.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Producing Creativity
orderedlist
PRO
348
40k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
119
20k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
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