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
TDD.pdf
Search
Bae Hyeonseung
November 12, 2019
Programming
0
42
TDD.pdf
Bae Hyeonseung
November 12, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
IntelliJ IDEA を知らなかった 自分に教えたい小ネタ集 / IntelliJ IDEA Hints for My Past Self
mackey0225
3
180
15分間でふんわり理解するDocker @ Matsuriba MAX
ukwhatn
PRO
1
340
DDDはなぜ難しいのか / 良いコードの定義と設計能力の壁
pospome
24
7.5k
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
580
上手な探索的テストとその上達方法について
matsu802
4
660
LLMチャットボットのアプリケーション設計Tips
os1ma
4
660
Dockerで始めるAWS Lambda開発
stutkhd0709
14
2.5k
ファイル先頭の use の意味、説明できますか? 〜PHP の namespace と autoloading の関係を正しく理解しよう〜 / namespace and autoloading in php
okashoi
2
470
htmx is fun!
codehex
2
190
Building a Smaller App Binary
kateinoigakukun
2
210
受託開発でGitLab CI を活用していく
xiombatsg
1
130
Parallel Socket Communication in Swift
s_shimotori
0
250
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
317
37k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
240
1.2M
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
67
38k
Designing on Purpose - Digital PM Summit 2013
jponch
109
6.4k
Producing Creativity
orderedlist
PRO
335
39k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
272
12k
Into the Great Unknown - MozCon
thekraken
10
830
Unsuck your backbone
ammeep
661
56k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
6
950
Robots, Beer and Maslow
schacon
PRO
154
7.9k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
The Cost Of JavaScript in 2023
addyosmani
13
3.7k
Transcript
5%% $MBTT!+PZ
ࠛഛपࢿ ഛࢿ ↟ޖੌযզഛਵ۽ঌҊח҃ ܻझ ↟ޖੌযզݽܰ݅ ੌযզࣻח҃ী೧ইח҃ ↟Ӓبܳഛܫਵ۽աఋյࣻח҃
ࠛഛपࢿ ↟ޖੌযզݽܰ݅ ੌযզࣻח҃ী೧ইח҃ ↟ೞ݅ഛܫਵ۽ੜݽܰח҃ ޖ ݨೣ ↟ഃஏೡࣻহҊ ੌযզبݽܰח҃
ࣗਝযࠛഛपࢿ ѐߊоযڃࠗ࠙ী೧٬ਸৈ۞ߣ೧ࠁইѾҗоݺೠ҃ ѐߊझಖ ҊёਃҳઑѤ߸ೞঋח҃ ѐߊೞҊաࢲਬࠁࣻܳղоೞח҃ ߸ജ҃߸ೞঋח҃
दр ਗ ৻ࠗۄ࠳۞ܻ١ “ഛपೠ” ࣗਝযח ઓೞחѢঠ?
ࣗਝযࠛഛपࢿ ਗې ݽٚ ੌ ࠛഛपೞݴ, Ҋё ޖೞҊ, য ਗ ਬೠפ…
ࠛഛपࢿਸծ୶۰ݶ ࠁా ېী ੌযզ ੌী ೠ ࠛഛपࢿۄח Ѫ, 1. दр
աݶ োझۣѱ যٟפ 2. ইח ध ݆ইݶ যٜѱ ؾפ
ࠛഛपࢿਸծ୶۰ݶ ܳ ٜয য়ט ઑо ݡਸ ֘ ݫо ޖੋ ঌҊ
रҊ оೞ. Ӓۧݶ ֘दр оөਕ ࣻ۾ ࠛഛपࢿ যٜҊ, য়ט ઑо ݡ ब ޖੋী ٮۄࢲ ࠛഛपࢿ যٟפ. ࠛഛपೠ Ѫ दр ҃җ ध
ഈ۱җೖ٘ߔ ೞ݅ ܻח दр աоӡ ӝܾ ࣻ হणפ. ƕƑ ܻח
؊ ࡅܰѱ धਸ णٙೞৈঠ פ. Ӓۧѱ ೞӝ ਤ೧ࢲ ܻח ഈ۱җ ೖ٘ߔ(গੌ ೨ब) ਸ ೧ঠ פ.
ഈ۱җೖ٘ߔ ܻ ѐߊ ೞҊ ח ഈ۱… ٘ ܻ࠭ ݒ ഥ
ഈ۱җೖ٘ߔ ܻ ѐߊ ߉ਸ ࣻ ח ೖ٘ߔ… জझషয ܻ࠭ ৈ۞
ઙܨ Error Alert CS
ഈ۱җೖ٘ߔ Problem! ഈ۱, ೖ٘ߔ ӝо ցޖ ӡ! ध ҕਬо ੜ
ੌযաӝ ਤ೧ࢶ ѐߊ ؊ ഈ۱ೞৈঠ ೞҊ, ઁಿ ಿਸ ֫ӝ ਤ೧ࢶ ೖ٘ߔਸ ؊ ߉ই ؊ ѐࢶೞৈঠ ೠ.
5%% Test Driven Development పझ ب ѐߊ పझо ѐߊਸ Ցয
աр
5%% ࠁా ѐߊо ѐߊ աҊ աݶ పझܳ ೠ. Ѫ ࣽࢲܳ
߄Բח Ѫਸ TDDۄҊ ೧ೞ. పझܳ ݢ ٜ݅Ҋ పझܳ ాҗೞח ٘ܳ ח Ѫ. ࢶ పझܳ ࢿೞҊ ӒѦ ాҗೞח ٘ܳ ٜ݅Ҋ ܳ ߈ࠂೞݶࢲ ઁ۽ زೞחী ೠ ೖ٘ߔਸ ӓਵ۽ ߉ח Ѫ.
5%% TDD ೞݶ, ೖ٘ߔਸ ؊ ߉ਸ ࣻ . ٘ܳ
ߓನೞҊ Ҋё ॄࠁҊ դ ٍী ח ೖ٘ߔࠁ ղ ఠօীࢲ ߄۽ ೖ٘ߔਸ ਸ ࣻ
5%% TDD ೞݶ, ഈ۱ ਊ೧. పझۄח Ѫ যڃ ೯زਸ ٘۽
ೠ Ѫӝ ٸޙী, ೯زਸ ׳ೡ ࣻ Ҋ, ҕਬೞӝ एਕ.
5%% ✓ ࠺ਯ ч ৢ߄ܲ ҃, KlassStore ࠺ਯਸ
ࣻೡ ࣻ ✓ ࠺ਯ ч ৢ߄ܰ ঋ ҃, য়ܨо ߊࢤೠ TDD ೞݶ, ഈ۱ ਊ೧. పझۄח Ѫ যڃ ೯زਸ ٘۽ ೠ Ѫӝ ٸޙী, ೯زਸ ׳ೡ ࣻ Ҋ, ҕਬೞӝ एਕ.
5%% ղо ૠ ٘ܳ թীѱ ҕਬೞҊ ೧दఃӝ औҊ թ ૠ
٘ܳ ղо ೧ೞӝ औҊ, ղо Ӓ ࢎۈ بܳ ݽܰҊ ٘ܳ Ҋச ੌ হҊ, ਊӝо ࢤӝݴ, పझ ٘ীח ҳഅࠗ ٘ীࢶ ঌ ࣻ হח ب৬ Ѿ ࠁݴ, ٘ ܻ࠭ܳ ೞ؊ۄب, పझ ாझ݅ۄب ഛੋೡ ࣻ Ҋ, թ ૠ ٘ܳ ݎ؊ۄب औѱ ঌইା ࣻ Ҋ, ݽٚ Ѫٜ ഈ۱ೡ ٸ ࠺ਊਸ ݒ ദӝਵ۽ ৈસפ.
5%% ࡅܲ ೖ٘ߔҗ, ഈ۱ ࠺ਊਵ۽ ܻ ѐߊ धਸ औѱ
णٙೞҊ ҕਬೞৈ ࠛഛपࢿী ࠺ೞח Ѫ TDD ೨ब
5%% But, ѐੋ וՙח ѐߊ दр ୭ 150%ө טযզ ࣻ
ೞ݅ ۽ં ۽ ࠁݶ Ѿೣ যٜҊ, ഈ۱ ࠺ਊ য ٙۄ ࠅ ࣻ TDDܳ ೠҊ ೧ࢲ જ ٘৬ ࢸ҅о աয়ח Ѫ ইש. (ܻಖఠ݂ җীࢲ Ҋೞ ঋחݶ…)
5%% Given When Then/AAAܳ ٮܲݶ ாझܳ ࢿೞӝ एਕפ.
5%% it(“যڃ ч যҊ, যڃ ઑѤੌ ٸ যځೞѱ زೠ”) {
/// పझ ாझ ղਊ // Arrange // Act // Assert } ഋక۽ࢿפ
5%% 1. ޖਸ పझೡ ೞӝ য۵ݶ? ৻ࠗ ࢲ࠺झա ۄ࠳۞ܻܳ ॳ
ঋח ٘ࠗఠ ࢿೠ. ੑ۱җ ۱ زӝী ੌযաח ݺഛೠ ೣࣻࠗఠ ࢿೠ. Private ೣࣻח ࢿೞ ঋח. ԙ పझ ٘ࠗఠ ૢ ਃח হ. ই ઑӘ ਸ ٜ݅য فח Ѫ بਸ ٸо .
5%% 2. పझܳ ాҗ೮חؘ ܻಖఠ݂ যڌѱ ೧ঠೞա? పझܳ ాҗೞӝ ਤ೧
ࢿೠ ٘ࠁפ Ҷ ֢غ ঋইب غח ࠗ࠙ਸ ֢ೞѢա, ߄؊ܻܳ ֈযоח ҃о ߊࢤೞӝ ݃۲ੋؘ, ۠ ࠗ࠙ਸ ਵ۽ ѐࢶפ. ਃೞݶ ܻಖఠ݂ بী ாझܳ ୶оೞৈب ؾפ.
5%% 3. ӝઓী ؍ ۽ী ӝמਸ ୶оೞݶࢲ పझܳ ೧ঠೞחؘ
҃ূ? नӏ ӝמ ٜযт খ/ٍ ۽ ઓࢿਸ ੌױ рױೞѱ ٜ݅Ҋ, ୶࢚ ېझ/ੋఠಕझա ೣࣻ۽ ٜ݅যߡ݀פ. ӒܻҊ աࢲ ೧ ۽ খࠗ࠙ਸ MockingೞҊ పझܳ ࢿפ. ӒܻҊ ਗೞח ӝמਸ ୶оೞҊ, ܻಂఠ݂ ೡ ٸ ٜ݅য ୶࢚ ېझ, ੋఠಕझী ೠ పझܳ ࢿפ.
ೝಯ۽Ӓې߁ ೠࢎۈపझாझܳࢿೠ ࢿաݶܲࢎۈҳഅࠗ࠙ਸࢿೠ दܲೠࢎۈܻಖఠ݂ਸ೯ೠ ਤҗਸ߈ࠂೠ
DEMO
ଵઑ بࢲ, ࣗਝয ੋ https://blog.outsider.ne.kr/669 https://ko.wikipedia.org/wiki/ࠛഛपࢿ https://gmlwjd9405.github.io/2018/06/03/agile-tdd.html https://knowyourmeme.com/memes/tree-swing-cartoon-parodies