Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

WebサイトもモバイルアプリもMagic Podで自動化

1,566 views

Published on

AI自動テストツールMagic Podの概要、デモ、AIの活用ポイント、各種機能について紹介しています。

Published in: Technology
  • Be the first to comment

WebサイトもモバイルアプリもMagic Podで自動化

  1. 1. Webサイトもモバイルアプリも Magic Podで自動化 Magic Pod 伊藤 望 (TRIDENT CEO)
  2. 2. 1. Magic Podの概要 2. デモ 3. AIの活用 4. 機能紹介 アジェンダ
  3. 3. 1. Magic Podの概要 2. デモ 3. AIの活用 4. 機能紹介
  4. 4. Magic Podとは • AI技術を活用したテスト自動化クラウドサービス • Webサイトとモバイルアプリのテストに対応 • Twitterやってます @TRIDENTInc • 自動テストのエキスパートが開発 1. Magic Podの概要 伊藤望 戸田広 玉川紘子
  5. 5. 対応環境 ローカル Magic Pod クラウド 外部クラウド (※) Webサイト ○ 今後対応 ○ モバイルアプリ (ネイティブ、WebView) ○ ○ ○ テストデータ保存先: テスト実行環境: 1. Magic Podの概要 BrowserStackとSauceLabs モバイルアプリはRemote TestKitとHeadSpinも クラウド ※
  6. 6. ご利用企業さま 1. Magic Podの概要 magic-pod.com
  7. 7. 1. Magic Podの概要 2. デモ 3. AIの活用 4. 機能紹介
  8. 8. Webサイトテスト - ローカル 2. デモ テスト編集画面 Magic Pod Desktop テスト対象サイト
  9. 9. Webサイトテスト - ローカル 2. デモ デモ https://www.youtube.com/watch?v=ReFpfzpieEk
  10. 10. モバイルアプリテスト - Magic Podクラウド 2. デモ テスト編集画面 Magic Pod クラウド端末
  11. 11. 2. デモ モバイルアプリテスト - Magic Podクラウド デモ https://www.youtube.com/watch?v=NlgzgPZ99MY
  12. 12. 1. Magic Podの概要 2. デモ 3. AIの活用 4. 機能紹介
  13. 13. 3. AIの活用 1. 日本語の要素説明文を計算 2. テストスクリプト自動修復
  14. 14. 日本語の要素説明文 3. AIの活用 – 日本語の要素説明文を計算 要素説明文: AIロジックで計算 自由に書き換え可能 システム(Appium)ロケータ: 要素ツリーから計算
  15. 15. 要素説明文の計算に使っている情報 3. AIの活用 – 日本語の要素説明文を計算 • UIツリー情報: 属性、テキスト、タグ名、等々 • 要素どうしの位置関係
  16. 16. 要素説明文の計算に使っている情報 3. AIの活用 – 日本語の要素説明文を計算 • OCR(画像からの文字認識) • ディープラーニング による物体種類認識
  17. 17. 自動修復(セルフヒーリング)とは 3. AIの活用 – テストスクリプト自動修復 • テスト対象の画面構成が変わって要素が見つからなくなった場合に、 AIが画面に合わせてスクリプト側を自動修正 • 似たコンセプトは、QTPの時代より見られる(たぶん) https://www.finddevguides.com/s/qtp/qtp_smart_identification
  18. 18. Magic Podの自動修復 - デモ 3. AIの活用 – テストスクリプト自動修復 guestname に値をセット //button[text()=‘次へ’] をクリック ページが修正された! id=guestname id=guest_name テストスクリプト 実行するとどうなる?
  19. 19. 3. AIの活用 – テストスクリプト自動修復 Magic Podの自動修復 デモ https://www.youtube.com/watch?v=WcQ9lBatJpg
  20. 20. 技術解説: 自動修復の2通りの方式 3. AIの活用 – テストスクリプト自動修復 A. マルチ属性ロケータ方式 (他ツールの方式) B. シングルロケータ方式 (Magic Podの方式)
  21. 21. • キャプチャ&リプレイ型の自動テストツールに適した方式 • 操作記録時: id, name, indexなど複数の属性で要素指定 • テスト失敗時: 1つの属性がダメでも、他の属性を試す A. マルチ属性ロケータ方式 3. AIの活用 – テストスクリプト自動修復
  22. 22. • 例) Testim (testim.io) A. マルチ属性ロケータ方式 3. AIの活用 – テストスクリプト自動修復 ※当社調べ ロケータを変えたいときは 重みを変更
  23. 23. • Magic Podで採用している方式 • テスト作成時: ロケータとHTML全体を保持 • テスト失敗時: テスト作成時と実行時のHTMLを比較して、類似度が高 い要素があれば利用 B. シングルロケータ方式 3. AIの活用 – テストスクリプト自動修復
  24. 24. B. シングルロケータ方式 3. AIの活用 – テストスクリプト自動修復 • 例) Magic Pod テスト作成時ロケータ テスト実行時HTMLテスト作成時HTML 修復後の新ロケータ
  25. 25. • 類似度比較の基準 - 要素の各種属性、位置、他の要素との親子関係、等々 - OCR結果 (Magic Podの場合) - ディープラーニングによる物体種類認識 (Magic Podの場合) • メリット - Selenium/Appiumと同じ形式のロケータ B. シングルロケータ方式 3. AIの活用 – テストスクリプト自動修復
  26. 26. • シングルロケータ方式 • ある要素が共通ロジックで複数テストから使われていてもOK • 1つのページ画像を複数テストで共有していてもOK • UIツリー全体を保持するので、ツリーの類似度でテスト作成時と別ペー ジに来たかの判定が可能 -> iOSアプリの自動修復に必須! • もっと色々あるのですが、時間がないので今日は割愛 Magic Podの自動修復の特徴 3. AIの活用 – テストスクリプト自動修復
  27. 27. 1. Magic Podの概要 2. デモ 3. AIの活用 4. 機能紹介
  28. 28. 4. 機能紹介 その他のMagic Podの機能を 駆け足で紹介
  29. 29. 4. 機能紹介 モバイル
  30. 30. クラウドシミュレータ(モバイル) 4. 機能紹介 • ローカル環境より安定・高速 • 実機じゃないので安い
  31. 31. クラウド実機(モバイル) • BrowserStack / SauceLabs / Remote TestKit / HeadSpinと連携可 能(外部サービスの契約が必要) 4. 機能紹介
  32. 32. クロス端末テスト(モバイル) • 色々なバージョン/機種の組み合わせで並列/直列実行 4. 機能紹介
  33. 33. 各種端末操作(モバイル) • さまざまなコマンドを用意 4. 機能紹介
  34. 34. 画像アップロード(モバイル) • 端末にテスト用の画像を追加 4. 機能紹介
  35. 35. ピッカー操作(モバイル) • スワイプ方向を自動推定(ある意味AI) 4. 機能紹介
  36. 36. WebViewサポート(モバイル) • Cordovaアプリ / Monacaアプリにも対応 4. 機能紹介
  37. 37. 4. 機能紹介 Web
  38. 38. 各種ブラウザ操作(Web) • さまざまなコマンドを用意 4. 機能紹介
  39. 39. クロスブラウザ(Web) 4. 機能紹介 • 各種ブラウザに対応 (来週末リリース)
  40. 40. IE安定化対応(Web) 4. 機能紹介 • 安定しないIEを安定させる涙ぐましい努力 https://www.slideshare.net/hirokotamagawa/20200516-seleniummeetupwinappdriver
  41. 41. ファイルダウンロード/アップロード(Web) 4. 機能紹介
  42. 42. アラート内容も画面キャプチャ(Web) 4. 機能紹介 • 意外と簡単ではない
  43. 43. 4. 機能紹介 全般
  44. 44. 値チェック 4. 機能紹介 • 様々な条件で期待値チェック
  45. 45. 条件分岐 4. 機能紹介 • 「ダイアログが出たときだけタップする」などの用途に
  46. 46. 共有ステップ 4. 機能紹介 • 繰り返し利用する処理は共通化
  47. 47. データ駆動テスト 4. 機能紹介 • パラメータを変えて、同じテストを何度も実行
  48. 48. ページ画像を複数テストで共有 4. 機能紹介 • UIレポジトリ、UIマップのように使える
  49. 49. ロケータ変更 4. 機能紹介 • 様々な候補から好きなものを選択可能
  50. 50. 変数 4. 機能紹介 • 画面上の値などを保存して後続処理に利用可能
  51. 51. 共有変数 4. 機能紹介 • 全テストで共有されるパラメータ
  52. 52. シークレット変数 4. 機能紹介 • ログに出したくない値はマスキング
  53. 53. 日付変数 4. 機能紹介 • 「明日の日付を入力」などの用途に
  54. 54. システム変数 4. 機能紹介 • 特定のブラウザやOSでだけ行いたい処理に
  55. 55. HTTPリクエスト送信 4. 機能紹介 • DBの値チェックやデータクリアなどに
  56. 56. スケジュール実行 4. 機能紹介 • 本番環境の監視などに
  57. 57. CI連携(CircleCI, Jenkins, など) 4. 機能紹介 • Web APIやコマンドライン実行の機能で連携可能
  58. 58. CI連携(Bitrise)(モバイル) 4. 機能紹介 • Bitrise StepでGUI設定可能
  59. 59. コメント 4. 機能紹介
  60. 60. コピー・貼り付け 4. 機能紹介
  61. 61. 編集を元に戻す・やり直す 4. 機能紹介
  62. 62. 部分テスト実行 4. 機能紹介
  63. 63. テスト結果画面キャプチャダウンロード 4. 機能紹介 • エビデンス取得や画像比較に
  64. 64. メンバー権限管理 4. 機能紹介 • プロジェクト単位での権限設定が可能
  65. 65. 接続元IP制限 4. 機能紹介 • エンタープライズプランの機能
  66. 66. 英語利用も可能 4. 機能紹介 • 海外でも使われています
  67. 67. 利用プラン 4. 機能紹介 magic-pod.com/pricing
  68. 68. We are hiring さいごに テクノロジーの力でテストの世界を変えたい エンジニアの方を募集しています! https://www.trident-qa.com/recruit/
  69. 69. ありがとうございました!

×