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
71
ABPro2018 ステアリングの達人
solt9029
0
55
WISS2017 大部分の空間的一貫性を保つアイコン整列手法の提案
solt9029
0
96
インタラクション2017 MouseTutor: マウスに手を動かされるチュートリアル
solt9029
0
75
Featured
See All Featured
Music & Morning Musume
bryan
46
6.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
640
What's in a price? How to price your products and services
michaelherold
245
12k
Code Review Best Practice
trishagee
68
18k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
Speed Design
sergeychernyshev
30
980
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
470
Bash Introduction
62gerente
614
210k
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