マイクロサービスアーキテクチャへのIntegration Test導入のすゝめ
by
Hiroms
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ϚΠΫϩαʔϏεΞʔΩςΫνϟͷ Integration Test ಋೖͷ͢ʍΊ ~ιϑτΣΞςετࣗಈԽΧϯϑΝϨϯε2023~ (ג)εϚʔτγϣοϐϯά ΤϯδχΞ ౡେ
Slide 2
Slide 2 text
ձࣾհ/ࣗݾհ • εϚʔτγϣοϐϯάͱ͍͏ձࣾͰɹ όοΫΤϯυΤϯδχΞ͍ͯ͠·͢ • ॏྔϕʔεͰࡏݿཧ͢ΔϓϩμΫτΛ ͍ͭͬͯ͘·͢ • ZennʹςετؔͷهࣄΛ͍͔ͭ͘✏ɹ hiromsͰݕࡧͯ͠Έ͍ͯͩ͘͞👀 • https://zenn.dev/hiroms
Slide 3
Slide 3 text
࣍ • ๊͍͑ͯͨ՝ײ😫 • Integration Test ಋೖ/ӡ༻Ͱͷ💡 • Integration Test ಋೖޙͷੈք🌏 • ·ͱΊ👀
Slide 4
Slide 4 text
࣍ • ▶︎ ๊͍͑ͯͨ՝ײ😫 • Integration Test ಋೖ/ӡ༻Ͱͷ💡 • Integration Test ಋೖޙͷੈք🌏 • ·ͱΊ👀
Slide 5
Slide 5 text
๊͍͑ͯͨ՝ײ😫
Slide 6
Slide 6 text
๊͍͑ͯͨ՝ײ • ϚΠΫϩαʔϏεΞʔΩςΫνϟಛ༗ͷ͠͞
Slide 7
Slide 7 text
๊͍͑ͯͨ՝ײ • ϚΠΫϩαʔϏεΞʔΩςΫνϟಛ༗ͷ͠͞ • ͋Δॲཧ͕ෳͷαʔϏεɺϓϩηεΛ ·͕͓ͨͬͯ͜ΘͳΘΕΔ͜ͱ͕͋Δ
Slide 8
Slide 8 text
๊͍͑ͯͨ՝ײ • ϚΠΫϩαʔϏεΞʔΩςΫνϟಛ༗ͷ͠͞ • ͋Δܭࢉ݁ՌΛಘΔॲཧ͕ෳͷαʔϏεɺϓϩηε Λ·͕͓ͨͬͯ͜ΘͳΘΕΔ • ྫ: ฐࣾͷࡏݿཧϓϩμΫτॏྔΛଌఆ͠ ࡏݿΛਪఆ͢Δɻ͜ͷਪఆͷ݁ՌΛಘΔͷ ʹ͘ෳࡶͳखଓ͖ΛܦΔ
Slide 9
Slide 9 text
๊͍͑ͯͨ՝ײ • ϚΠΫϩαʔϏεΞʔΩςΫνϟಛ༗ͷ͠͞ • ͋Δܭࢉ݁ՌΛಘΔॲཧ͕ɺෳͷαʔϏεɺϓϩηεΛ·͕ͨͬ ͓ͯ͜ΘͳΘΕΔ • ྫ: ฐࣾͷࡏݿཧϓϩμΫτॏྔΛଌఆͯ͠ࡏݿΛਪఆ͢ Δɻ͜ͷਪఆͷ݁ՌΛಘΔͷʹ͘ෳࡶͳखଓ͖ΛܦΔ • ಛఆͷܭࢉͷϩδοΫʹUTΛॻ͍ͯɺ ࡏݿͷਪఆɺͱ͍͏ػೳશମΛςετͰ कΕ͍ͯΔ͔ෆ҆😫
Slide 10
Slide 10 text
๊͍͑ͯͨ՝ײ • ը໘ܖػͷE2EͰΧόʔͰ͖ͳ͍ൣғʹɹɹ ॏཁͳػೳ͕͋Δ
Slide 11
Slide 11 text
๊͍͑ͯͨ՝ײ • ը໘ܖػͷE2EͰΧόʔͰ͖ͳ͍ൣғʹॏཁͳػೳ͕͋Δ • લܝͷࡏݿਪఆॏཁͳػೳͰ͋Δ͕ɺ IoTσόΠεܖػͷॲཧ
Slide 12
Slide 12 text
๊͍͑ͯͨ՝ײ • ը໘ܖػͷE2EͰΧόʔͰ͖ͳ͍ൣғʹॏཁͳػೳ͕͋Δ • લܝͷࡏݿਪఆॏཁػೳͰ͋Δ͕ɺIoTσόΠεܖػͷॲཧ • ·ͨɺͦͷࡏݿਪఆͷ݁ՌΛड͚ͨൃ JOBͱ͍͏ͷ͕͋Γɺ͜Εॏཁػೳ
Slide 13
Slide 13 text
๊͍͑ͯͨ՝ײ • ը໘ܖػͷE2EͰΧόʔͰ͖ͳ͍ൣғʹॏཁͳػೳ͕͋Δ • લܝͷࡏݿਪఆॏཁػೳͰ͋Δ͕ɺIoTσόΠεܖػͷॲཧ • ·ͨɺͦͷࡏݿਪఆͷ݁ՌΛड͚ͨൃJOBͱ͍͏ͷ͕͋ Γɺ͜Εॏཁػೳ • ͍ͣΕը໘͔ΒൃՐ͢ΔػೳͰͳ͍😫 E2EͰΧόʔͰ͖ͳ͍😫
Slide 14
Slide 14 text
Integration Test ͷಋೖ • UT, E2EΛ࡞ͯ͠ɺΧόʔͰ͖ͳ͍ςετൣғͱ১͑ͳ͍ෆ҆ײ • ෆ҆ײ͕͋ΔͷͰɺσϓϩΠ͢ΔͷʹͨΊΒ͍͕ੜ·ΕΔ • ͜ΕΒͷཁૉ͕ॏͳΓɺIntegration Test Λಋೖ
Slide 15
Slide 15 text
࣍ • ๊͍͑ͯͨ՝ײ😫 • ▶︎ Integration Test ಋೖ/ӡ༻Ͱͷ💡 • Integration Test ಋೖޙͷੈք🌏 • ·ͱΊ👀
Slide 16
Slide 16 text
Integration Test ಋೖ/ӡ༻ Ͱͷ💡
Slide 17
Slide 17 text
Integration Test ಋೖ/ӡ༻Ͱͷᶃ • ςετέʔεબఆʹ͓͚Δ
Slide 18
Slide 18 text
Integration Test ಋೖ/ӡ༻Ͱͷᶃ • ςετέʔεબఆʹ͓͚Δ • ฐࣾελʔτΞοϓاۀͰ͋Γػೳ։ൃʹ ΑΓΛ͔͚͍ͨɻɹɹɹɹɹɹɹɹɹɹ ςετ࣮ʹ͔͚ΒΕΔ࣌ؒʹ੍ݶ͕͋Δ
Slide 19
Slide 19 text
Integration Test ಋೖ/ӡ༻Ͱͷᶃ • ςετέʔεબఆʹ͓͚Δ • ฐࣾελʔτΞοϓاۀͰ͋Γػೳ։ൃʹΑΓΛɹ ͔͚͍ͨɻςετ࣮ʹ͔͚ΒΕΔ࣌ؒʹ੍ݶ͕͋Δ • ͦ͜Ͱॏཁͳػೳͱɺߟ͑ΒΕΔςετέʔεΛ ϦετΞοϓ͠ɺ༏ઌΛ͚ͭͯςετͷ࣮Λ ͢͢Ίͨ ༏ઌ1 ༏ઌ2 ༏ઌ3
Slide 20
Slide 20 text
Integration Test ಋೖ/ӡ༻Ͱͷᶄ • ςετൣғઃఆʹ͓͚Δ
Slide 21
Slide 21 text
Integration Test ಋೖ/ӡ༻Ͱͷᶄ • ςετൣғઃఆʹ͓͚Δ • ΞϓϦؒͷڠௐಈ࡞Λςετ͍͕ͨ͠ɺɹɹ ςετൣғΛେ͖͘͠ա͗ΔͱFlakyʹͳΔ
Slide 22
Slide 22 text
Integration Test ಋೖ/ӡ༻Ͱͷᶄ • ςετൣғઃఆʹ͓͚Δ • ΞϓϦؒͷڠௐಈ࡞Λςετ͍͕ͨ͠ɺɹɹɹɹ ςετൣғΛେ͖͘͠ա͗ΔͱFlakyʹͳΔ • ςετൣғΛॊೈʹઃఆ͠Έ߹Θͤɺɹɹ ૯߹తʹΈͯΧόʔͰ͖͍ͯΔͱ͢Δ
Slide 23
Slide 23 text
Integration Test ಋೖ/ӡ༻Ͱͷᶄ • ςετൣғઃఆʹ͓͚Δ • ΞϓϦؒͷڠௐಈ࡞Λςετ͍͕ͨ͠ɺ ςετൣғΛେ͖͘͠ա͗ΔͱFlakyʹͳΔ • ςετൣғΛॊೈʹઃఆ͠Έ߹Θͤɺɹɹɹɹɹ ૯߹తʹΈͯΧόʔͰ͖͍ͯΔͱ͢Δ • ྫ) ࡏݿਪఆൣғ * ൃൣғ
Slide 24
Slide 24 text
Integration Test ಋೖ/ӡ༻Ͱͷᶄ • ςετൣғઃఆʹ͓͚Δ • ΞϓϦؒͷڠௐಈ࡞Λςετ͍͕ͨ͠ɺ ςετൣғΛେ͖͘͠ա͗ΔͱFlakyʹͳΔ • ςετൣғΛॊೈʹઃఆ͠Έ߹Θͤɺɹɹɹɹɹ ૯߹తʹΈͯΧόʔͰ͖͍ͯΔͱ͢Δ • ྫ) ࡏݿਪఆൣғ * ൃൣғ
Slide 25
Slide 25 text
Integration Test ಋೖ/ӡ༻Ͱͷᶄ • ςετൣғઃఆʹ͓͚Δ • ΞϓϦؒͷڠௐಈ࡞Λςετ͍͕ͨ͠ɺ ςετൣғΛେ͖͘͠ա͗ΔͱFlakyʹͳΔ • ςετൣғΛॊೈʹઃఆ͠Έ߹Θͤɺɹɹɹɹɹ ૯߹తʹΈͯΧόʔͰ͖͍ͯΔͱ͢Δ • ྫ) ࡏݿਪఆൣғ * ൃൣғ
Slide 26
Slide 26 text
࣍ • ๊͍͑ͯͨ՝ײ😫 • Integration Test ಋೖ/ӡ༻Ͱͷ💡 • ▶︎ Integration Test ಋೖޙͷੈք🌏 • ·ͱΊ👀
Slide 27
Slide 27 text
Integration Test ಋೖޙͷੈք🌏
Slide 28
Slide 28 text
Integration Test ಋೖޙͷੈք • ॏཁػೳ͕ࣗಈςετͰอޢ͞Ε͍ͯΔ҆৺ײ • σϓϩΠ࣌ͷّ͕ࣜͳ͘ͳͬͨ • ຊ൪ڥͰͷखಈ֬ೝ • ϩάͷࢹ • σϓϩΠͷ͢͠͞ ⤴︎ ɺʹ4,5ճσϓϩΠ💪
Slide 29
Slide 29 text
·ͱΊ👀
Slide 30
Slide 30 text
·ͱΊ • Integration Test Λಋೖ͢Δʹࢸͬͨ՝ײͱɺӡ༻্ͷΛڞ༗͠·ͨ͠ • UT, E2EͰςετ͖͠Εͳ͍ൣғʹॏཁͳػೳ͕͋Δ • ςετέʔεͷ༏ઌ͚ͮͱॊೈͳςετൣғͷઃఆ • Integration Test Λಋೖ͢Δ͜ͱͰɺॏཁͳػೳΛςετͰΧόʔͰ͖ɺɹɹ σϓϩΠ͘͢͠ͳΓ։ൃੜ࢈ੑ ⤴︎ • ฐࣾͷࣄྫ͕ςετઓུΛߟ͑ΔࡍͷҰॿͱͳΕ͍Ͱ͢