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.6k
つくった展2019 エアー乾杯
solt9029
0
100
第181回HCI研究会 リニアメニューにおける開閉ボタンの位置が探索に与える影響
solt9029
0
63
ABPro2018 ステアリングの達人
solt9029
0
47
WISS2017 大部分の空間的一貫性を保つアイコン整列手法の提案
solt9029
0
80
インタラクション2017 MouseTutor: マウスに手を動かされるチュートリアル
solt9029
0
65
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
For a Future-Friendly Web
brad_frost
176
9.5k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
550
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Producing Creativity
orderedlist
PRO
344
39k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
GraphQLとの向き合い方2022年版
quramy
44
13k
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