狠狠撸

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

More Related Content

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