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.2k
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
970
ノーコードE2Eテストで実現する高速開発
nozomiito
0
690
MagicPodで実現するE2Eテスト自動化
nozomiito
0
3.6k
MagicPod開発におけるテスト自動化とCI
nozomiito
0
810
最近のMagicPodまとめ
nozomiito
0
630
テスト自動化スタートアップがエバンジェリストを募集するワケ
nozomiito
0
320
MagicPodが取り組むテスト自動化最前線
nozomiito
0
500
ロケーターを学んでテスト自動化上級者を目指そう
nozomiito
1
8.4k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
4
2.5k
Other Decks in Programming
See All in Programming
モビリティSaaSにおけるデータ利活用の発展
nealle
1
650
スタートアップを支える技術戦略と組織づくり
pospome
8
12k
Phronetic Team with AI - Agile Japan 2025 closing
hiranabe
2
680
2025 컴포즈 마법사
jisungbin
0
150
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
3
570
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
1
120
AI駆動開発ライフサイクル(AI-DLC)のホワイトペーパーを解説
swxhariu5
0
1.6k
Evolving NEWT’s TypeScript Backend for the AI-Driven Era
xpromx
0
200
分散DBって何者なんだ... Spannerから学ぶRDBとの違い
iwashi623
0
120
Feature Flags Suck! - KubeCon Atlanta 2025
phodgson
0
180
レイトレZ世代に捧ぐ、今からレイトレを始めるための小径
ichi_raven
0
470
目的で駆動する、AI時代のアーキテクチャ設計 / purpose-driven-architecture
minodriven
11
3.6k
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Code Reviewing Like a Champion
maltzj
527
40k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Six Lessons from altMBA
skipperchong
29
4.1k
Docker and Python
trallard
46
3.7k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Building an army of robots
kneath
306
46k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Optimizing for Happiness
mojombo
379
70k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
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
ΑΖ͓͘͠ئ͍͠·͢ʂ