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
solt9029
June 30, 2022
0
3.6k
僕の考えた最強のテスト駆動開発
#cookpad_tech_kitchen 第27回で発表しました。
solt9029
June 30, 2022
Tweet
Share
More Decks by solt9029
See All by solt9029
JSON Schema で複雑な仕様の入力フォームの実装に立ち向かった話
solt9029
11
5.7k
つくった展2019 エアー乾杯
solt9029
0
110
第181回HCI研究会 リニアメニューにおける開閉ボタンの位置が探索に与える影響
solt9029
0
68
ABPro2018 ステアリングの達人
solt9029
0
51
WISS2017 大部分の空間的一貫性を保つアイコン整列手法の提案
solt9029
0
90
インタラクション2017 MouseTutor: マウスに手を動かされるチュートリアル
solt9029
0
69
Featured
See All Featured
Faster Mobile Websites
deanohume
306
31k
GraphQLとの向き合い方2022年版
quramy
46
14k
Git: the NoSQL Database
bkeepers
PRO
430
65k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
520
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
23
2.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
135
33k
How to Ace a Technical Interview
jacobian
276
23k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Optimizing for Happiness
mojombo
377
70k
How to Think Like a Performance Engineer
csswizardry
23
1.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Transcript
࠷ۙ࡞ͬͨͷհ ΫοΫύουגࣜձࣾ Ԙग़ݚ࢙ !TPMU $PPLQBE 5FDI,JUDIFO 1
• ॴଐɿ ΫοΫύουגࣜձࣾ ങϓϩμΫτ։ൃ෦ • ීஈ͏ٕज़ɿ 3BJMT3FBDU)41 1SPDFTTJOH •
ۀྖҬɿ ൢചऀ͚ϓϩμΫτ &$ΞϓϦͷ"1*ͷ։ൃ • झຯɿ ͷͮ͘Γʢࢼ࡞͕ϝΠϯʣ • 5XJUUFS!TPMU ࣗݾհ 2
ࠓ·Ͱ࡞ͬͨͷ ΰϛϑΝΠϧΛཷΊࠐΜͰ͠·͏ํͷͨΊͷσεΫτοϓ্Ͱಈ͘ϧϯό 3
ࠓ·Ͱ࡞ͬͨͷ ҿञTVEPΛࢭ͢ΔγεςϜ 4
ࠓ·Ͱ࡞ͬͨͷ ολʔϯʂͰୡײΛ͓ॕ͍ͯ͘͠ΕΔ&OUFSΩʔ 5
ࠓ·Ͱ࡞ͬͨͷ ॆిέʔϒϧΛඥʹݟཱͯͨΫϥοΧʔΞϓϦ🎉 6
ࠓ·Ͱ࡞ͬͨͷ ॆిέʔϒϧΛඥʹݟཱͯͨΫϥοΧʔΞϓϦ🎉 7
ҰԠٕज़ܥͷษڧձͳΜͩΑͳ🤔 ࠓճͷൃදͲ͏͠Α͏ 8
ͷߟ͑ͨ ࠷ڧͷςετۦಈ։ൃ ͱ͍͏λΠτϧͰൃද͠·͢ 9
ςετۦಈ։ൃͱ • ςετϑΝʔετͳ։ൃख๏ • ࣮લʹςετΛॻ͖ɺςετʹ߹͏Α͏ʹ࣮ • ༷ɾཁ݅Λ໌֬ʹ͔ͯ͠Βɺ·ͣಈ͘ίʔυΛॻ͖ɺߋʹ ϦϑΝΫλϦϯά͢Δͱ͍͏αΠΫϧͰண࣮ʹ։ൃ 10
ςετۦಈ։ൃͷϝϦοτ • ޙఔόάΛ࣋ͪӽ͠ʹ͍͘ • γεςϜͷཁ݅ΛΑΓਂ͘ཧղͰ͖Δ • ։ൃऀ͕҆৺ͯ͠ίʔσΟϯάͰ͖ɺ৺ཧతෛ୲͕ݮΔ 2CPPL ςετۦಈ։ൃʢ5%%ʣͱʁ5%%ͷਐΊํΛεςοϓຖʹղઆʂ ΑΓҾ༻
IUUQTXXXRCPPLKQDPMVNO@IUNM 11
ςετۦಈ։ൃͷϝϦοτ • ޙఔόάΛ࣋ͪӽ͠ʹ͍͘ • γεςϜͷཁ݅ΛΑΓਂ͘ཧղͰ͖Δ • ։ൃऀ͕҆৺ͯ͠ίʔσΟϯάͰ͖ɺ৺ཧతෛ୲͕ݮΔ 2CPPL ςετۦಈ։ൃʢ5%%ʣͱʁ5%%ͷਐΊํΛεςοϓຖʹղઆʂ ΑΓҾ༻
IUUQTXXXRCPPLKQDPMVNO@IUNM ςετʹΑͬͯ։ൃऀͷମݧΛେ͖͘มԽ 12
ςετͷ࣮ߦɾ݁ՌΛݟΔͷָ͕͍͠ • ͳ͔ͳ͔௨Βͳ͍ςετ͕͋Δͱɺࠓͦ͜ޭ͢Δ͔ʂʁ ͍͚Δ͔ʂʁΈ͍ͨͳؾ࣋ͪʹͳΔ • ͣͬͱςετམͱͣ͞ʹ։ൃͯ͠ΔͱɺʮԶఱ࠽͔ʁʯͱ ಾͷࣗ৴͕ੜ·Εͯ͘Δͱಉ࣌ʹɺςετΛͣͬͱམͱͣ͞ʹ ։ൃ͍ͨ͠ͱ͍͏ઓҙ͕ࣝժੜ͑Δ • ࣮ߦޙʹςετέʔεͷ͕ݟΒΕͯॆ࣮ײ͕͋Δ
13
͋Δࢥͬͨ͜ͱ 14
ςετԻήʔͩʂ ͋Δࢥͬͨ͜ͱ 15
ςετͷ࣮ߦɾ݁ՌΛݟΔͷָ͕͍͠ • ͳ͔ͳ͔௨Βͳ͍ςετ͕͋Δͱɺࠓͦ͜ޭ͢Δ͔ʂʁ ͍͚Δ͔ʂʁΈ͍ͨͳؾ࣋ͪʹͳΔ ΊͬͪΌ࿅शͯ͠Δේ໘ͷՕॴ͕ྲྀΕΔͱ͖ʹ ϋϥϋϥυΩυΩ͠ͳ͕Β ԻήʔΛϓϨΠ͢Δͱ͖ͱಉ͡ؾ࣋ͪ 16
ςετͷ࣮ߦɾ݁ՌΛݟΔͷָ͕͍͠ • ͣͬͱςετམͱͣ͞ʹ։ൃͯ͠ΔͱɺʮԶఱ࠽͔ʁʯͱ ಾͷࣗ৴͕ੜ·Εͯ͘Δͱಉ࣌ʹɺςετΛͣͬͱམͱͣ͞ ʹ։ൃ͍ͨ͠ͱ͍͏ઓҙ͕ࣝժੜ͑Δ ϑϧίϯϘΛࢦ͍ͯ͠Δͱ͖ͱಉ͡ײ֮ 17
ςετͷ࣮ߦɾ݁ՌΛݟΔͷָ͕͍͠ • ࣮ߦޙʹςετέʔεͷ͕ݟΒΕͯॆ࣮ײ͕͋Δ ࠷େίϯϘͱ͔ݟͯχϠχϠ͍ͯ͠Δͷͱಉ͡ 18
ςετͷ࣮ߦɾ݁ՌΛݟΔͷָ͕͍͠ • ͳ͔ͳ͔௨Βͳ͍ςετ͕͋Δͱɺࠓͦ͜ޭ͢Δ͔ʂʁ ͍͚Δ͔ʂʁΈ͍ͨͳؾ࣋ͪʹͳΔ • ͣͬͱςετམͱͣ͞ʹ։ൃͯ͠ΔͱɺʮԶఱ࠽͔ʁʯͱ ಾͷࣗ৴͕ੜ·Εͯ͘Δͱಉ࣌ʹɺςετΛͣͬͱམͱͣ͞ʹ ։ൃ͍ͨ͠ͱ͍͏ઓҙ͕ࣝժੜ͑Δ • ࣮ߦޙʹςετέʔεͷ͕ݟΒΕͯॆ࣮ײ͕͋Δ
͜ͷʮָ͍͠ʯΛͬͱ৳ͯ͠ ։ൃऀͷମݧΛѹతʹվળ 19
ςετΛԻήʔ෩ʹ࣮ߦ ͯ͘͠ΕΔڥΛࡶʹ࡞ͬͨ ͦ͜Ͱʜ 20
%&.0 21
%&.0 22 https://www.youtube.com/watch?v=IUw4EqJQa0k
ͬͺΓςετԻήʔ • ίϯϘཁૉ͕͋Δʢউखʹ͋ΔͱࢥͬͯΔ͚ͩʣ • ςετέʔεʹΑ࣮ͬͯߦ͕࣌ؒҧ͏ͨΊɺϦζϜΛ࡞ΕΔ • Ҏ্ͷఆ͕ଘࡏ͢Δʢ TVDDFTTQFOEJOHGBJMVSFʣ • ී௨ͷԻήʔ0,͔/(͔ͷఆͰͳ͘ɺλΠϛϯάʹ
ʮͱͯ߹͍ͬͯͨʯʮͦͦ͜͜߹͍ͬͯͨʯʮ߹͍ͬͯͳ͔ͬͨʯ ͳͲͷҎ্ͷఆͰ͋Δ߹͕΄ͱΜͲ 23
࣮ • Իήʔ෦1SPDFTTJOHͰࡶʹ࡞ͬͨ • ࡶͳ࡞ΓͳͷͰɺSTQFDDPSFΛFWBM͠·ͬͨ͘ • STQFDDPSFͷFYBNQMF݁Ռ௨पΓͷ࣮Λ݁ߏݟͨ • ·͔͞STQFDDPSFͷ։ൃऀɺ͜ΜͳܗͰ࣮ΛݟΒΕΔͱࢥͬͯ ͍ͳ͍͔͠Εͳ͍
24
ࣗͰͬͯΈͨײ • ։ൃσόοάதʹ͍ͩͿ͖ͯ͠·ͬͨ • ςετʹରͯ͠ςϯγϣϯͷߴ͍ͱ͖͚ͩΦεεϝ 25
Ԙग़ݚ࢙ !TPMU ຖͷςετΛָ͠Έʹ͢Δ .BLFFWFSZEBZUFTUJOHGVO 26