$30 off During Our Annual Pro Sale. View Details »

MagicPodを使った WebサイトとPWAアプリの自動テスト

Nozomi Ito
November 16, 2022

MagicPodを使った WebサイトとPWAアプリの自動テスト

Nozomi Ito

November 16, 2022
Tweet

More Decks by Nozomi Ito

Other Decks in Technology

Transcript

  1. .BHJD1PEΛ࢖ͬͨ 8FCαΠτͱ18"ΞϓϦͷࣗಈςετ 18"/JHIU

  2. "CPVUNF • ҏ౻ ๬ *UP/P[PNJ • .BHJD1PE$&0 • ࣗಈςετπʔϧྺɿ໿೥ •

    4FMFOJVNίϛϡχςΟओ࠻ • 5XJUUFSɿ!JUP@OP[PNJ
  3. .BHJD1PEͷ֓ཁ σϞ ػೳ঺հ ϕετϓϥΫςΟε

  4. .BHJD1PEͷ֓ཁ σϞ ػೳ঺հ ϕετϓϥΫςΟε

  5. .BHJD1PEͱ͸ .BHJD1PEͷ֓ཁ • 8FCϞόΠϧΞϓϦͷςετࣗಈԽΫϥ΢υαʔϏε • ϊʔίʔυͰ؆୯ʹςετ͕࡞੒Ͱ͖Δʂ • 5XJUUFSɿ !.BHJD1PE+1

  6. ΤΩεύʔτ͕࡞ͬͨςετπʔϧ .BHJD1PEͷ֓ཁ ஶऀ ຋༁ऀ ొஃ

  7. .BHJD1PEͷ֓ཁ ͝ར༻Ϣʔβʔ༷ IUUQTNBHJDQPEDPNDVTUPNFSTUPSJFT

  8. Ϣʔβʔ༷ͷϒϩάεϥΠυ .BHJD1PEͷ֓ཁ .BHJD1PEɺ͜Μͳ࢖͍ํͯ͠·͢ ʙڞ༗εςοϓฤʙ ΤϯϖΠਓ໨2"͕ ೖࣾͯ͠ϲ݄Ͱ΍͖ͬͯͨ͜ͱ .BHJD1PEʢ&&πʔϧʣΛಋೖͯ͠ ඼࣭ͱϦϦʔεස౓Λཱ͍྆ͯ͠Δ࿩ .BHJD1PEͰࣗಈԽ཰Λ ര্͛ͨ͠ϋφγ

    .BHJD1PEͰ&&ςετΛ࣮૷ͨ͠࿩ ΞϓϦͷςετʹ .BHJD1PEΛಋೖ͍ͯ͠Δ࿩
  9. .BHJD1PEͷ֓ཁ σϞ ػೳ঺հ ϕετϓϥΫςΟε

  10. ରԠ؀ڥ ςετσʔλอଘઌ σϞ クラウド MagicPod クラウド ローカル 外部クラウド (※) モバイルアプリ

    ◦ ◦ ◦ Webサイト(デスクトップ) ◦ ◦ ◦ Webサイト(モバイルエミュレート) ◦ ◦ ◦ Webサイト(モバイル実機) ー ー ◦ ςετ࣮ߦ؀ڥ ˞#SPXFS4UBDL4BVDF-BCT)FBE4QJO౳
  11. ରԠ؀ڥ ςετσʔλอଘઌ σϞ クラウド MagicPod クラウド ローカル 外部クラウド (※) モバイルアプリ

    ◦ ◦ ◦ Webサイト(デスクトップ) ◦ ◦ ◦ Webサイト(モバイルエミュレート) ◦ ◦ ◦ Webサイト(モバイル実機) ー ー ◦ ςετ࣮ߦ؀ڥ ˞#SPXFS4UBDL4BVDF-BCT)FBE4QJO౳
  12. 8FCαΠτςετ σεΫτοϓ σϞ

  13. 8FCαΠτςετ σεΫτοϓ σϞ σϞ https://youtu.be/jk7VqdjCVCU

  14. ϞόΠϧΞϓϦςετ 18" σϞ

  15. ϞόΠϧΞϓϦςετ 18" σϞ σϞ https://youtu.be/Ji94VYegpUg

  16. 18"ςετ r ٕज़ղઆ σϞ 18"Πϯετʔϧ 18"ىಈ 18"ૢ࡞

  17. 18"ςετ r ٕज़ղઆ σϞ 18"Πϯετʔϧ 18"ىಈ 18"ૢ࡞ $ISPNF ωΠςΟϒཁૉૢ࡞ ϗʔϜը໘

    ωΠςΟϒཁૉλοϓ ωΠςΟϒ PS8FC7JFX ཁૉૢ࡞
  18. .BHJD1PEͷ֓ཁ σϞ ػೳ঺հ ϕετϓϥΫςΟε

  19. ػೳ঺հ ϞόΠϧΞϓϦ

  20. Ϋϥ΢υγϛϡϨʔλ ػೳ঺հ ϞόΠϧΞϓϦ • ϩʔΧϧ؀ڥΑΓ҆ఆɾߴ଎ • ࣮ػ͡Όͳ͍ͷͰ͍҆ • J04ɺ"OESPJEʹରԠ

  21. Ϋϥ΢υ࣮ػ • #SPXTFS4UBDL 4BVDF-BCT )FBE4QJOͱ࿈ܞՄೳ ֎෦ αʔϏεͷܖ໿͕ඞཁ • աڈػछ͔Β࠷৽ػछ·Ͱ๛෋ͳ඼ἧ͑ ػೳ঺հ

    ϞόΠϧΞϓϦ SauceLabs BrowserStack
  22. Ϋϩε୺຤ςετ • ৭ʑͳόʔδϣϯػछͷ૊Έ߹ΘͤͰฒྻ௚ྻ࣮ߦ ػೳ঺հ ϞόΠϧΞϓϦ

  23. ֤छ୺຤ૢ࡞ • ͞·͟·ͳίϚϯυΛ༻ҙ ػೳ঺հ ϞόΠϧΞϓϦ

  24. ֤छ୺຤ૢ࡞ ػೳ঺հ ϞόΠϧΞϓϦ 画像アップロード フリーハンド図形描画 端末回転 スワイプ

  25. ֤छ୺຤ઃఆ ػೳ঺հ ϞόΠϧΞϓϦ 地域 タイムゾーン 位置情報 ⾔語

  26. 8FC7JFXαϙʔτ • $PSEPWBΞϓϦ .POBDBΞϓϦʹ΋ରԠ ػೳ঺հ ϞόΠϧΞϓϦ

  27. ػೳ঺հ 8FCαΠτ

  28. Ϋϩεϒϥ΢β ػೳ঺հ 8FCαΠτ • ֤छϒϥ΢βʹରԠ ˞*&͸&EHFͷ*&Ϟʔυͱͯ͠ར༻ՄೳͰ͢ ϞόΠϧ8FCϒϥ΢β

  29. .BHJD1PEΫϥ΢υ ػೳ঺հ 8FCαΠτ • Ϋϥ΢υͷϒϥ΢βͰςετΛ࡞੒ɾ࣮ߦՄೳ

  30. ֎෦Ϋϥ΢υ࿈ܞ • #SPXTFS4UBDL 4BVDF-BCT ͱ࿈ܞՄೳ ֎෦αʔϏεͷܖ໿ ͕ඞཁ • ༷ʑͳϒϥ΢βόʔδϣϯɾ04Ͱར༻Մೳ ػೳ঺հ

    8FCαΠτ SauceLabs BrowserStack
  31. ֤छϒϥ΢βૢ࡞ • ͞·͟·ͳίϚϯυΛ༻ҙ ػೳ঺հ 8FCαΠτ

  32. ϑΝΠϧμ΢ϯϩʔυΞοϓϩʔυ ػೳ঺հ 8FCαΠτ

  33. 4IBEPX%0.αϙʔτ ػೳ঺հ 8FCαΠτ • 4BMFTGPSDFΞϓϦέʔγϣϯͷςετ΋Մೳ

  34. ػೳ঺հ શൠ

  35. ஋νΣοΫ ػೳ঺հ • ༷ʑͳ৚݅Ͱظ଴஋νΣοΫ

  36. ৚݅෼ذ ػೳ঺հ • ʮμΠΞϩά͕ग़ͨͱ͖͚ͩλοϓ͢ΔʯͳͲͷ༻్ʹ

  37. ڞ༗εςοϓ ػೳ঺հ • ܁Γฦ͠ར༻͢Δॲཧ͸ڞ௨Խ

  38. σʔλۦಈςετ ػೳ঺հ • ύϥϝʔλΛม͑ͯɺಉ͡ςετΛԿ౓΋࣮ߦ

  39. ϖʔδը૾Λෳ਺ςετͰڞ༗ ػೳ঺հ • 6*ϨϙδτϦɺ6*ϚοϓͷΑ͏ʹ࢖͑Δ

  40. ϩέʔλมߋ ػೳ঺հ • ༷ʑͳީิ͔Β޷͖ͳ΋ͷΛબ୒Մೳ

  41. ࣗಈम෮ ػೳ঺հ • 6*ʹมߋ͕ೖͬͨ৔߹ʹɺ"*͕ࣗಈͰεΫϦϓτΛमਖ਼

  42. ม਺ ػೳ঺հ • ը໘্ͷ஋ͳͲΛอଘͯ͠ޙଓॲཧʹར༻Մೳ

  43. ڞ༗ม਺ ػೳ঺հ • શςετͰڞ༗͞ΕΔύϥϝʔλ

  44. γʔΫϨοτม਺ ػೳ঺հ • ϩάʹग़ͨ͘͠ͳ͍஋͸ϚεΩϯά

  45. ೔෇ม਺ ػೳ঺հ • ʮ໌೔ͷ೔෇ΛೖྗʯͳͲͷ༻్ʹ

  46. γεςϜม਺ ػೳ঺հ • ಛఆͷϒϥ΢β΍04Ͱ͚ͩߦ͍͍ͨॲཧʹ

  47. )551ϦΫΤετૹ৴ ػೳ঺հ • %#ͷ஋νΣοΫ΍σʔλΫϦΞͳͲʹ

  48. ֤छϢʔςΟϦςΟίϚϯυ ػೳ঺հ 数値⽐較 2段階認証突破 正規表現 四則演算

  49. ςετέʔεϥϕϧ ػೳ঺հ • ςετʹϥϕϧΛ෇༩Մೳ • ϥϕϧΛࢦఆ PSআ֎ ͯ͠ςετҰׅ࣮ߦՄೳ

  50. εέδϡʔϧ࣮ߦ ػೳ঺հ • ຊ൪؀ڥͷ؂ࢹͳͲʹ

  51. ϝʔϧ௨஌ɾ4MBDL௨஌ ػೳ঺հ • ςετ݁Ռͷڞ༗ʹ

  52. $*࿈ܞ $JSDMF$* +FOLJOT ͳͲ ػೳ঺հ • 8FC"1*΍ίϚϯυϥΠϯ࣮ߦͷػೳͰ࿈ܞՄೳ

  53. $*࿈ܞ #JUSJTF ϞόΠϧ ػೳ঺հ • #JUSJTF 4UFQͰ(6*ઃఆՄೳ

  54. ίϝϯτ ػೳ঺հ

  55. ίϐʔɾషΓ෇͚ ػೳ঺հ

  56. ฤूΛݩʹ໭͢ɾ΍Γ௚͢ ػೳ঺հ

  57. ෦෼ςετ࣮ߦ ػೳ঺հ

  58. ը૾ࠩ෼νΣοΫ ػೳ঺հ • ը໘ϨΠΞ΢τ่ΕͳͲΛݕग़Մೳ

  59. ςετ݁Ռը໘Ωϟϓνϟμ΢ϯϩʔυ ػೳ঺հ • ΤϏσϯεऔಘͳͲʹ

  60. ϝϯόʔݖݶ؅ཧ ػೳ঺հ • ϓϩδΣΫτ୯ҐͰͷݖݶઃఆ͕Մೳ

  61. ΤϯλʔϓϥΠζηΩϡϦςΟ ػೳ঺հ ドメインコントロール 接続元IP制限 SAMLシングルサインオン 固定接続元IP

  62. ӳޠར༻΋Մೳ ػೳ঺հ • ւ֎Ͱ΋࢖ΘΕ͍ͯ·͢

  63. .BHJD1PEͷ֓ཁ σϞ ػೳ঺հ ϕετϓϥΫςΟε

  64. ຖ೔ࣗಈ࣮ߦ ϕετϓϥΫςΟε • ࠷৽ͷιʔείʔυΛຖ೔ϏϧυɾσϓϩΠ͠ɺςετΛ࣮ߦ • खಈͩͱɺ୲౰ऀɾମ੍͕มΘͬͨࡍʹ࣮ࢪ͞Εͳ͘ͳΓ͕ͪ • ϦϦʔε௚લ͚࣮ͩߦͩͱɺ໰୊͕ى͖ͨ࣌ʹ͕࣌ؒͳͯ͘์ஔ ͕ͪ͠ •

    ຖ೔ͷมߋΛਵ࣌൓ө͍ͯ͘͠ํ͕ϝϯςφϯε೉қ౓͕௿͍
  65. Ϋϥ΢υͰ࣮ߦ ϕετϓϥΫςΟε • .BHJD1PEΫϥ΢υɺ#SPXTFS4UBDLɺ4BVDF-BCTͷ͍ͣΕ͔ • ϩʔΧϧ1$ͩͱɺτϥϒϧͰςετ࣮ߦʹ͕͔͔࣌ؒΓɺ৺ ཧతϋʔυϧ͕ߴ͘ͳΔ - ϞόΠϧ࣮ػͷ઀ଓτϥϒϧ -

    .BHJD1PE%FTLUPQόʔδϣϯΞοϓͷτϥϒϧ - Ϛγϯ؀ڥτϥϒϧ
  66. ༏ઌॱҐΛ͚ͭͯࣗಈԽ͢Δ ϕετϓϥΫςΟε • ૣΊʹԿΒ͔ͷ੒ՌΛಘΔ͜ͱ͕ɺࣗಈԽఆணͷۙಓ • ༏ઌॱҐΛ͚ͭͯࣗಈԽ͢Δ͜ͱ͕େ੾ まずは正常系を カバー 運⽤してみて、 課題を洗い出す

    異常系は 正常系のあと
  67. ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ