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
960
ノーコードE2Eテストで実現する高速開発
nozomiito
0
670
MagicPodで実現するE2Eテスト自動化
nozomiito
0
3.5k
MagicPod開発におけるテスト自動化とCI
nozomiito
0
800
最近のMagicPodまとめ
nozomiito
0
630
テスト自動化スタートアップがエバンジェリストを募集するワケ
nozomiito
0
320
MagicPodが取り組むテスト自動化最前線
nozomiito
0
490
ロケーターを学んでテスト自動化上級者を目指そう
nozomiito
1
8.2k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
4
2.4k
Other Decks in Technology
See All in Technology
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
2
1.5k
ざっくり学ぶ 『エンジニアリングリーダー 技術組織を育てるリーダーシップと セルフマネジメント』 / 50 minute Engineering Leader
iwashi86
8
3.9k
進化する大規模言語モデル評価: Swallowプロジェクトにおける実践と知見
chokkan
PRO
3
390
Okta Identity Governanceで実現する最小権限の原則
demaecan
0
230
オブザーバビリティが育むシステム理解と好奇心
maruloop
3
1.8k
어떤 개발자가 되고 싶은가?
arawn
1
350
IBC 2025 動画技術関連レポート / IBC 2025 Report
cyberagentdevelopers
PRO
2
230
様々なファイルシステム
sat
PRO
0
280
AIエージェントによる業務効率化への飽くなき挑戦-AWS上の実開発事例から学んだ効果、現実そしてギャップ-
nasuvitz
5
1.5k
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカタログのリリースサイクルを高速化する
shuta13
3
240
知覚とデザイン
rinchoku
1
680
SRE × マネジメントレイヤーが挑戦した組織・会社のオブザーバビリティ改革 ― ビジネス価値と信頼性を両立するリアルな挑戦
coconala_engineer
0
340
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Side Projects
sachag
455
43k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Keith and Marios Guide to Fast Websites
keithpitt
412
23k
Scaling GitHub
holman
463
140k
Documentation Writing (for coders)
carmenintech
76
5.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
The Cult of Friendly URLs
andyhume
79
6.6k
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͕͞Βʹ օ༷ͷ͓ʹཱͯΔΑ͏ Ҿ͖ଓ͖͕ΜΓ·͢ʂ