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.3k
マイクロサービスアーキテクチャへの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
250
Other Decks in Technology
See All in Technology
I tried making a solo advent calendar!
zzzzico
0
130
Data Hubグループ 紹介資料
sansan33
PRO
0
2.5k
ESXi のAIOps だ!2025冬
unnowataru
0
470
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.9k
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
330
Eight Engineering Unit 紹介資料
sansan33
PRO
0
6.1k
スクラムマスターが スクラムチームに入って取り組む5つのこと - スクラムガイドには書いてないけど入った当初から取り組んでおきたい大切なこと -
scrummasudar
0
1.1k
AI との良い付き合い方を僕らは誰も知らない (WSS 2026 静岡版)
asei
1
210
「リリースファースト」の実感を届けるには 〜停滞するチームに変化を起こすアプローチ〜 #RSGT2026
kintotechdev
0
490
BidiAgent と Nova 2 Sonic から考える音声 AI について
yama3133
2
140
Bedrock AgentCore Evaluationsで学ぶLLM as a judge入門
shichijoyuhi
2
310
国井さんにPurview の話を聞く会
sophiakunii
1
290
Featured
See All Featured
The Curse of the Amulet
leimatthew05
0
6.7k
30 Presentation Tips
portentint
PRO
1
180
Highjacked: Video Game Concept Design
rkendrick25
PRO
0
260
Exploring anti-patterns in Rails
aemeredith
2
220
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Amusing Abliteration
ianozsvald
0
80
Building an army of robots
kneath
306
46k
Embracing the Ebb and Flow
colly
88
4.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
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 Λಋೖ͢Δ͜ͱͰɺॏཁͳػೳΛςετͰΧόʔͰ͖ɺɹɹ σϓϩΠ͘͢͠ͳΓ։ൃੜ࢈ੑ ⤴︎ • ฐࣾͷࣄྫ͕ςετઓུΛߟ͑ΔࡍͷҰॿͱͳΕ͍Ͱ͢