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
4.6k
マイクロサービスアーキテクチャへのIntegration Test導入のすゝめ
ソフトウェアテスト自動化カンファレンス2023登壇時の資料です
Hiroms
December 19, 2023
Tweet
Share
Other Decks in Technology
See All in Technology
Oracle Cloud Infrastructure:2024年12月度サービス・アップデート
oracle4engineer
PRO
0
180
第3回Snowflake女子会_LT登壇資料(合成データ)_Taro_CCCMK
tarotaro0129
0
190
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.2k
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
120
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
210
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
170
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
32k
.NET 9 のパフォーマンス改善
nenonaninu
0
870
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
33
13k
Storage Browser for Amazon S3
miu_crescent
1
140
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
270
生成AIのガバナンスの全体像と現実解
fnifni
1
190
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
We Have a Design System, Now What?
morganepeng
51
7.3k
Optimising Largest Contentful Paint
csswizardry
33
3k
BBQ
matthewcrist
85
9.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
A Modern Web Designer's Workflow
chriscoyier
693
190k
A Tale of Four Properties
chriscoyier
157
23k
Mobile First: as difficult as doing things right
swwweet
222
9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
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 Λಋೖ͢Δ͜ͱͰɺॏཁͳػೳΛςετͰΧόʔͰ͖ɺɹɹ σϓϩΠ͘͢͠ͳΓ։ൃੜ࢈ੑ ⤴︎ • ฐࣾͷࣄྫ͕ςετઓུΛߟ͑ΔࡍͷҰॿͱͳΕ͍Ͱ͢