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
MagicPodを使ったWebサイトとPWAアプリの自動テスト
Search
Nozomi Ito
November 16, 2022
Technology
0
450
MagicPodを使った WebサイトとPWAアプリの自動テスト
PWA Night vol.45 ~テストツール〜
の登壇資料です。
Nozomi Ito
November 16, 2022
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
310
MagicPodが取り組むテスト自動化最前線
nozomiito
0
490
ロケーターを学んでテスト自動化上級者を目指そう
nozomiito
1
8.1k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
4
2.4k
Other Decks in Technology
See All in Technology
Trust as Infrastructure
bcantrill
0
340
職種別ミートアップで社内から盛り上げる アウトプット文化の醸成と関係強化/ #DevRelKaigi
nishiuma
2
140
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
11
77k
【新卒研修資料】LLM・生成AI研修 / Large Language Model・Generative AI
brainpadpr
24
17k
組織観点からIAM Identity CenterとIAMの設計を考える
nrinetcom
PRO
1
180
バイブコーディングと継続的デプロイメント
nwiizo
2
430
SOC2取得の全体像
shonansurvivors
1
400
定期的な価値提供だけじゃない、スクラムが導くチームの共創化 / 20251004 Naoki Takahashi
shift_evolve
PRO
3
320
Modern_Data_Stack最新動向クイズ_買収_AI_激動の2025年_.pdf
sagara
0
220
20250929_QaaS_vol20
mura_shin
0
110
多様な事業ドメインのクリエイターへ 価値を届けるための営みについて
massyuu
1
330
綺麗なデータマートをつくろう_データ整備を前向きに考える会 / Let's create clean data mart
brainpadpr
2
190
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Thoughts on Productivity
jonyablonski
70
4.9k
Music & Morning Musume
bryan
46
6.8k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Embracing the Ebb and Flow
colly
88
4.8k
We Have a Design System, Now What?
morganepeng
53
7.8k
Transcript
.BHJD1PEΛͬͨ 8FCαΠτͱ18"ΞϓϦͷࣗಈςετ 18"/JHIU
"CPVUNF • ҏ౻ *UP/P[PNJ • .BHJD1PE$&0 • ࣗಈςετπʔϧྺɿ •
4FMFOJVNίϛϡχςΟओ࠻ • 5XJUUFSɿ!JUP@OP[PNJ
.BHJD1PEͷ֓ཁ σϞ ػೳհ ϕετϓϥΫςΟε
.BHJD1PEͷ֓ཁ σϞ ػೳհ ϕετϓϥΫςΟε
.BHJD1PEͱ .BHJD1PEͷ֓ཁ • 8FCϞόΠϧΞϓϦͷςετࣗಈԽΫϥυαʔϏε • ϊʔίʔυͰ؆୯ʹςετ͕࡞Ͱ͖Δʂ • 5XJUUFSɿ !.BHJD1PE+1
ΤΩεύʔτ͕࡞ͬͨςετπʔϧ .BHJD1PEͷ֓ཁ ஶऀ ༁ऀ ొஃ
.BHJD1PEͷ֓ཁ ͝ར༻Ϣʔβʔ༷ IUUQTNBHJDQPEDPNDVTUPNFSTUPSJFT
Ϣʔβʔ༷ͷϒϩάεϥΠυ .BHJD1PEͷ֓ཁ .BHJD1PEɺ͜Μͳ͍ํͯ͠·͢ ʙڞ༗εςοϓฤʙ ΤϯϖΠਓ2"͕ ೖࣾͯ͠ϲ݄Ͱ͖ͬͯͨ͜ͱ .BHJD1PEʢ&&πʔϧʣΛಋೖͯ͠ ࣭ͱϦϦʔεසΛཱ͍྆ͯ͠Δ .BHJD1PEͰࣗಈԽΛ ര্͛ͨ͠ϋφγ
.BHJD1PEͰ&&ςετΛ࣮ͨ͠ ΞϓϦͷςετʹ .BHJD1PEΛಋೖ͍ͯ͠Δ
.BHJD1PEͷ֓ཁ σϞ ػೳհ ϕετϓϥΫςΟε
ରԠڥ ςετσʔλอଘઌ σϞ クラウド MagicPod クラウド ローカル 外部クラウド (※) モバイルアプリ
◦ ◦ ◦ Webサイト(デスクトップ) ◦ ◦ ◦ Webサイト(モバイルエミュレート) ◦ ◦ ◦ Webサイト(モバイル実機) ー ー ◦ ςετ࣮ߦڥ ˞#SPXFS4UBDL4BVDF-BCT)FBE4QJO
ରԠڥ ςετσʔλอଘઌ σϞ クラウド MagicPod クラウド ローカル 外部クラウド (※) モバイルアプリ
◦ ◦ ◦ Webサイト(デスクトップ) ◦ ◦ ◦ Webサイト(モバイルエミュレート) ◦ ◦ ◦ Webサイト(モバイル実機) ー ー ◦ ςετ࣮ߦڥ ˞#SPXFS4UBDL4BVDF-BCT)FBE4QJO
8FCαΠτςετ σεΫτοϓ σϞ
8FCαΠτςετ σεΫτοϓ σϞ σϞ https://youtu.be/jk7VqdjCVCU
ϞόΠϧΞϓϦςετ 18" σϞ
ϞόΠϧΞϓϦςετ 18" σϞ σϞ https://youtu.be/Ji94VYegpUg
18"ςετ r ٕज़ղઆ σϞ 18"Πϯετʔϧ 18"ىಈ 18"ૢ࡞
18"ςετ r ٕज़ղઆ σϞ 18"Πϯετʔϧ 18"ىಈ 18"ૢ࡞ $ISPNF ωΠςΟϒཁૉૢ࡞ ϗʔϜը໘
ωΠςΟϒཁૉλοϓ ωΠςΟϒ PS8FC7JFX ཁૉૢ࡞
.BHJD1PEͷ֓ཁ σϞ ػೳհ ϕετϓϥΫςΟε
ػೳհ ϞόΠϧΞϓϦ
ΫϥυγϛϡϨʔλ ػೳհ ϞόΠϧΞϓϦ • ϩʔΧϧڥΑΓ҆ఆɾߴ • ࣮ػ͡Όͳ͍ͷͰ͍҆ • J04ɺ"OESPJEʹରԠ
Ϋϥυ࣮ػ • #SPXTFS4UBDL 4BVDF-BCT )FBE4QJOͱ࿈ܞՄೳ ֎෦ αʔϏεͷܖ͕ඞཁ • աڈػछ͔Β࠷৽ػछ·Ͱ๛ͳἧ͑ ػೳհ
ϞόΠϧΞϓϦ SauceLabs BrowserStack
Ϋϩεςετ • ৭ʑͳόʔδϣϯػछͷΈ߹ΘͤͰฒྻྻ࣮ߦ ػೳհ ϞόΠϧΞϓϦ
֤छૢ࡞ • ͞·͟·ͳίϚϯυΛ༻ҙ ػೳհ ϞόΠϧΞϓϦ
֤छૢ࡞ ػೳհ ϞόΠϧΞϓϦ 画像アップロード フリーハンド図形描画 端末回転 スワイプ
֤छઃఆ ػೳհ ϞόΠϧΞϓϦ 地域 タイムゾーン 位置情報 ⾔語
8FC7JFXαϙʔτ • $PSEPWBΞϓϦ .POBDBΞϓϦʹରԠ ػೳհ ϞόΠϧΞϓϦ
ػೳհ 8FCαΠτ
Ϋϩεϒϥβ ػೳհ 8FCαΠτ • ֤छϒϥβʹରԠ ˞*&&EHFͷ*&Ϟʔυͱͯ͠ར༻ՄೳͰ͢ ϞόΠϧ8FCϒϥβ
.BHJD1PEΫϥυ ػೳհ 8FCαΠτ • ΫϥυͷϒϥβͰςετΛ࡞ɾ࣮ߦՄೳ
֎෦Ϋϥυ࿈ܞ • #SPXTFS4UBDL 4BVDF-BCT ͱ࿈ܞՄೳ ֎෦αʔϏεͷܖ ͕ඞཁ • ༷ʑͳϒϥβόʔδϣϯɾ04Ͱར༻Մೳ ػೳհ
8FCαΠτ SauceLabs BrowserStack
֤छϒϥβૢ࡞ • ͞·͟·ͳίϚϯυΛ༻ҙ ػೳհ 8FCαΠτ
ϑΝΠϧμϯϩʔυΞοϓϩʔυ ػೳհ 8FCαΠτ
4IBEPX%0.αϙʔτ ػೳհ 8FCαΠτ • 4BMFTGPSDFΞϓϦέʔγϣϯͷςετՄೳ
ػೳհ શൠ
νΣοΫ ػೳհ • ༷ʑͳ݅ͰظνΣοΫ
݅ذ ػೳհ • ʮμΠΞϩά͕ग़ͨͱ͖͚ͩλοϓ͢ΔʯͳͲͷ༻్ʹ
ڞ༗εςοϓ ػೳհ • ܁Γฦ͠ར༻͢Δॲཧڞ௨Խ
σʔλۦಈςετ ػೳհ • ύϥϝʔλΛม͑ͯɺಉ͡ςετΛԿ࣮ߦ
ϖʔδը૾ΛෳςετͰڞ༗ ػೳհ • 6*ϨϙδτϦɺ6*ϚοϓͷΑ͏ʹ͑Δ
ϩέʔλมߋ ػೳհ • ༷ʑͳީิ͔Β͖ͳͷΛબՄೳ
ࣗಈम෮ ػೳհ • 6*ʹมߋ͕ೖͬͨ߹ʹɺ"*͕ࣗಈͰεΫϦϓτΛमਖ਼
ม ػೳհ • ը໘্ͷͳͲΛอଘͯ͠ޙଓॲཧʹར༻Մೳ
ڞ༗ม ػೳհ • શςετͰڞ༗͞ΕΔύϥϝʔλ
γʔΫϨοτม ػೳհ • ϩάʹग़ͨ͘͠ͳ͍ϚεΩϯά
ม ػೳհ • ʮ໌ͷΛೖྗʯͳͲͷ༻్ʹ
γεςϜม ػೳհ • ಛఆͷϒϥβ04Ͱ͚ͩߦ͍͍ͨॲཧʹ
)551ϦΫΤετૹ৴ ػೳհ • %#ͷνΣοΫσʔλΫϦΞͳͲʹ
֤छϢʔςΟϦςΟίϚϯυ ػೳհ 数値⽐較 2段階認証突破 正規表現 四則演算
ςετέʔεϥϕϧ ػೳհ • ςετʹϥϕϧΛ༩Մೳ • ϥϕϧΛࢦఆ PSআ֎ ͯ͠ςετҰׅ࣮ߦՄೳ
εέδϡʔϧ࣮ߦ ػೳհ • ຊ൪ڥͷࢹͳͲʹ
ϝʔϧ௨ɾ4MBDL௨ ػೳհ • ςετ݁Ռͷڞ༗ʹ
$*࿈ܞ $JSDMF$* +FOLJOT ͳͲ ػೳհ • 8FC"1*ίϚϯυϥΠϯ࣮ߦͷػೳͰ࿈ܞՄೳ
$*࿈ܞ #JUSJTF ϞόΠϧ ػೳհ • #JUSJTF 4UFQͰ(6*ઃఆՄೳ
ίϝϯτ ػೳհ
ίϐʔɾషΓ͚ ػೳհ
ฤूΛݩʹ͢ɾΓ͢ ػೳհ
෦ςετ࣮ߦ ػೳհ
ը૾ࠩνΣοΫ ػೳհ • ը໘ϨΠΞτ่ΕͳͲΛݕग़Մೳ
ςετ݁Ռը໘Ωϟϓνϟμϯϩʔυ ػೳհ • ΤϏσϯεऔಘͳͲʹ
ϝϯόʔݖݶཧ ػೳհ • ϓϩδΣΫτ୯ҐͰͷݖݶઃఆ͕Մೳ
ΤϯλʔϓϥΠζηΩϡϦςΟ ػೳհ ドメインコントロール 接続元IP制限 SAMLシングルサインオン 固定接続元IP
ӳޠར༻Մೳ ػೳհ • ւ֎ͰΘΕ͍ͯ·͢
.BHJD1PEͷ֓ཁ σϞ ػೳհ ϕετϓϥΫςΟε
ຖࣗಈ࣮ߦ ϕετϓϥΫςΟε • ࠷৽ͷιʔείʔυΛຖϏϧυɾσϓϩΠ͠ɺςετΛ࣮ߦ • खಈͩͱɺ୲ऀɾମ੍͕มΘͬͨࡍʹ࣮ࢪ͞Εͳ͘ͳΓ͕ͪ • ϦϦʔεલ͚࣮ͩߦͩͱɺ͕ى͖ͨ࣌ʹ͕࣌ؒͳͯ͘์ஔ ͕ͪ͠ •
ຖͷมߋΛਵ࣌ө͍ͯ͘͠ํ͕ϝϯςφϯεқ͕͍
ΫϥυͰ࣮ߦ ϕετϓϥΫςΟε • .BHJD1PEΫϥυɺ#SPXTFS4UBDLɺ4BVDF-BCTͷ͍ͣΕ͔ • ϩʔΧϧ1$ͩͱɺτϥϒϧͰςετ࣮ߦʹ͕͔͔࣌ؒΓɺ৺ ཧతϋʔυϧ͕ߴ͘ͳΔ - ϞόΠϧ࣮ػͷଓτϥϒϧ -
.BHJD1PE%FTLUPQόʔδϣϯΞοϓͷτϥϒϧ - Ϛγϯڥτϥϒϧ
༏ઌॱҐΛ͚ͭͯࣗಈԽ͢Δ ϕετϓϥΫςΟε • ૣΊʹԿΒ͔ͷՌΛಘΔ͜ͱ͕ɺࣗಈԽఆணͷۙಓ • ༏ઌॱҐΛ͚ͭͯࣗಈԽ͢Δ͜ͱ͕େ まずは正常系を カバー 運⽤してみて、 課題を洗い出す
異常系は 正常系のあと
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ