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
マイクロサービスアーキテクチャへのIntegration Test導入のすゝめ (ソフトウェア...
Search
Hiroms
December 19, 2023
Technology
0
5.1k
マイクロサービスアーキテクチャへのIntegration Test導入のすゝめ (ソフトウェアテスト自動化カンファレンス2023)
ソフトウェアテスト自動化カンファレンス2023登壇時の資料です
Hiroms
December 19, 2023
Tweet
Share
More Decks by Hiroms
See All by Hiroms
誤差を上手に扱いたい (S-Mat Tech Night 2024/12/10)
hiroms
0
200
Other Decks in Technology
See All in Technology
Function calling機能をPLaMo2に実装するには / PFN LLMセミナー
pfn
PRO
0
970
「Verify with Wallet API」を アプリに導入するために
hinakko
1
250
Git in Team
kawaguti
PRO
2
190
E2Eテスト設計_自動化のリアル___Playwrightでの実践とMCPの試み__AIによるテスト観点作成_.pdf
findy_eventslides
1
510
pprof vs runtime/trace (FlightRecorder)
task4233
0
170
生成AI_その前_に_マルチクラウド時代の信頼できるデータを支えるSnowflakeメタデータ活用術.pdf
cm_mikami
0
120
オープンソースでどこまでできる?フォーマル検証チャレンジ
msyksphinz
0
110
ガバメントクラウド(AWS)へのデータ移行戦略の立て方【虎の巻】 / 20251011 Mitsutosi Matsuo
shift_evolve
PRO
2
120
PLaMoの事後学習を支える技術 / PFN LLMセミナー
pfn
PRO
9
3.9k
OpenAI gpt-oss ファインチューニング入門
kmotohas
2
1.1k
SoccerNet GSRの紹介と技術応用:選手視点映像を提供するサッカー作戦盤ツール
mixi_engineers
PRO
1
190
多様な事業ドメインのクリエイターへ 価値を届けるための営みについて
massyuu
1
440
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Building Applications with DynamoDB
mza
96
6.6k
Why Our Code Smells
bkeepers
PRO
339
57k
Building an army of robots
kneath
306
46k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
580
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Side Projects
sachag
455
43k
Navigating Team Friction
lara
189
15k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Transcript
ϚΠΫϩαʔϏεΞʔΩςΫνϟͷ Integration Test ಋೖͷ͢ʍΊ ~ιϑτΣΞςετࣗಈԽΧϯϑΝϨϯε2023~ (ג)εϚʔτγϣοϐϯά ΤϯδχΞ ౡେ
ձࣾհ/ࣗݾհ • εϚʔτγϣοϐϯάͱ͍͏ձࣾͰɹ όοΫΤϯυΤϯδχΞ͍ͯ͠·͢ • ॏྔϕʔεͰࡏݿཧ͢ΔϓϩμΫτΛ ͍ͭͬͯ͘·͢ • ZennʹςετؔͷهࣄΛ͍͔ͭ͘✏ɹ hiromsͰݕࡧͯ͠Έ͍ͯͩ͘͞👀
• https://zenn.dev/hiroms
࣍ • ๊͍͑ͯͨ՝ײ😫 • Integration Test ಋೖ/ӡ༻Ͱͷ💡 • Integration Test
ಋೖޙͷੈք🌏 • ·ͱΊ👀
࣍ • ▶︎ ๊͍͑ͯͨ՝ײ😫 • Integration Test ಋೖ/ӡ༻Ͱͷ💡 • Integration
Test ಋೖޙͷੈք🌏 • ·ͱΊ👀
๊͍͑ͯͨ՝ײ😫
๊͍͑ͯͨ՝ײ • ϚΠΫϩαʔϏεΞʔΩςΫνϟಛ༗ͷ͠͞
๊͍͑ͯͨ՝ײ • ϚΠΫϩαʔϏεΞʔΩςΫνϟಛ༗ͷ͠͞ • ͋Δॲཧ͕ෳͷαʔϏεɺϓϩηεΛ ·͕͓ͨͬͯ͜ΘͳΘΕΔ͜ͱ͕͋Δ
๊͍͑ͯͨ՝ײ • ϚΠΫϩαʔϏεΞʔΩςΫνϟಛ༗ͷ͠͞ • ͋Δܭࢉ݁ՌΛಘΔॲཧ͕ෳͷαʔϏεɺϓϩηε Λ·͕͓ͨͬͯ͜ΘͳΘΕΔ • ྫ: ฐࣾͷࡏݿཧϓϩμΫτॏྔΛଌఆ͠ ࡏݿΛਪఆ͢Δɻ͜ͷਪఆͷ݁ՌΛಘΔͷ
ʹ͘ෳࡶͳखଓ͖ΛܦΔ
๊͍͑ͯͨ՝ײ • ϚΠΫϩαʔϏεΞʔΩςΫνϟಛ༗ͷ͠͞ • ͋Δܭࢉ݁ՌΛಘΔॲཧ͕ɺෳͷαʔϏεɺϓϩηεΛ·͕ͨͬ ͓ͯ͜ΘͳΘΕΔ • ྫ: ฐࣾͷࡏݿཧϓϩμΫτॏྔΛଌఆͯ͠ࡏݿΛਪఆ͢ Δɻ͜ͷਪఆͷ݁ՌΛಘΔͷʹ͘ෳࡶͳखଓ͖ΛܦΔ
• ಛఆͷܭࢉͷϩδοΫʹUTΛॻ͍ͯɺ ࡏݿͷਪఆɺͱ͍͏ػೳશମΛςετͰ कΕ͍ͯΔ͔ෆ҆😫
๊͍͑ͯͨ՝ײ • ը໘ܖػͷE2EͰΧόʔͰ͖ͳ͍ൣғʹɹɹ ॏཁͳػೳ͕͋Δ
๊͍͑ͯͨ՝ײ • ը໘ܖػͷE2EͰΧόʔͰ͖ͳ͍ൣғʹॏཁͳػೳ͕͋Δ • લܝͷࡏݿਪఆॏཁͳػೳͰ͋Δ͕ɺ IoTσόΠεܖػͷॲཧ
๊͍͑ͯͨ՝ײ • ը໘ܖػͷE2EͰΧόʔͰ͖ͳ͍ൣғʹॏཁͳػೳ͕͋Δ • લܝͷࡏݿਪఆॏཁػೳͰ͋Δ͕ɺIoTσόΠεܖػͷॲཧ • ·ͨɺͦͷࡏݿਪఆͷ݁ՌΛड͚ͨൃ JOBͱ͍͏ͷ͕͋Γɺ͜Εॏཁػೳ
๊͍͑ͯͨ՝ײ • ը໘ܖػͷE2EͰΧόʔͰ͖ͳ͍ൣғʹॏཁͳػೳ͕͋Δ • લܝͷࡏݿਪఆॏཁػೳͰ͋Δ͕ɺIoTσόΠεܖػͷॲཧ • ·ͨɺͦͷࡏݿਪఆͷ݁ՌΛड͚ͨൃJOBͱ͍͏ͷ͕͋ Γɺ͜Εॏཁػೳ • ͍ͣΕը໘͔ΒൃՐ͢ΔػೳͰͳ͍😫
E2EͰΧόʔͰ͖ͳ͍😫
Integration Test ͷಋೖ • UT, E2EΛ࡞ͯ͠ɺΧόʔͰ͖ͳ͍ςετൣғͱ১͑ͳ͍ෆ҆ײ • ෆ҆ײ͕͋ΔͷͰɺσϓϩΠ͢ΔͷʹͨΊΒ͍͕ੜ·ΕΔ • ͜ΕΒͷཁૉ͕ॏͳΓɺIntegration
Test Λಋೖ
࣍ • ๊͍͑ͯͨ՝ײ😫 • ▶︎ Integration Test ಋೖ/ӡ༻Ͱͷ💡 • Integration
Test ಋೖޙͷੈք🌏 • ·ͱΊ👀
Integration Test ಋೖ/ӡ༻ Ͱͷ💡
Integration Test ಋೖ/ӡ༻Ͱͷᶃ • ςετέʔεબఆʹ͓͚Δ
Integration Test ಋೖ/ӡ༻Ͱͷᶃ • ςετέʔεબఆʹ͓͚Δ • ฐࣾελʔτΞοϓاۀͰ͋Γػೳ։ൃʹ ΑΓΛ͔͚͍ͨɻɹɹɹɹɹɹɹɹɹɹ ςετ࣮ʹ͔͚ΒΕΔ࣌ؒʹ੍ݶ͕͋Δ
Integration Test ಋೖ/ӡ༻Ͱͷᶃ • ςετέʔεબఆʹ͓͚Δ • ฐࣾελʔτΞοϓاۀͰ͋Γػೳ։ൃʹΑΓΛɹ ͔͚͍ͨɻςετ࣮ʹ͔͚ΒΕΔ࣌ؒʹ੍ݶ͕͋Δ • ͦ͜Ͱॏཁͳػೳͱɺߟ͑ΒΕΔςετέʔεΛ
ϦετΞοϓ͠ɺ༏ઌΛ͚ͭͯςετͷ࣮Λ ͢͢Ίͨ ༏ઌ1 ༏ઌ2 ༏ઌ3
Integration Test ಋೖ/ӡ༻Ͱͷᶄ • ςετൣғઃఆʹ͓͚Δ
Integration Test ಋೖ/ӡ༻Ͱͷᶄ • ςετൣғઃఆʹ͓͚Δ • ΞϓϦؒͷڠௐಈ࡞Λςετ͍͕ͨ͠ɺɹɹ ςετൣғΛେ͖͘͠ա͗ΔͱFlakyʹͳΔ
Integration Test ಋೖ/ӡ༻Ͱͷᶄ • ςετൣғઃఆʹ͓͚Δ • ΞϓϦؒͷڠௐಈ࡞Λςετ͍͕ͨ͠ɺɹɹɹɹ ςετൣғΛେ͖͘͠ա͗ΔͱFlakyʹͳΔ • ςετൣғΛॊೈʹઃఆ͠Έ߹Θͤɺɹɹ
૯߹తʹΈͯΧόʔͰ͖͍ͯΔͱ͢Δ
Integration Test ಋೖ/ӡ༻Ͱͷᶄ • ςετൣғઃఆʹ͓͚Δ • ΞϓϦؒͷڠௐಈ࡞Λςετ͍͕ͨ͠ɺ ςετൣғΛେ͖͘͠ա͗ΔͱFlakyʹͳΔ • ςετൣғΛॊೈʹઃఆ͠Έ߹Θͤɺɹɹɹɹɹ
૯߹తʹΈͯΧόʔͰ͖͍ͯΔͱ͢Δ • ྫ) ࡏݿਪఆൣғ * ൃൣғ
Integration Test ಋೖ/ӡ༻Ͱͷᶄ • ςετൣғઃఆʹ͓͚Δ • ΞϓϦؒͷڠௐಈ࡞Λςετ͍͕ͨ͠ɺ ςετൣғΛେ͖͘͠ա͗ΔͱFlakyʹͳΔ • ςετൣғΛॊೈʹઃఆ͠Έ߹Θͤɺɹɹɹɹɹ
૯߹తʹΈͯΧόʔͰ͖͍ͯΔͱ͢Δ • ྫ) ࡏݿਪఆൣғ * ൃൣғ
Integration Test ಋೖ/ӡ༻Ͱͷᶄ • ςετൣғઃఆʹ͓͚Δ • ΞϓϦؒͷڠௐಈ࡞Λςετ͍͕ͨ͠ɺ ςετൣғΛେ͖͘͠ա͗ΔͱFlakyʹͳΔ • ςετൣғΛॊೈʹઃఆ͠Έ߹Θͤɺɹɹɹɹɹ
૯߹తʹΈͯΧόʔͰ͖͍ͯΔͱ͢Δ • ྫ) ࡏݿਪఆൣғ * ൃൣғ
࣍ • ๊͍͑ͯͨ՝ײ😫 • Integration Test ಋೖ/ӡ༻Ͱͷ💡 • ▶︎ Integration
Test ಋೖޙͷੈք🌏 • ·ͱΊ👀
Integration Test ಋೖޙͷੈք🌏
Integration Test ಋೖޙͷੈք • ॏཁػೳ͕ࣗಈςετͰอޢ͞Ε͍ͯΔ҆৺ײ • σϓϩΠ࣌ͷّ͕ࣜͳ͘ͳͬͨ • ຊ൪ڥͰͷखಈ֬ೝ •
ϩάͷࢹ • σϓϩΠͷ͢͠͞ ⤴︎ ɺʹ4,5ճσϓϩΠ💪
·ͱΊ👀
·ͱΊ • Integration Test Λಋೖ͢Δʹࢸͬͨ՝ײͱɺӡ༻্ͷΛڞ༗͠·ͨ͠ • UT, E2EͰςετ͖͠Εͳ͍ൣғʹॏཁͳػೳ͕͋Δ • ςετέʔεͷ༏ઌ͚ͮͱॊೈͳςετൣғͷઃఆ
• Integration Test Λಋೖ͢Δ͜ͱͰɺॏཁͳػೳΛςετͰΧόʔͰ͖ɺɹɹ σϓϩΠ͘͢͠ͳΓ։ൃੜ࢈ੑ ⤴︎ • ฐࣾͷࣄྫ͕ςετઓུΛߟ͑ΔࡍͷҰॿͱͳΕ͍Ͱ͢