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
540
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
みんなテストってどうやってるの?
様々な業種のシステムを開発している参加者に「それぞれの開発現場でどのようにテストをやっているのか?」の共有と意見交換を目的としたディスカッションを開催しました。
OSCA
February 23, 2018
More Decks by OSCA
See All by OSCA
人工肉を食べよう / Let's eat fake meat
oscasierra
4
1.5k
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.6k
AIの知識無しでもAIを活用したQ&Aページを作る方法
oscasierra
1
1.2k
はじめてのサーバレス関数 (WEBエンジニア勉強会 #06)
oscasierra
0
1k
HTTPレイヤーで行うパフォーマンスチューニング (WEBエンジニア勉強会 #05)
oscasierra
1
3.5k
Other Decks in Technology
See All in Technology
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
240
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
270
取引先から届く 「セキュリティチェックシート」の読み解き方
kamadamakoto
0
140
サイバー捜査員研修(前半)
nomizone
1
1.9k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.9k
SO-101×VLAによる3色キューブのピック&プレース
abeja
0
180
OSPN.JPバージョンアップ作業進捗のご報告 / 20260801-osc26kyoto
akkiesoft
0
450
FDEの心得
noriakioji
1
1.3k
20分でわかるセキュアAPI
nwiizo
2
230
修正PRを食べてレビュースキルが賢くなる:Claude Codeによる自己改善サイクル
yuyaumetsu
6
1.4k
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.6k
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
8
2.4k
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Discover your Explorer Soul
emna__ayadi
2
1.2k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
250
Test your architecture with Archunit
thirion
1
2.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
690
The Curse of the Amulet
leimatthew05
2
14k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
420
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 ·ͱΊ ·ͱ·Γ·ͤΜ