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
380
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
760
ノーコードE2Eテストで実現する高速開発
nozomiito
0
590
MagicPodで実現するE2Eテスト自動化
nozomiito
0
2.6k
MagicPod開発におけるテスト自動化とCI
nozomiito
0
660
最近のMagicPodまとめ
nozomiito
0
540
テスト自動化スタートアップがエバンジェリストを募集するワケ
nozomiito
0
250
MagicPodが取り組むテスト自動化最前線
nozomiito
0
420
ロケーターを学んでテスト自動化上級者を目指そう
nozomiito
1
5.7k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
4
2.1k
Other Decks in Technology
See All in Technology
Git scrapingで始める継続的なデータ追跡 / Git Scraping
ohbarye
5
500
2025年に挑戦したいこと
molmolken
0
160
Accessibility Inspectorを活用した アプリのアクセシビリティ向上方法
hinakko
0
180
DMMブックスへのTipKit導入
ttyi2
1
110
【NGK2025S】動物園(PINTO_model_zoo)に遊びに行こう
kazuhitotakahashi
0
240
ABWGのRe:Cap!
hm5ug
1
120
Docker Desktop で Docker を始めよう
zembutsu
PRO
0
180
Copilotの力を実感!3ヶ月間の生成AI研修の試行錯誤&成功事例をご紹介。果たして得たものとは・・?
ktc_shiori
0
350
embedパッケージを深掘りする / Deep Dive into embed Package in Go
task4233
1
220
メンバーがオーナーシップを発揮しやすいチームづくり
ham0215
2
140
カップ麺の待ち時間(3分)でわかるPartyRockアップデート
ryutakondo
0
140
月間60万ユーザーを抱える 個人開発サービス「Walica」の 技術スタック変遷
miyachin
1
140
Featured
See All Featured
Site-Speed That Sticks
csswizardry
3
270
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Done Done
chrislema
182
16k
A better future with KSS
kneath
238
17k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Speed Design
sergeychernyshev
25
740
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
The Language of Interfaces
destraynor
155
24k
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όʔδϣϯΞοϓͷτϥϒϧ - Ϛγϯڥτϥϒϧ
༏ઌॱҐΛ͚ͭͯࣗಈԽ͢Δ ϕετϓϥΫςΟε • ૣΊʹԿΒ͔ͷՌΛಘΔ͜ͱ͕ɺࣗಈԽఆணͷۙಓ • ༏ઌॱҐΛ͚ͭͯࣗಈԽ͢Δ͜ͱ͕େ まずは正常系を カバー 運⽤してみて、 課題を洗い出す
異常系は 正常系のあと
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ