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
420
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
890
ノーコードE2Eテストで実現する高速開発
nozomiito
0
640
MagicPodで実現するE2Eテスト自動化
nozomiito
0
3.2k
MagicPod開発におけるテスト自動化とCI
nozomiito
0
750
最近のMagicPodまとめ
nozomiito
0
610
テスト自動化スタートアップがエバンジェリストを募集するワケ
nozomiito
0
300
MagicPodが取り組むテスト自動化最前線
nozomiito
0
470
ロケーターを学んでテスト自動化上級者を目指そう
nozomiito
1
7.3k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
4
2.3k
Other Decks in Technology
See All in Technology
JSX - 歴史を振り返り、⾯⽩がって、エモくなろう
pal4de
3
1.1k
Oracle Audit Vault and Database Firewall 20 概要
oracle4engineer
PRO
3
1.6k
“社内”だけで完結していた私が、AWS Community Builder になるまで
nagisa53
1
210
VCpp Link and Library - C++ breaktime 2025 Summer
harukasao
0
220
IAMのマニアックな話 2025を執筆して、 見えてきたAWSアカウント管理の現在
nrinetcom
PRO
4
660
Uniadex__公開版_20250617-AIxIoTビジネス共創ラボ_ツナガルチカラ_.pdf
iotcomjpadmin
0
150
登壇ネタの見つけ方 / How to find talk topics
pinkumohikan
3
290
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
1
200
VISITS_AIIoTビジネス共創ラボ登壇資料.pdf
iotcomjpadmin
0
150
CIでのgolangci-lintの実行を約90%削減した話
kazukihayase
0
340
Welcome to the LLM Club
koic
0
130
2年でここまで成長!AWSで育てたAI Slack botの軌跡
iwamot
PRO
2
140
Featured
See All Featured
Statistics for Hackers
jakevdp
799
220k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.8k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
660
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Optimizing for Happiness
mojombo
379
70k
A better future with KSS
kneath
239
17k
Side Projects
sachag
455
42k
Practical Orchestrator
shlominoach
188
11k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
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όʔδϣϯΞοϓͷτϥϒϧ - Ϛγϯڥτϥϒϧ
༏ઌॱҐΛ͚ͭͯࣗಈԽ͢Δ ϕετϓϥΫςΟε • ૣΊʹԿΒ͔ͷՌΛಘΔ͜ͱ͕ɺࣗಈԽఆணͷۙಓ • ༏ઌॱҐΛ͚ͭͯࣗಈԽ͢Δ͜ͱ͕େ まずは正常系を カバー 運⽤してみて、 課題を洗い出す
異常系は 正常系のあと
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ