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
Magic Podをさらに活用するために
Search
Nozomi Ito
January 25, 2022
Programming
0
1.1k
Magic Podをさらに活用するために
第2回Magic Podユーザーミートアップ(2022/1/24)の発表資料です。
Nozomi Ito
January 25, 2022
Tweet
Share
More Decks by Nozomi Ito
See All by Nozomi Ito
ノーコードに学ぶE2Eテスト自動化ベストプラクティス
nozomiito
0
710
ノーコードE2Eテストで実現する高速開発
nozomiito
0
560
MagicPodで実現するE2Eテスト自動化
nozomiito
0
2.4k
MagicPod開発におけるテスト自動化とCI
nozomiito
0
640
最近のMagicPodまとめ
nozomiito
0
520
テスト自動化スタートアップがエバンジェリストを募集するワケ
nozomiito
0
230
MagicPodが取り組むテスト自動化最前線
nozomiito
0
400
ロケーターを学んでテスト自動化上級者を目指そう
nozomiito
1
5.2k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
4
2.1k
Other Decks in Programming
See All in Programming
Why Jakarta EE Matters to Spring - and Vice Versa
ivargrimstad
0
1.1k
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.1k
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
540
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
190
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
2
660
受け取る人から提供する人になるということ
little_rubyist
0
230
Quine, Polyglot, 良いコード
qnighy
4
640
as(型アサーション)を書く前にできること
marokanatani
9
2.6k
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.7k
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.4k
Featured
See All Featured
A Philosophy of Restraint
colly
203
16k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Designing for Performance
lara
604
68k
Agile that works and the tools we love
rasmusluckow
327
21k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
Being A Developer After 40
akosma
86
590k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
BBQ
matthewcrist
85
9.3k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Transcript
.BHJD1PEΛ ͞Βʹ׆༻͢ΔͨΊʹ
"CPVUNF • ҏ౻ *UP/P[PNJ • .BHJD1PE$&0 • 5XJUUFS!JUP@OP[PNJ •
ʮຊ4FMFOJVNϢʔβʔίϛϡχςΟʯӡӦ • ஶॻ
࠷ۙͷ.BHJD1PEࣾ ࡢϦϦʔε͞Εͨ৽ػೳ ࠓޙ༧ఆ͍ͯ͠Δվળ .BHJD1PEϕετϓϥΫςΟε ΞδΣϯμ
࠷ۙͷ.BHJD1PEࣾ ࡢϦϦʔε͞Εͨ৽ػೳ ࠓޙ༧ఆ͍ͯ͠Δվળ .BHJD1PEϕετϓϥΫςΟε
ͷग़དྷࣄ ࠷ۙͷ.BHJD1PEࣾ 2021年6⽉ トップページ & ロゴリニューアル 7⽉ サービス強化のために3億円の資⾦調達 7⽉ 新プラン体系をリリース
12⽉ サービス名が”Magic Pod”から”MagicPod”に 2022年1⽉ 社名も”TRIDENT”から”MagicPod”に
.BHJD1PE͔Βͷൃ৴ ࠷ۙͷ.BHJD1PEࣾ ఆظηϛφʔ • IUUQTUSJEFOURBDPOOQBTTDPN • ར༻ݕ౼தͷϢʔβʔ͚ 5XJUUFSΞΧϯτ • !.BHJD1PE
• .BHJD1PEͷ৽ػೳใͳͲ 4MBDLίϛϡχςΟ • .BHJD1PEը໘Լ෦ʮνϟοτϧʔϜʯΑΓ • Ϣʔβʔಉ࢜ͷަྲྀ • .BHJD1PE͔Βͷൃ৴ ࠂɾোใؚΉ
࠷ۙͷ.BHJD1PEࣾ ࡢϦϦʔε͞Εͨ৽ػೳ ࠓޙ༧ఆ͍ͯ͠Δվળ .BHJD1PEϕετϓϥΫςΟε
ࡢϦϦʔε͞Εͨ৽ػೳ ศར͚ͩͲؾ͔Εʹ͍͘վળΛ ॏతʹհ
ϞόΠϧΞϓϦɾϒϥβڞ௨ ࡢϦϦʔε͞Εͨ৽ػೳ
ϦΞϧλΠϜ؆୯ςετ࡞ ݄ • ը໘ΩϟϓνϟΛҙࣝͤͣςετ͕࡞ΕΔ • ΫϥυͰͷΈར༻Մೳ ࡢϦϦʔε͞Εͨ৽ػೳ ڞ௨ 要素検出ツール クラウドブラウザ
ϦΞϧλΠϜ؆୯ςετ࡞ ݄ • ݱࡏͷը໘͔ΒཁૉΛબΔ ࡢϦϦʔε͞Εͨ৽ػೳ ڞ௨
ϦΞϧλΠϜ؆୯ςετ࡞ ݄ • ཁૉબ ෦࣮ߦ Λ؆୯ʹ܁ΓฦͤΔ ࡢϦϦʔε͞Εͨ৽ػೳ ڞ௨
ϦΞϧλΠϜ؆୯ςετ࡞ ݄ • ը໘Ωϟϓνϟͱͷซ༻Մೳ ࡢϦϦʔε͞Εͨ৽ػೳ ڞ௨
ϦΞϧλΠϜ؆୯ςετ࡞ ݄ • ίϚϯυڞ༗εςοϓͷૠೖॊೈʹՄೳ ࡢϦϦʔε͞Εͨ৽ػೳ ڞ௨
ϦΞϧλΠϜ؆୯ςετ࡞ ݄ • σϝϦοτɿը໘Ωϟϓνϟ͕ཪͰͲΜͲΜ૿͍͑ͯ͘ - ը໘มߋ࣌ͷमਖ਼ɺϩέʔλखಈमਖ਼ɺࣗಈम෮ঝೝͳͲ͕໘ʹ ࡢϦϦʔε͞Εͨ৽ػೳ ڞ௨
6*ࣗಈཧػೳ ݄ • ૿͑͗ͨ͢6*Λ"*͕ͭʹ·ͱΊͯ͘ΕΔ ࡢϦϦʔε͞Εͨ৽ػೳ ڞ௨
6*ࣗಈཧػೳ ݄ ࡢϦϦʔε͞Εͨ৽ػೳ ڞ௨ %FNP
6*ࣗಈཧػೳ ݄ • ςετ͕յΕͳ͍Α͏ʹ͏·͘6*Λ౷߹ͯ͘͠ΕΔ • ڞ༗6*Ϣʔβʔ໊͕લΛ͚ͨ6*ͳͲɺେࣄͦ͏ͳͷΛ Ͱ͖Δ͚ͩͯ͘͠ΕΔ ࡢϦϦʔε͞Εͨ৽ػೳ ڞ௨
ը૾ࠩνΣοΫ ݄ • ը໘σβΠϯͷ่ΕΛݕग़Մೳ • ৭ʑͳ߲ͷͷνΣοΫ͕ɺίϚϯυͰ·ͱΊͯͰ͖Δ ࡢϦϦʔε͞Εͨ৽ػೳ ڞ௨
ը૾ࠩνΣοΫ ݄ • ਖ਼ղը૾ͱͷҧ͍͕ੜ͡Δͱςετ݁Ռ͕ʮཁ֬ೝʯʹ • ϐΫηϧ୯ҐͷൺֱͳͷͰɺຖճಉ͡ڥͰͷ࣮ࢪ͕Φεεϝ ࡢϦϦʔε͞Εͨ৽ػೳ ڞ௨
ը૾ࠩνΣοΫ ݄ • ࠂσʔλͳͲɺಈతʹมΘΔ෦ൺֱআ֎Մೳ ࡢϦϦʔε͞Εͨ৽ػೳ ڞ௨ 除外エリア 除外エリア
Ұׅ࣮ߦ݁Ռ໊ͷಈతͳมߋ ݄ • $*ͷϏϧυ൪߸ͳͲΛ༩Մೳ ࡢϦϦʔε͞Εͨ৽ػೳ ڞ௨
Ұׅ࣮ߦ݁Ռ໊ͷಈతͳมߋ ݄ • ઃఆྫ ϞόΠϧΞϓϦςετ#JUSJTFεςοϓ ࡢϦϦʔε͞Εͨ৽ػೳ ڞ௨
Ұׅ࣮ߦ݁Ռ໊ͷಈతͳมߋ ݄ • ઃఆྫ NBHJDQPEBQJDMJFOU ࡢϦϦʔε͞Εͨ৽ػೳ ڞ௨ SETTINGS="{\"test_settings_name\":\"Daily CI Test
#$BUILD_ID\"}" magic-pod-api-client batch-run … -S 設定番号 -s "$SETTINGS"
ςετະྃͰ్தͷϩά͕ݟΒΕΔ ݄ • ςετ͕ݻ·ͬͯ͠·ͬͨ࣌ͷௐࠪʹ ࡢϦϦʔε͞Εͨ৽ػೳ ڞ௨
ར༻ঢ়گ֬ೝϖʔδ ݄ • ͋ͱͲͷ͘Β͍ςετΛ࡞ΕΔ͔͔Δ • ৫ͷཧऀͰ֬ೝՄೳ ࡢϦϦʔε͞Εͨ৽ػೳ ڞ௨
࠷ऴߋ৽࣌ɾϢʔβʔ ݄ • ʮ͜ͷςετɺ୭͔͕मਖ਼ͨ͠ ʯͱࢥͬͨ࣌ʹཱͭ ࡢϦϦʔε͞Εͨ৽ػೳ ڞ௨
ϞόΠϧΞϓϦςετ ࡢϦϦʔε͞Εͨ৽ػೳ
Ґஔใͷࢦఆ ݄ • Ґஔใ͔ΒۙͷεϙοτΛݕࡧ͢ΔΞϓϦͷςετʹ ࡢϦϦʔε͞Εͨ৽ػೳ ϞόΠϧΞϓϦ
ϩά ݄ • ΞϓϦΫϥογϡͷݪҼௐࠪʹཱͭ • ΞϓϦ͕ग़ྗ͢ΔϩάΛ֬ೝͰ͖Δ ࡢϦϦʔε͞Εͨ৽ػೳ ϞόΠϧΞϓϦ
Ϋϥυ"OESPJEͷBSNରԠ ݄ • ʮΤϛϡϨʔλ BSNWB ʯͳΒɺ࣮ػ༻"1,͕ ΫϥυͰಈ͘ • .BHJD1PE༻ʹY͚"1,Λ༻ҙ͢Δඞཁφγ ࡢϦϦʔε͞Εͨ৽ػೳ
ϞόΠϧΞϓϦ
ϒϥβςετ ࡢϦϦʔε͞Εͨ৽ػೳ
• )5.-ଐੑηοτɾऔಘ ݄ • ϩʔΧϧɾηογϣϯετϨʔδ ݄ • ϒϥβݴޠઃఆ ݄ •
ϞόΠϧͷ͖ ݄ ֤छίϚϯυɾઃఆͷՃ ࡢϦϦʔε͞Εͨ৽ػೳ ϒϥβ
• ηογϣϯ͕ࠞࡏ͠ͳ͍ͳΒɺෳϢʔβʔͷϝοηʔδͷ ΓऔΓͷςετͳͲՄೳ ͭͷλϒΛߦ͖དྷ͢Δςετ ݄ ࡢϦϦʔε͞Εͨ৽ػೳ ϒϥβ
• JEͰͷཁૉಛఆ͕͍͠3FBDUΛͬͨ8FCαΠτͷςετʹ EBUBUFTUJEΛೝࣝ͢ΔΑ͏ʹ ݄ ࡢϦϦʔε͞Εͨ৽ػೳ ϒϥβ
ΤϯλʔϓϥΠζϓϥϯ ࡢϦϦʔε͞Εͨ৽ػೳ
• Ϋϥυɾϒϥβ͕ࣾαʔόʹΞΫηε͢Δ࣌ͷ*1ΛϢʔβ ʔݻ༗ͷͷʹͰ͖Δ • .BHJD1PE͔ΒࣾαʔόͷΞΫηεΛΑΓηΩϡΞʹڐՄͰ͖Δ Ϣʔβʔಠࣗͷݻఆ*1 ݄ ࡢϦϦʔε͞Εͨ৽ػೳ ΤϯλʔϓϥΠζ
• ཧऀ͕৽نϢʔβʔΛ࡞ͯ͠টͰ͖Δ • ଞͷ৫ʹଐ͢Δ͜ͱΛېࢭͰ͖Δ ৫ઐ༻Ϣʔβʔ ݄ ࡢϦϦʔε͞Εͨ৽ػೳ ΤϯλʔϓϥΠζ
࠷ۙͷ.BHJD1PEࣾ ࡢϦϦʔε͞Εͨ৽ػೳ ࠓޙ༧ఆ͍ͯ͠Δվળ .BHJD1PEϕετϓϥΫςΟε
࣮ػϞόΠϧϒϥβςετ ࠓޙ༧ఆ͍ͯ͠Δվળ • ϒϥβςετϓϥϯͰఏڙ • #SPXTFS4UBDL4BVDF-BCTͷܖ͕ผ్ඞཁ
ςετ݁Ռ4MBDL௨ઃఆ ࠓޙ༧ఆ͍ͯ͠Δվળ • ֤Ϣʔβʔ͕࡞ΓࠐΈΛ͠ͳͯ͘ࡁΉΑ͏ʹ
ςετ݁Ռ4MBDL௨ઃఆ ࠓޙ༧ఆ͍ͯ͠Δվળ • ݁Ռεςʔλε͝ͱʹɺ௨༗ແɾ௨ઌࢦఆՄೳ
ϔϧϓϖʔδվળ ࠓޙ༧ఆ͍ͯ͠Δվળ • ྺ࢙తܦҢͰ͔ΓͮΒ͘ͳ͍ͬͯΔՕॴͳͲɺ৭ʑվળ
Ϣʔβʔ༷ಋೖࣄྫ֦ॆ ࠓޙ༧ఆ͍ͯ͠Δվળ • طଘϢʔβʔ༷ʹࢀߟʹͳΔใͩͱࢥ͏ͷͰ
ͦͷଞ ࠓޙ༧ఆ͍ͯ͠Δվળ • ςετฤूը໘ͱҰׅ࣮ߦը໘Ͱςετઃఆڞ༗ • ΫϥυڥͷରԠϒϥβ֦େ 'JSFGPY &EHF ʜ
ͦͷଞ ࠓޙ༧ఆ͍ͯ͠Δվળ • ςετέʔεฤूཤྺ - Ͱ͖ΕόοΫΞοϓɾϒϥϯνཧ • ϚϧνϓϥοτϑΥʔϜςετ - ϒϥβςετͱϞόΠϧΞϓϦςετͷࠞࡏ
• 'MVUUFSΞϓϦʹରԠ - ࠷ۙ͋·Γʹ͍߹Θ͕ͤଟ͍ͷͰ
IUUQTHJUIVCDPN.BHJD1PEKBQBOFTFJTTVFBOE EPDCMPCNBTUFS61$0.*/(@'&"563&4NE ͦͷଞ ࠓޙ༧ఆ͍ͯ͠Δվળ
࠷ۙͷ.BHJD1PEࣾ ࡢϦϦʔε͞Εͨ৽ػೳ ࠓޙ༧ఆ͍ͯ͠Δվળ .BHJD1PEϕετϓϥΫςΟε
Ұ൪࣮ફͯ͠ཉ͍ͭ͠ͷ͜ͱ .BHJD1PEϕετϓϥΫςΟε ຖࣗಈ࣮ߦ ΫϥυͰ࣮ߦ
ຖࣗಈ࣮ߦ .BHJD1PEϕετϓϥΫςΟε • ࠷৽ͷιʔείʔυΛຖϏϧυɾσϓϩΠ͠ɺςετΛ࣮ߦ • खಈͩͱɺ୲ऀɾମ੍͕มΘͬͨࡍʹ࣮ࢪ͞Εͳ͘ͳΓ͕ͪ • ϦϦʔεલ͚࣮ͩߦͩͱɺ͕ى͖ͨ࣌ʹ͕࣌ؒͳͯ͘์ஔ ͕ͪ͠ •
ຖͷมߋΛਵ࣌ө͍ͯ͘͠ํ͕ϝϯςφϯεқ͕͍
ΫϥυͰ࣮ߦ .BHJD1PEϕετϓϥΫςΟε • .BHJD1PEΫϥυɺ#SPXTFS4UBDLɺ4BVDF-BCTͷ͍ͣΕ͔ • ϩʔΧϧ1$ͩͱɺτϥϒϧͰςετ࣮ߦʹ͕͔͔࣌ؒΓɺ৺ ཧతϋʔυϧ͕ߴ͘ͳΔ - ϞόΠϧ࣮ػͷଓτϥϒϧ -
.BHJD1PE%FTLUPQόʔδϣϯΞοϓͷτϥϒϧ - Ϛγϯڥτϥϒϧ
༏ઌॱҐΛ͚ͭͯࣗಈԽ͢Δ .BHJD1PEϕετϓϥΫςΟε • ૣΊʹԿΒ͔ͷՌΛಘΔ͜ͱ͕ɺࣗಈԽఆணͷۙಓ • ༏ઌॱҐΛ͚ͭͯࣗಈԽ͢Δ͜ͱ͕େ まずは正常系を カバー 運⽤してみて、 課題を洗い出す
異常系は 正常系のあと
ςετؒͷґଘؔΛݮΒ͢ .BHJD1PEϕετϓϥΫςΟε • ͔Γʹ͍͘Τϥʔ͕ݮΔ • ࣦഊΓ͚ͷқ͕Լ͕Δ • ࣮ݱ͍͢͠Α͏ɺ.BHJD1PEଆվળ͍͖͍ͯͨ͠
ڞ༗εςοϓΛੵۃతʹ͏ .BHJD1PEϕετϓϥΫςΟε • ը໘͕େ͖͘มΘͬͨ࣌ͷϝϯςφϯεָ͕ • ࣗಈम෮ ݱঢ় ͋ΒΏΔέʔεʹ༗ޮͰͳ͍
ϩέʔλʔʹֶ͍ͭͯͿ .BHJD1PEϕετϓϥΫςΟε • ϩέʔλʔฤूͰ͖Δͱɺը໘มߋʹΑΓڧ͍ςετ͕࡞ΕΔ • จ๏ʹֶ͍ͭͯΔίϯςϯπ - IUUQTRJJUBDPNSMMMMIPJUFNTDCDFDGCGDB - IUUQCMPHCBOHCPPDPNTVCYQBUIIUNM
• .BHJD1PEଆͷίϯςϯπɾػೳڧԽ͍ͨ͠
ςετ͍͢͠ΞϓϦέʔγϣϯʹ͢Δ .BHJD1PEϕετϓϥΫςΟε • มΘΓʹ͍͘ϢχʔΫ*%Λ6*ཁૉʹ༩͢Δ • ςετڥͰࣗಈςετ͍͢͠ઃఆʹ͢Δ - 8FC7JFXσόοά༗ޮԽ - ࣗಈԽ͠ʹ͍͘ػೳΛᷖճ͢Δํ๏Λ༻ҙ
• σʔλΛऔಘɾૢ࡞Ͱ͖Δ8FC"1*Λ༻ҙ - σʔλͷΫϦΞ - ॳظσʔλͷηοτΞοϓ - ෦*%ͷऔಘ
લճͷࢿྉࢀߟʹͳΓ·͢ .BHJD1PEϕετϓϥΫςΟε IUUQTTQFBLFSEFDLDPNOP[PNJJUPNBHJD QPEXPNPUVUPIVPZPOHTVSVUBNFOJ
ΑΖ͓͘͠ئ͍͠·͢ʂ