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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
OSCA
February 23, 2018
Technology
0
520
みんなテストってどうやってるの?
様々な業種のシステムを開発している参加者に「それぞれの開発現場でどのようにテストをやっているのか?」の共有と意見交換を目的としたディスカッションを開催しました。
OSCA
February 23, 2018
Tweet
Share
More Decks by OSCA
See All by OSCA
人工肉を食べよう / Let's eat fake meat
oscasierra
4
1.4k
WEBサイトを HTTP/2 に移行した話 / HTTP2
oscasierra
1
2.2k
次世代の認証(WebAuthn/FIDO2)について説明を試みる
oscasierra
2
1.5k
WEBサイトが「できた」と安心する前に最終チェックすること
oscasierra
1
2.1k
Service Worker
oscasierra
1
1.5k
Growth of Podcast
oscasierra
0
1.5k
AIの知識無しでもAIを活用したQ&Aページを作る方法
oscasierra
1
1.2k
はじめてのサーバレス関数 (WEBエンジニア勉強会 #06)
oscasierra
0
980
HTTPレイヤーで行うパフォーマンスチューニング (WEBエンジニア勉強会 #05)
oscasierra
1
3.4k
Other Decks in Technology
See All in Technology
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1k
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
140
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
1
230
(金融庁共催)第4回金融データ活用チャレンジ勉強会資料
takumimukaiyama
0
120
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
130
Webhook best practices for rock solid and resilient deployments
glaforge
1
250
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
320
分析画面のクリック操作をそのままコード化 ! エンジニアとビジネスユーザーが共存するAI-ReadyなBI基盤
ikumi
1
230
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
520
日本語テキストと音楽の対照学習の技術とその応用
lycorptech_jp
PRO
1
420
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
2
270
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Google's AI Overviews - The New Search
badams
0
900
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Darren the Foodie - Storyboard
khoart
PRO
2
2.3k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
350
The World Runs on Bad Software
bkeepers
PRO
72
12k
Being A Developer After 40
akosma
91
590k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
63
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
320
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
04$" ᖛ Ұೋࡾ !FOHJOFFS@PTDB ΈΜͳςετͬͯͲ͏ͬͯΔͷʁ
ࣗݾհ © OSCA 04$"ᖛ Ұೋࡾ ·ͷ ͔ͣ;Έ 4*FS ܠࣸਅՈ
+BWB 1)1ϝΠϯͷ8&#ΤϯδχΞ ਓೳ "* ษڧத 8&#ΤϯδχΞษڧձΛओ࠵ !FOHJOFFS@PTDB c!PTDBQIPUP c!EJTOFZ@PTDB
© OSCA ςετ͖Ͱ͔͢ʁ
© OSCA 4*FSͰಇ͘"͞Μɺ৽͍͠8&#γεςϜͷϓϩδΣΫτ Λ͞Ε·ͨ͠ɻ "͞Μɺਖ਼Ͱ࣮ͳ੨Ͱ͢ɻ ͬͦ͘͞"͞Μ։ൃཁ݅ΛཧதͰ͢ɻ ʮ࣍ςετఔʹ͍ͭͯͷཧͩɻ ͓٬༷ɺͲΜͳ෩ ʹςετͯ͠ཉ͍͠ͷ͔ͳ͊ʁ ͪΐ͏Ͳ໌ɺސ٬ͱͷଧ
ͪ߹Θ͕ͤ͋Δ͔Βɺͬ͘͟ΒΜʹཁΛώΞϦϯάͯ͠ ΈΑ͏ʂʯ ংষ
© OSCA "͞Μ ʮԿ͔ςετఔͰ͝ཁ͋Γ·͔͢ʁ ԿͳΓͱ͓ਃ͠ ͚͍ͩ͘͞ʯ ʹͬ͜Γ ٬"ʮͱΓ͋͑ͣɺόάθϩͰ͓ئ͍͠·͢ʯ ٬#ɿʮςετʁͪΖΜ࠷খݶͰ͓ئ͍͠·͢ʯ ٬$ɿʮೲʁΒΜ͚Ͳɺςετίʔυɾ༷ॻશ෦ʯ
٬%ɿʮཏੑʁΒΜ͚ͲɺશέʔεɾશΫϥε͔ͳʯ ٬&ɿʮςετίʔυͷಈ͔͠ํͷϚχϡΞϧೲͯ͠ʯ ংষ
© OSCA "͞Μ ʮԿ͔ςετఔͰ͝ཁ͋Γ·͔͢ʁ ԿͳΓͱ͓ਃ͠ ͚͍ͩ͘͞ʯ ʹͬ͜Γ ٬"ʮͱΓ͋͑ͣɺόάθϩͰ͓ئ͍͠·͢ʯ ٬#ɿʮςετʁͪΖΜ࠷খݶͰ͓ئ͍͠·͢ʯ ٬$ɿʮೲʁΒΜ͚Ͳɺςετίʔυɾ༷ॻશ෦ʯ
٬%ɿʮཏੑʁΒΜ͚ͲɺશέʔεɾશΫϥε͔ͳʯ ٬&ɿʮςετίʔυͷಈ͔͠ํͷϚχϡΞϧೲͯ͠ʯ ংষ ࢮ
© OSCA ΈΜͳςετͬͯͲ͏ͬͯΔͷʁ ͜ͷηογϣϯɺօ͞ΜࢀՃܕͷΦʔϓϯσΟεΧογϣ ϯܗࣜͰ͢ɻ ͨ͘͠ͳͬͨΒɺ͍ͭͰޱΛڬΜͰͩ͘ ͍͞ʂ ˞ҙ˞ • ʮਖ਼ղʯ͕ͳ͍ςʔϚͳͷͰɺ༏͍͠ؾ࣋ͪͰଞͷࢀՃ
ऀͷҙݟΛฉ͍͍ͯ͋͛ͯͩ͘͞ɻ
© OSCA ΦʔϓϯσΟεΧογϣϯ
© OSCA ςετͷΛ͢Δͱ͖ʹ͍͜͠ͱ ਓͦΕͧΕͷόοΫάϥϯυ͕͋Γ·͢ɻ • ͍ؒɺಉ͡αʔϏεΛϝϯςφϯε͠ଓ͚͍ͯΔਓ • ೲͨ͠ΒऴΘΓͷϓϩδΣΫτͷਓ • ίετͰςετΛऴΘΒ͢͜ͱׂ͕ͷਓ
• ҆৺ײॏࢹͰɺͱʹ͔͘શͯΛςετͷରʹ͍ͨ͠ਓ • ਓͷೖΕସΘΓ͕ଟ͍গͳ͍ݱͷਓ • όά͕͋ͬͨ߹ɺ͓٬༷ʹઌਞͬͯँΔׂͷਓ
© OSCA ͓̍ʮखಈɾࣗಈͷڥքʯ ςετʹɺࣗಈԽͰ͖Δ෦ͱͰ͖ͳ͍෦͕͋Γ·͢ɻ օ͞ΜɺͲͷΑ͏ʹઢҾ͖Λ͍ͯ͠·͔͢ʁ ϓϩδΣΫτʹ͓͚Δ ςετ૯ྔ
© OSCA ͓̍ʮखಈɾࣗಈͷڥքʯ ςετʹɺࣗಈԽͰ͖Δ෦ͱͰ͖ͳ͍෦͕͋Γ·͢ɻ օ͞ΜɺͲͷΑ͏ʹઢҾ͖Λ͍ͯ͠·͔͢ʁ ϓϩδΣΫτʹ͓͚Δ ςετ૯ྔ खಈͰςετ͢Δ߲ ࣗಈԽͯ͠ςετ͢Δ߲
© OSCA ͓̍ʮखಈɾࣗಈͷڥքʯ ςετʹɺࣗಈԽͰ͖Δ෦ͱͰ͖ͳ͍෦͕͋Γ·͢ɻ օ͞ΜɺͲͷΑ͏ʹઢҾ͖Λ͍ͯ͠·͔͢ʁ ϓϩδΣΫτʹ͓͚Δ ςετ૯ྔ खಈͰςετ͢Δ߲ ࣗಈԽͯ͠ςετ͢Δ߲ ϒϥβͰͷૢ࡞ੑ
৭ ϨΠΞτ ૯߹ςετɾγφϦΦςετ ܁Γ͔͑͠ςετΛ͠ͳ͍߲ ڞ௨Ϋϥεɾؔɾ"1* ୯ମςετ ͳΜͲ܁Γฦ͠ςετΛ͢Δର <Ωʔϫʔυ> • Y6OJU +6OJU 1)16OJU • 4FMFOJVN • $* +FOLJOT 5SBWJT
© OSCA ͓ʮςετΛࣗಈԽ͢ΔతͳΜͰ͔͢ʁʯ Y6OJU $*ͳͲΛར༻ͯ͠ɺςετΛࣗಈԽ͢Δతͳ ΜͰ͠ΐ͏͔ʁ
© OSCA ͓ʮςετΛࣗಈԽ͢ΔతͳΜͰ͔͢ʁʯ Y6OJU $*ͳͲΛར༻ͯ͠ɺςετΛࣗಈԽ͢Δతͳ ΜͰ͠ΐ͏͔ʁ ԿͰςετΛ࣮ߦͰ͖Δ෮ੑ
มߋϦϑΝΫλϦϯάͰ"1*Λ୲อ͢ΔͨΊ ҆৺ײ ιʔείʔυͰ༷Λදݱ͢ΔͨΊ
© OSCA ςετࣗಈԽͰ҆৺ײ͕ཉ͍͠ཧ༝ʁ • "1*Λյͣ͞ʹϦϑΝΫλϦϯά͍ͨ͠ͱ͖ • ػೳมߋ࣌ʹଞػೳʹӨڹ͕ͳ͍͜ͱΛ͔֬Ί͍ͨͱ͖ • ϒϥϯΫظ͕ؒ͋ͬͯιʔείʔυʹ৮Δͱ͖ •
୲ऀͷมߋ͕͋ͬͨͱ͖ ୀ৬ɾୀϓϩ
© OSCA ςετίʔυͰ༷Λදݱ͢Δ • ϏδωείʔυΛோΊΔΑΓɺςετίʔυΛோΊͨ ํ͕ݫີͳ༷Λཧղ͘͢͠Ͱ͖Δ߹͋Δɻ
© OSCA ͓ʮςετίʔυͲΕ͘Β͍ॻ͖·͔͢ʁʯ ϓϩδΣΫτʹ͓͚Δ ςετ૯ྔ खಈͰςετ͢Δ߲ ࣗಈԽͯ͠ςετ͢Δ߲
© OSCA Ͳͷ͘Β͍ςετΛॻ͍ͨΒྑ͍ͷ͔ʁ Controller Service BusinessB BusinessA Wrapper Util Util
Dao Dao Util ͖ͱͯ͠ʮςετΕΔ΄Ͳྑ͍ʯਖ਼͍͠ɻ
© OSCA ςετॻ͖͗͢ • શΫϥεɾؔΛςετ͢Δͷେมɻ • ෦ϩδοΫͳͲΛςετ͗͢͠ΔͱɺϦϑΝΫλϦϯ άͨ͠Γ͢Δͱ͖ʹ͔ͤʹͳΔ߹͕͋Δɻ
© OSCA %)) %BWJE)FJOFNFJFS )BOTTPO
© OSCA %)) %BWJE)FJOFNFJFS )BOTTPO 3VCZPO3BJMTͷ࡞ऀ
© OSCA %)) %BWJE)FJOFNFJFS )BOTTPO 3VCZPO3BJMTͷ࡞ऀ You’re probably doing it
wrong if testing is taking more than 1/3 of your time. You’re definitely doing it wrong if it’s taking up more than half. ࡞ۀ࣌ؒͷҎ্͕ςετʹؔ ͢Δ࡞ۀʹ͔͔͍ͬͯΔͱͨ͠Βɺ Կ͔ΓํΛؒҧ͍͑ͯΔɻ Ҏ্Λςετʹׂ͍͍ͯΔͱͨ͠ Βશʹؒҧ͍ͬͯΔɻ
© OSCA Ͳͷ͘Β͍ςετΛॻ͍ͨΒྑ͍ͷ͔ʁ ྫ 4FSWJDFϨΠϠʔ͚ͩશύλʔϯΔ Controller Service BusinessB BusinessA Wrapper
Util Util Dao Dao Util
© OSCA ·ͱΊ
© OSCA ·ͱΊ ·ͱ·Γ·ͤΜ