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
August 27, 2020
Technology
0
580
Magic Podをもっと活用するために
第1回Magic Podユーザーミートアップ(2020/8/27)の発表資料です。
Nozomi Ito
August 27, 2020
Tweet
Share
More Decks by Nozomi Ito
See All by Nozomi Ito
ノーコードに学ぶE2Eテスト自動化ベストプラクティス
nozomiito
0
950
ノーコードE2Eテストで実現する高速開発
nozomiito
0
670
MagicPodで実現するE2Eテスト自動化
nozomiito
0
3.5k
MagicPod開発におけるテスト自動化とCI
nozomiito
0
790
最近のMagicPodまとめ
nozomiito
0
630
テスト自動化スタートアップがエバンジェリストを募集するワケ
nozomiito
0
320
MagicPodが取り組むテスト自動化最前線
nozomiito
0
490
ロケーターを学んでテスト自動化上級者を目指そう
nozomiito
1
8.1k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
4
2.4k
Other Decks in Technology
See All in Technology
大規模サーバーレスAPIの堅牢性・信頼性設計 〜AWSのベストプラクティスから始まる現実的制約との向き合い方〜
maimyyym
6
4k
Shirankedo NOCで見えてきたeduroam/OpenRoaming運用ノウハウと課題 - BAKUCHIKU BANBAN #2
marokiki
0
180
【Oracle Cloud ウェビナー】クラウド導入に「専用クラウド」という選択肢、Oracle AlloyとOCI Dedicated Region とは
oracle4engineer
PRO
3
130
セキュアな認可付きリモートMCPサーバーをAWSマネージドサービスでつくろう! / Let's build an OAuth protected remote MCP server based on AWS managed services
kaminashi
3
280
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
9.1k
神回のメカニズムと再現方法/Mechanisms and Playbook for Kamikai scrumat2025
moriyuya
4
700
定期的な価値提供だけじゃない、スクラムが導くチームの共創化 / 20251004 Naoki Takahashi
shift_evolve
PRO
4
360
Wasmのエコシステムを使った ツール作成方法
askua
0
120
Uncle Bobの「プロフェッショナリズムへの期待」から学ぶプロの覚悟
nakasho
2
110
そのWAFのブロック、どう活かす? サービスを守るための実践的多層防御と思考法 / WAF blocks defense decision
kaminashi
0
150
Trust as Infrastructure
bcantrill
1
370
プロダクトのコードから見るGoによるデザインパターンの実践 #go_night_talk
bengo4com
1
2.3k
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Navigating Team Friction
lara
190
15k
The Invisible Side of Design
smashingmag
301
51k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Thoughts on Productivity
jonyablonski
70
4.9k
The Cult of Friendly URLs
andyhume
79
6.6k
Why Our Code Smells
bkeepers
PRO
339
57k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Gamification - CAS2011
davidbonilla
81
5.5k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Transcript
.BHJD1PEΛ ͬͱ׆༻͢ΔͨΊʹ ҏ౻ 53*%&/5$&0
"CPVUNF • ҏ౻ *UP/P[PNJ • גࣜձࣾ53*%&/5දऔక • ʮຊ4FMFOJVNϢʔβʔίϛϡχςΟʯӡӦ •
ஶॻ
53*%&/5ʹ͍ͭͯ ࠷ۙͷ৽ػೳհ ࠓޙͰ༧ఆ͍ͯ͠Δ৽ػೳ ޮՌ͕ग़Δ͓͢͢Ίӡ༻ํ๏બ ΞδΣϯμ
53*%&/5ʹ͍ͭͯ ࠷ۙͷ৽ػೳհ ࠓޙͰ༧ఆ͍ͯ͠Δ৽ػೳ ޮՌ͕ग़Δ͓͢͢Ίӡ༻ํ๏બ
53*%&/5ͷ͜Ε·Ͱ • ݄ ઃཱ - 4FMFOJVNࣗಈςετؔ࿈ͷίϯαϧαϙʔτडୗ։ൃ • ݄ .BHJD1PEαʔϏε։࢝ •
݄ ສԁͷࢿۚௐୡ - ΠϯΩϡϕΠτϑΝϯυ • ݄ ສԁͷՃࢿۚௐୡ - ΠϯΩϡϕΠτϑΝϯυɺϕϦαʔϒ 53*%&/5ʹ͍ͭͯ
.BHJD1PEͷ֤छใ 53*%&/5ʹ͍ͭͯ ఆظηϛφʔ • IUUQTUSJEFOURBDPOOQBTTDPN • ར༻ݕ౼தͷϢʔβʔ͚ 5XJUUFSΞΧϯτ • !53*%&/5*OD
• .BHJD1PEͷ৽ػೳใͳͲ 4MBDLνϟοτϧʔϜ • .BHJD1PEը໘Լ෦ʮνϟοτϧʔϜʯΑΓ • ؾܰʹ࣭Ͱ͖Δ
53*%&/5ʹ͍ͭͯ ࠷ۙͷ৽ػೳհ ࠓޙͰ༧ఆ͍ͯ͠Δ৽ػೳ ޮՌ͕ग़Δ͓͢͢Ίӡ༻ํ๏બ
ศར͚ͩͲؾ͔Εʹ͍͘վળΛ த৺ʹհ ࠷ۙͷ৽ػೳհ
શൠ ࠷ۙͷ৽ػೳհ
ςετέʔεϥϕϧ ݄ • ςετͷཧ͕༰қʹ • ಛఆͷϥϕϧΛࢦఆ আ֎ ͯ͠Ұׅ࣮ߦՄೳʹ ࠷ۙͷ৽ػೳհ શൠ
ը૾ࠩൺֱ ݄ • ΦʔϓϯιʔεͷSFHDMJͱ࿈ܞ • IUUQTCMPHUSJEFOURBDPNSFHDMJNBHJD QPEFF ࠷ۙͷ৽ػೳհ શൠ
ςετ࣮ߦ8FC"1*ͷվળ ݄ ࠷ۙͷ৽ػೳհ શൠ • ςετઃఆ൪߸Λࢦఆͯ͠ςετ࣮ߦՄೳʹ • ઃఆը໘ଆͰϝϯςφϯεͰ͖Δ NBHJDQPEBQJDMJFOUCBUDISVO UPLFO\4&$3&5@"1*@50,&/^
PSHBOJ[BUJPO53*%&/5 QSPKFDU4BNQMF"QQ UFTU@TFUUJOHT@OVNCFS
6*ʮϦετܗࣜʯͷվળ ݄ • 6*ʹ͖ͪΜͱ໊લΛ͚ͭͯཧ͍ͯ͠Δ߹ʹศར ࠷ۙͷ৽ػೳհ શൠ
• ʮΫϥυʯʮ֎෦ΫϥυαʔϏεʯͰར༻Մೳ εέδϡʔϧ࣮ߦ ݄ ࠷ۙͷ৽ػೳհ શൠ
• ςετ࣮ߦதͰը໘Ωϟϓνϟ͕ग़ΔΑ͏ʹ ςετը໘Ωϟϓνϟվળ ݄ ࠷ۙͷ৽ػೳհ શൠ
• ਖ਼نදݱϚον ݄ • ࢛ଇԋࢉ ݄ • ࣌ܭࢉ ݄ •
ίϝϯτɾۭߦ ݄ ֤छίϚϯυͷՃ ࠷ۙͷ৽ػೳհ શൠ
࠷ۙͷ৽ػೳհ ϞόΠϧΞϓϦςετ
• J04γϛϡϨʔλ • "OESPJEΤϛϡϨʔλ
ΫϥυγϛϡϨʔλڧԽ ݄ ࠷ۙͷ৽ػೳհ ϞόΠϧΞϓϦςετ
• ઃఆͷϝϯςφϯε͕.BHJD1PEଆͷը໘ͰՄೳʹ • ֎෦Ϋϥυ࣮ػςετɺΫϩεςετՄೳʹ • IUUQTXXXTMJEFTIBSFOFUIJSPLPUBNBHBXBWFSJGJFE TUFQNBHJDQPE #JUSJTF࿈ܞϦχϡʔΞϧ ݄ ࠷ۙͷ৽ػೳհ
ϞόΠϧΞϓϦςετ テスト設定番号で指定された 実⾏設定を利⽤
࠷ۙͷ৽ػೳհ ϒϥβςετ
• $ISPNF 'JSF'PY &EHF 4BGBSJ *&Λཏ ΫϩεϒϥβରԠ ݄ ࠷ۙͷ৽ػೳհ ϒϥβςετ
• ֎෦Ϋϥυ্ͷ༷ʑͳϒϥβɾ04Λར༻Մೳ • 8FC"1*εέδϡʔϥ͔Β࣮ߦՄೳ 4BVDF-BCT#SPXTFS4UBDL࿈ܞ ݄ ࠷ۙͷ৽ػೳհ ϒϥβςετ SauceLabs BrowserStack
• ϞόΠϧ8FCαΠτͷςετ͕Մೳʹ • σεΫτοϓ$ISPNF্ͷΤϛϡϨʔγϣϯ ϞόΠϧΤϛϡϨʔγϣϯ ݄ ࠷ۙͷ৽ػೳհ ϒϥβςετ
53*%&/5ʹ͍ͭͯ ࠷ۙͷ৽ػೳհ ࠓޙͰ༧ఆ͍ͯ͠Δ৽ػೳ ޮՌ͕ग़Δ͓͢͢Ίӡ༻ํ๏બ
ςετ࡞Λͬͱߴʹ ࠓޙͰ༧ఆ͍ͯ͠Δ৽ػೳ
ᶃςετฤूը໘্Ͱૢ࡞ ࠓޙͰ༧ఆ͍ͯ͠Δ৽ػೳ ςετ࡞Λͬͱߴʹ • ͱςετฤूը໘Λߦ͖དྷ͢ΔखؒΛݮ • ·ͣϞόΠϧΫϥυ͔Β
ᶄΠϯλϥΫςΟϒςετ࡞ ࠓޙͰ༧ఆ͍ͯ͠Δ৽ػೳ ςετ࡞Λͬͱߴʹ • ը໘͔ΒཁૉΛυϥοάυϩοϓͰ͖ΔΑ͏ʹ • ࣗಈه࠶ੜʹ͍ۙײ֮
ᶄΠϯλϥΫςΟϒςετ࡞ ࠓޙͰ༧ఆ͍ͯ͠Δ৽ػೳ ςετ࡞Λͬͱߴʹ • औಘࡁΈ6*͔ΒͷυϥοάυϩοϓҾ͖ଓ͖Մೳ • औಘࡁΈ6*ͷࣗಈར༻Ͱ6*ͷ૿େΛࢭ
ᶅΕͨΒΓ͍ͨ͜ͱ ࠓޙͰ༧ఆ͍ͯ͠Δ৽ػೳ ςετ࡞Λͬͱߴʹ • ը໘εΩϟϯͷߴԽ - "84ͷ(16͕҆͘ͳͬͨͷͰɺೖͰ͖Δ͔ • Ϋϥυૢ࡞ͷվળ
ͦͷଞ ࠓޙͰ༧ఆ͍ͯ͠Δ৽ػೳ • 4MBDL௨ • ͷେখൺֱ • ϒϥβςετελϯμʔυϓϥϯ8FCਃ͠ࠐΈՄೳʹ • 6*ϨΠΞτͷΠϚΠνͳ෦ͷվળ
IUUQTHJUIVCDPN.BHJD1PEKBQBOFTFJTTVFBOE EPDCMPCNBTUFS61$0.*/(@'&"563&4NE ͦͷଞ ࠷ۙͷ৽ػೳհ
53*%&/5ʹ͍ͭͯ ࠷ۙͷ৽ػೳհ ࠓޙͰ༧ఆ͍ͯ͠Δ৽ػೳ ޮՌ͕ग़Δ͓͢͢Ίӡ༻ํ๏બ
ޮՌ͕ग़Δ͓͢͢Ίӡ༻ํ๏બ ᶃϦϦʔεલखಈςετͷࣗಈԽ ᶄϚϧνϒϥβςετ ᶅ$* ᶆຊ൪ڥࢹ
ᶃϦϦʔεલखಈςετͷࣗಈԽ ޮՌ͕ग़Δ͓͢͢Ίӡ༻ํ๏બ • ݄ճҎ্ͷසͰςετ͢Δ߹ʹɺಛʹ༗ޮ • ͓͢͢ΊͷࣗಈԽ༏ઌॱҐ まずは正常系を カバー 運⽤してみて、 課題を洗い出す
異常系は 正常系のあと
ᶃϦϦʔεલखಈςετͷࣗಈԽ ޮՌ͕ग़Δ͓͢͢Ίӡ༻ํ๏બ • ਖ਼ৗܥςετɺଞʹ৭ʑͳ༻్ʹ͑Δ - αʔόόʔδϣϯΞοϓͷޙͷجຊಈ࡞֬ೝ - Ϋϩεϒϥβςετɺ։ൃɾςετڥͷਖ਼ৗಈ࡞νΣοΫɺ ຊ൪ڥࢹ
ᶄϚϧνϒϥβςετ ޮՌ͕ग़Δ͓͢͢Ίӡ༻ํ๏બ • ʮҰׅ࣮ߦςετʯΛ͞·͟·ͳύλʔϯͰ࣮ࢪ OSバージョン iPhone/iPad ブラウザ種類 ブラウザバージョン OSバージョン メーカー
iOS Android ブラウザ
ᶄϚϧνϒϥβςετ ޮՌ͕ग़Δ͓͢͢Ίӡ༻ํ๏બ • ઃఆ Ϋϥυ֎෦Ϋϥυͷ߹ 並列数 • #JUSJTF8FC"1*͔Βݺͼग़͠Մೳ
ᶄϚϧνϒϥβςετ ޮՌ͕ग़Δ͓͢͢Ίӡ༻ํ๏બ • ઃఆ ϩʔΧϧ1$ɺϞόΠϧΞϓϦςετͷ߹ • NBHJD@QPE@DPOGJHKTPOΛෳ༻ҙ • Ϋϥυͷํ͕खܰ \
lDBQBCJMJUJFTz\ lVEJEzlʜz ^ ʜ֤छϙʔτઃఆʜ ^ \ lDBQBCJMJUJFTz\ lVEJEzlʜz ^ ʜ֤छϙʔτઃఆʜ ^ magic_pod_config.json magic_pod_config.json
ᶅ$* ޮՌ͕ग़Δ͓͢͢Ίӡ༻ํ๏બ • ຖ൩ςετ࣮ߦ PS։ൃςετڥΛߋ৽͢Δͨͼʹ࣮ߦ • ෆ۩߹ʹ͙͢ʹؾ͚ΔͷͰɺ։ൃ͕ޮతʹ - ͕࣌ؒܦͭͱɺࢥ͍ग़͢ͷ͕େม -
ଟͷ։ൃऀͷमਖ਼͕ೖͬͨޙͩͱɺݪҼಛఆ͕େม • ৗʹΫϦʔϯͳڥͰ։ൃςετ͕Ͱ͖Δ - ࡞ۀޮΞοϓ
ᶅ$* ޮՌ͕ग़Δ͓͢͢Ίӡ༻ํ๏બ 最新のソースコードをもとに Webサーバを更新 or アプリをビルド Magic PodのWeb APIで テスト実⾏
最新のソースコードをもとに アプリをビルド Magic Podステップで テスト実⾏
ᶅ$* ޮՌ͕ग़Δ͓͢͢Ίӡ༻ํ๏બ • ςετ͕ଟ͍߹ɺϥϕϧͰ࣮ߦରΛߜΔ • ϒϥβύλʔϯΛར༻ͯ͠ฒྻԽ͢Ε͞Βʹ࣌ؒॖ
ᶆຊ൪ࢹ ޮՌ͕ग़Δ͓͢͢Ίӡ༻ํ๏બ • ༧ظͤ͵ʹΑΓຊ൪ڥͰ͕ى͖͍ͯͳ͍͔ࢹ - ϝϞϦɺσΟεΫɺωοτϫʔΫɺαʔόμϯɺखಈ࡞ۀϛεɺFUD • ຊ൪ڥͱݕূڥͰɺσʔλɾαʔόઃఆɾΠϯϑϥ͕ҟ ͳΔͷͰɺຊ൪Ͱ͚͕ͩى͜Δ͜ͱ͋Δ
ᶆຊ൪ࢹ ޮՌ͕ग़Δ͓͢͢Ίӡ༻ํ๏બ • ઃఆ ֎෦Ϋϥυɺϒϥβςετͷ߹ • 4BVDF-BCT#SPXTFS4UBDL εέδϡʔϧ࣮ߦͰ؆୯ • ՝ɿ࣮ߦ͢Δͨͼʹϝʔϧ௨͕ʜ
ᶆຊ൪ࢹ ޮՌ͕ग़Δ͓͢͢Ίӡ༻ํ๏બ • ઃఆ ֎෦ΫϥυɺϞόΠϧΞϓϦςετͷ߹ • ֎෦Ϋϥυ࣮ػ ຊ൪༻ΞϓϦ εέδϡʔϧͰఆظ࣮ߦ •
৽͍͠ΞϓϦ͕ग़ͨΒɺ.BHJD 1PEʹ࠶Ξοϓϩʔυ
·ͱΊ ᶃϦϦʔεલखಈςετͷࣗಈԽ ᶄϚϧνϒϥβςετ ᶅ$* ᶆຊ൪ڥࢹ ޮՌ͕ग़Δ͓͢͢Ίӡ༻ํ๏બ
.BHJD1PE͕͞Βʹ օ༷ͷ͓ʹཱͯΔΑ͏ Ҿ͖ଓ͖͕ΜΓ·͢ʂ