Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
みんなテストってどうやってるの?
Search
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
作って終わりじゃないサーバーレス 〜9年運用する大規模EC物流API基盤の設計・運用のリアル〜
zozotech
PRO
0
480
Cloudflare Workers 向けアプリを C# で構築する ~WASM Native AOT への道~
nenonaninu
1
1.3k
開発投資の期待値を上げるプロダクトロードマップづくり ~プロダクトエンジニアが越境して事業を伸ばす~
kekekenta
1
240
白金鉱業Meetup Vol.25 アウトカムが二値のデータに対するCausal Impact
brainpadpr
0
290
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
4
710
登壇の自信を奪う3匹のオバケ / 3 Ghosts That Rob You of Your Confidence in Public Speaking
pauli
9
1.1k
What the customer really needed
kawaguti
PRO
3
220
時うどん〜Socket.getifaddrsで学ぶネットワーク編 / Tokiudon: The Socket.getifaddrs Edition
coe401_
4
240
AIで社員の自主発信に広報目線を組み込む
_mossann_t
0
140
Making AI Agents Safe and Fast- Jev, Obsidian, and the Meta-Harness
x5gtrn
PRO
0
120
SREの視点で考えるSIEM活用術 〜AWS環境でのセキュリティ強化〜
cscengineer
PRO
0
300
アクセスキーこわい やめかたと漏らさない工夫
sassssan68
1
670
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Being A Developer After 40
akosma
91
590k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
500
From π to Pie charts
rasagy
1
380
Mind Mapping
helmedeiros
1
370
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
420
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
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 ·ͱΊ ·ͱ·Γ·ͤΜ