Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Magic Podをさらに活用するために
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Nozomi Ito
January 25, 2022
Programming
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Magic Podをさらに活用するために
第2回Magic Podユーザーミートアップ(2022/1/24)の発表資料です。
Nozomi Ito
January 25, 2022
More Decks by Nozomi Ito
See All by Nozomi Ito
ノーコードに学ぶE2Eテスト自動化ベストプラクティス
nozomiito
0
1.1k
ノーコードE2Eテストで実現する高速開発
nozomiito
0
860
MagicPodで実現するE2Eテスト自動化
nozomiito
0
4.1k
MagicPod開発におけるテスト自動化とCI
nozomiito
0
950
最近のMagicPodまとめ
nozomiito
0
710
テスト自動化スタートアップがエバンジェリストを募集するワケ
nozomiito
0
400
MagicPodが取り組むテスト自動化最前線
nozomiito
0
570
ロケーターを学んでテスト自動化上級者を目指そう
nozomiito
1
9.9k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
4
2.8k
Other Decks in Programming
See All in Programming
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
4
3.2k
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
180
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
360
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
320
Modernizing iOS Apps
seyfoyun
0
150
はじめてのPLATEAU
nokonoko1203
1
460
AIがコードを書いてくれる時代、我々は何を確かめるのか
yosuke_furukawa
PRO
13
5.7k
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
2.2k
Getting Started with Vibe Coding
miccheng
0
180
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
1
290
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
410
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
14
11k
Featured
See All Featured
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
550
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Building an army of robots
kneath
307
47k
Abbi's Birthday
coloredviolet
4
11k
How to build a perfect <img>
jonoalderson
1
6.2k
Typedesign – Prime Four
hannesfritz
42
3.2k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
970
Designing for Timeless Needs
cassininazir
1
550
Mobile First: as difficult as doing things right
swwweet
225
10k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
290
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
ΑΖ͓͘͠ئ͍͠·͢ʂ