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.7k
僕の考えた最強のテスト駆動開発
#cookpad_tech_kitchen 第27回で発表しました。
solt9029
June 30, 2022
Tweet
Share
More Decks by solt9029
See All by solt9029
JSON Schema で複雑な仕様の入力フォームの実装に立ち向かった話
solt9029
11
5.8k
つくった展2019 エアー乾杯
solt9029
0
120
第181回HCI研究会 リニアメニューにおける開閉ボタンの位置が探索に与える影響
solt9029
0
73
ABPro2018 ステアリングの達人
solt9029
0
56
WISS2017 大部分の空間的一貫性を保つアイコン整列手法の提案
solt9029
0
99
インタラクション2017 MouseTutor: マウスに手を動かされるチュートリアル
solt9029
0
77
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
The Cost Of JavaScript in 2023
addyosmani
51
8.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
340
A better future with KSS
kneath
238
17k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Designing Experiences People Love
moore
142
24k
The Language of Interfaces
destraynor
158
25k
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