AI自動テストツールMagic Podで テストをもっと簡単に

6f8c7b050e551df51ac90c013eee164f?s=47 Nozomi Ito
September 30, 2020

AI自動テストツールMagic Podで テストをもっと簡単に

BPStudy#157〜システムテスト自動化を始めよう(https://bpstudy.connpass.com/event/188216/) の発表スライドです。

6f8c7b050e551df51ac90c013eee164f?s=128

Nozomi Ito

September 30, 2020
Tweet

Transcript

  1. "*ࣗಈςετπʔϧ.BHJD1PEͰ ςετΛ΋ͬͱ؆୯ʹ גࣜձࣾ53*%&/5 ҏ౻ ๬

  2. "CPVUNF • ҏ౻ ๬ *UP/P[PNJ • גࣜձࣾ53*%&/5୅දऔక໾ • ʮ೔ຊ4FMFOJVNϢʔβʔίϛϡχςΟʯӡӦ •

    ஶॻ
  3. .BHJD1PEͷ֓ཁ σϞ "*ͷ׆༻ ػೳ঺հ ΞδΣϯμ

  4. .BHJD1PEͷ֓ཁ σϞ "*ͷ׆༻ ػೳ঺հ

  5. .BHJD1PEͱ͸ • "*ٕज़Λ׆༻ͨ͠γεςϜςετ 6*ςετ ࣗಈԽΫϥ΢υ αʔϏε • 8FCαΠτͱϞόΠϧΞϓϦͷςετʹରԠ • ແྉ൛΋͋Γ

    • 5XJUUFS΋΍͍ͬͯ·͢ !53*%&/5*OD .BHJD1PEͷ֓ཁ
  6. γεςϜςετࣗಈԽͷ՝୊ .BHJD1PEͷ֓ཁ 環境構築が 難しい スクリプトを 書くのが難しい 作成したテストが うまく動かない 他の⼈が作ったテストの 理解が難しい

    UIが変わるとテストが 動かなくなる
  7. .BHJD1PEʹΑΔιϦϡʔγϣϯ .BHJD1PEͷ֓ཁ 環境構築が 難しい スクリプトを 書くのが難しい 作成したテストが うまく動かない 他の⼈が作ったテストの 理解が難しい

    UIが変わるとテストが 動かなくなる クラウドで 簡単環境構築 画⾯要素を選んで テスト作成 エキスパートによる 安定化の努⼒ AIがスクリプトを ⾃動修復 画像 + AIによる 分かりやすい説明⽂
  8. ରԠ؀ڥ ςετσʔλอଘઌ .BHJD1PEͷ֓ཁ クラウド Magic Pod クラウド ローカル 外部クラウド (※)

    モバイルアプリ(ネイティブ) ◦ ◦ ◦ モバイルアプリ(WebView) ◦ ◦ ◦ Webサイト(デスクトップ) 今後対応 ◦ ◦ Webサイト(モバイルエミュレート) 今後対応 ◦ ◦ Webサイト(モバイル実機) 今後対応 今後対応 今後対応 ςετ࣮ߦ؀ڥ ˞#SPXFS4UBDL)FBE4QJO3FNPUF5FTU,JU4BVDF-BCT
  9. .BHJD1PEͷ֓ཁ σϞ "*ͷ׆༻ ػೳ঺հ

  10. ϞόΠϧΞϓϦςετ  .BHJD1PEΫϥ΢υ σϞ ςετฤूը໘ .BHJD1PE Ϋϥ΢υ୺຤

  11. σϞ ϞόΠϧΞϓϦςετ  .BHJD1PEΫϥ΢υ σϞ https://www.youtube.com/watch/IrK3g-0_Ypc

  12. 8FCαΠτςετ  ϩʔΧϧ σϞ ςετฤूը໘ .BHJD1PE%FTLUPQ ςετର৅αΠτ

  13. 8FCαΠτςετ  ϩʔΧϧ σϞ σϞ https://www.youtube.com/watch/ReFpfzpieEk

  14. .BHJD1PEͷ֓ཁ σϞ "*ͷ׆༻ ػೳ঺հ

  15. "*Λ࢖͍ͬͯΔͱ͜Ζ r ͦͷ 環境構築が 難しい スクリプトを 書くのが難しい 作成したテストが うまく動かない 他の⼈が作ったテストの

    理解が難しい UIが変わるとテストが 動かなくなる クラウドで 簡単環境構築 画⾯要素を選んで テスト作成 エキスパートによる 安定化の努⼒ AIがスクリプトを ⾃動修復 画像 + AIによる 分かりやすい説明⽂ "*ͷ׆༻
  16. ෼͔Γ΍͍͢આ໌จ "*ͷ׆༻ r ෼͔Γ΍͍͢આ໌จ 要素説明⽂: AIロジックで計算 ⾃由に書き換え可能 システム(Appium)ロケータ: 要素ツリーから計算 テスト実⾏時はこちらを利⽤

  17. ཁૉઆ໌จͷܭࢉʹ࢖͍ͬͯΔ৘ใ "*ͷ׆༻ r ෼͔Γ΍͍͢આ໌จ • 6*πϦʔ৘ใଐੑɺςΩετɺλά໊ɺ౳ʑ • ཁૉͲ͏͠ͷҐஔؔ܎

  18. ཁૉઆ໌จͷܭࢉʹ࢖͍ͬͯΔ৘ใ "*ͷ׆༻ r ෼͔Γ΍͍͢આ໌จ • 0$3 ը૾͔Βͷจࣈೝࣝ • σΟʔϓϥʔχϯά ʹΑΔ෺ମछྨೝࣝ

  19. "*Λ࢖͍ͬͯΔͱ͜Ζ r ͦͷ 環境構築が 難しい スクリプトを 書くのが難しい 作成したテストが うまく動かない 他の⼈が作ったテストの

    理解が難しい UIが変わるとテストが 動かなくなる クラウドで 簡単環境構築 画⾯要素を選んで テスト作成 エキスパートによる 安定化の努⼒ AIがスクリプトを ⾃動修復 画像 + AIによる 分かりやすい説明⽂ "*ͷ׆༻
  20. ࣗಈम෮ ηϧϑώʔϦϯά ͱ͸ "*ͷ׆༻ r ςετεΫϦϓτࣗಈम෮ • ςετର৅ͷը໘ߏ੒͕มΘͬͯཁૉ͕ݟ͔ͭΒͳ͘ͳͬͨ৔ ߹ʹɺ"*͕ը໘ʹ߹ΘͤͯεΫϦϓτଆΛࣗಈमਖ਼ •

    ࣅͨίϯηϓτ͸ɺ251ͷ࣌୅ΑΓݟΒΕΔ ͨͿΜ https://www.finddevguides.com/s/qtp/qtp_smart_identification
  21. .BHJD 1PEͷࣗಈम෮  σϞ "*ͷ׆༻ r ςετεΫϦϓτࣗಈम෮ HVFTUOBNF ʹ஋Ληοτ CVUUPO<UFYU

    b࣍΁`>ΛΫϦοΫ ϖʔδ͕मਖ਼͞Εͨʂ JEHVFTUOBNF JEHVFTU@OBNF ςετεΫϦϓτ ࣮ߦ͢ΔͱͲ͏ͳΔ
  22. "*ͷ׆༻ r ςετεΫϦϓτࣗಈम෮ .BHJD1PEͷࣗಈम෮ σϞ https://www.youtube.com/watch/WcQ9lBatJpg

  23. • ςετ࡞੒࣌ ϩέʔλͱ)5.-શମΛอ࣋ • ςετࣦഊ࣌ ςετ࡞੒࣌ͱ࣮ߦ࣌ͷ)5.-Λൺֱͯ͠ɺྨࣅ ౓͕ߴ͍ཁૉ͕͋Ε͹ར༻ ࣗಈम෮ͷ࢓૊Έ "*ͷ׆༻ r

    ςετεΫϦϓτࣗಈम෮
  24. ࣗಈम෮ͷ࢓૊Έ "*ͷ׆༻ r ςετεΫϦϓτࣗಈम෮ テスト作成時ロケータ テスト実⾏時HTML テスト作成時HTML 修復後の新ロケータ

  25. • ཁૉͷ֤छଐੑɺҐஔɺଞͷཁૉͱͷ਌ࢠؔ܎ɺ౳ʑ • 0$3݁Ռ • σΟʔϓϥʔχϯάʹΑΔ෺ମछྨೝࣝ • ػցֶशʹΑΔॏΈ෇͚ͷௐ੔͸ಛʹ͍ͯ͠ͳ͍ - ը໘मਖ਼લޙͷϖʔδαϯϓϧ͕গͳ͗͢ΔͨΊ

    ྨࣅ౓ൺֱͷج४ "*ͷ׆༻ r ςετεΫϦϓτࣗಈम෮
  26. • ΤϥʔΛݟͯɺʮ͜ΜͳΜ"*͕ͳΜͱ͔͠ΖΑʂʯͱࢥͬͨ࣌ͷ ͨΊʹɺվળϦΫΤετϘλϯΛ༻ҙ • ࠓޙ΋ܧଓվળ͍͖ͯ͠·͢ʂ "*ͷܧଓతվળ "*ͷ׆༻ r ςετεΫϦϓτࣗಈम෮

  27. .BHJD1PEͷ֓ཁ σϞ "*ͷ׆༻ ػೳ঺հ

  28. ػೳ঺հ • "*Ҏ֎ʹ΋.BHJD1PEʹ͸ػೳ͕ͨ͘͞Μ • ֤छػೳΛۦ͚଍Ͱ͝঺հ

  29. ػೳ঺հ ϞόΠϧ

  30. Ϋϥ΢υγϛϡϨʔλ ϞόΠϧ ػೳ঺հ • ϩʔΧϧ؀ڥΑΓ҆ఆɾߴ଎ • ࣮ػ͡Όͳ͍ͷͰ͍҆

  31. Ϋϥ΢υ࣮ػ ϞόΠϧ • #SPXTFS4UBDL 4BVDF-BCT 3FNPUF5FTU,JU )FBE4QJO ͱ࿈ܞՄೳ ֎෦αʔϏεͷܖ໿͕ඞཁ •

    աڈػछ͔Β࠷৽ػछ·Ͱ๛෋ͳ඼ἧ͑ ػೳ঺հ SauceLabs Remote TestKit
  32. Ϋϩε୺຤ςετ ϞόΠϧ • ৭ʑͳόʔδϣϯػछͷ૊Έ߹ΘͤͰฒྻ௚ྻ࣮ߦ ػೳ঺հ

  33. ֤छ୺຤ૢ࡞ ϞόΠϧ • ͞·͟·ͳίϚϯυΛ༻ҙ • ϚχΞοΫͳ΋ͷ΋৭ʑ ػೳ঺հ

  34. ը૾Ξοϓϩʔυ ϞόΠϧ • ୺຤ʹςετ༻ͷը૾Λ௥Ճ ػೳ঺հ

  35. ϐοΧʔૢ࡞ ϞόΠϧ • εϫΠϓํ޲Λࣗಈਪఆ ػೳ঺հ

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

  37. ػೳ঺հ 8FC

  38. ֤छϒϥ΢βૢ࡞ 8FC • ͞·͟·ͳίϚϯυΛ༻ҙ ػೳ঺հ

  39. Ϋϩεϒϥ΢β 8FC ػೳ঺հ • ֤छϒϥ΢βʹରԠ

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

    SauceLabs BrowserStack
  41. *&҆ఆԽରԠ 8FC ػೳ঺հ • ҆ఆ͠ͳ͍*&Λ҆ఆͤ͞Δ਺ʑͷ౒ྗ https://www.slideshare.net/hirokotamagawa/20200516-seleniummeetupwinappdriver

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

  43. Ξϥʔτ಺༰΋ը໘Ωϟϓνϟ 8FC ػೳ঺հ • ҙ֎ͱ࣮ݱ͕೉͍͠ػೳ

  44. ػೳ঺հ શൠ

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

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

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

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

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

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

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

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

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

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

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

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

  57. &NBJMͷςετ ػೳ঺հ • ʮ)551ϦΫΤετૹ৴ʯͱʮਖ਼نදݱϚονʯͷ૊Έ߹Θͤ - (NBJMʹૹ৴͞Εͨ಺༰ͷνΣοΫ - (NBJMʹૹ৴͞ΕͨϦϯΫΛΫϦοΫ • IUUQTXXXUSJEFOURBDPNNBHJDQPEFNBJMUFTUJOH

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

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

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

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

  62. ίϝϯτ ػೳ঺հ

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

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

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

  66. ςετ݁Ռը໘Ωϟϓνϟμ΢ϯϩʔυ ػೳ঺հ • ΤϏσϯεऔಘ΍ը૾ൺֱʹ

  67. ը૾ࠩ෼ൺֱϨϙʔτ ػೳ঺հ • ը໘Ωϟϓνϟμ΢ϯϩʔυͱSFHDMJͷ૊Έ߹ΘͤͰ࣮ݱ • IUUQTCMPHUSJEFOURBDPNSFHDMJNBHJDQPEFF

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

  69. ઀ଓݩ*1੍ݶ ػೳ঺հ • ΤϯλʔϓϥΠζϓϥϯͷػೳ

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

  71. 8FBSFIJSJOH ͍͞͝ʹ ςΫϊϩδʔͷྗͰςετͷੈքΛม͍͑ͨ ΤϯδχΞͷํΛืूத https://www.trident-qa.com/recruit/

  72. ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ