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
770
ノーコードE2Eテストで実現する高速開発
nozomiito
0
590
MagicPodで実現するE2Eテスト自動化
nozomiito
0
2.8k
MagicPod開発におけるテスト自動化とCI
nozomiito
0
680
最近のMagicPodまとめ
nozomiito
0
550
テスト自動化スタートアップがエバンジェリストを募集するワケ
nozomiito
0
250
MagicPodが取り組むテスト自動化最前線
nozomiito
0
430
ロケーターを学んでテスト自動化上級者を目指そう
nozomiito
1
6k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
4
2.2k
Other Decks in Programming
See All in Programming
Formの複雑さに立ち向かう
bmthd
1
850
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
130
Pulsar2 を雰囲気で使ってみよう
anoken
0
240
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
110
Domain-Driven Transformation
hschwentner
2
1.9k
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
2
260
DROBEの生成AI活用事例 with AWS
ippey
0
130
チームリードになって変わったこと
isaka1022
0
200
『品質』という言葉が嫌いな理由
korimu
0
160
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
200
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
120
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
220
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
The Invisible Side of Design
smashingmag
299
50k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Building Applications with DynamoDB
mza
93
6.2k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Docker and Python
trallard
44
3.3k
Navigating Team Friction
lara
183
15k
Building Your Own Lightsaber
phodgson
104
6.2k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
KATA
mclloyd
29
14k
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
ΑΖ͓͘͠ئ͍͠·͢ʂ