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
400
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
790
ノーコードE2Eテストで実現する高速開発
nozomiito
0
600
MagicPodで実現するE2Eテスト自動化
nozomiito
0
2.8k
MagicPod開発におけるテスト自動化とCI
nozomiito
0
690
最近のMagicPodまとめ
nozomiito
0
560
テスト自動化スタートアップがエバンジェリストを募集するワケ
nozomiito
0
250
MagicPodが取り組むテスト自動化最前線
nozomiito
0
440
ロケーターを学んでテスト自動化上級者を目指そう
nozomiito
1
6.1k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
4
2.2k
Other Decks in Technology
See All in Technology
Potential EM 制度を始めた理由、そして2年後にやめた理由 - EMConf JP 2025
hoyo
2
3k
データモデルYANGの処理系を再発明した話
tjmtrhs
0
210
入門 PEAK Threat Hunting @SECCON
odorusatoshi
0
170
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
11k
Amazon Athenaから利用時のGlueのIcebergテーブルのメンテナンスについて
nayuts
0
110
フォーイット_エンジニア向け会社紹介資料_Forit_Company_Profile.pdf
forit_tech
1
1.7k
20250304_赤煉瓦倉庫_DeepSeek_Deep_Dive
hiouchiy
2
120
IoTシステム開発の複雑さを低減するための統合的アーキテクチャ
kentaro
1
130
エンジニア主導の企画立案を可能にする組織とは?
recruitengineers
PRO
1
280
ExaDB-XSで利用されているExadata Exascaleについて
oracle4engineer
PRO
3
290
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
320
目標と時間軸 〜ベイビーステップでケイパビリティを高めよう〜
kakehashi
PRO
8
910
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Git: the NoSQL Database
bkeepers
PRO
428
65k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Six Lessons from altMBA
skipperchong
27
3.6k
Agile that works and the tools we love
rasmusluckow
328
21k
A Modern Web Designer's Workflow
chriscoyier
693
190k
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όʔδϣϯΞοϓͷτϥϒϧ - Ϛγϯڥτϥϒϧ
༏ઌॱҐΛ͚ͭͯࣗಈԽ͢Δ ϕετϓϥΫςΟε • ૣΊʹԿΒ͔ͷՌΛಘΔ͜ͱ͕ɺࣗಈԽఆணͷۙಓ • ༏ઌॱҐΛ͚ͭͯࣗಈԽ͢Δ͜ͱ͕େ まずは正常系を カバー 運⽤してみて、 課題を洗い出す
異常系は 正常系のあと
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ