「UI自動テストツールとAI」
〜AIを使った自動テストの「今」と「未来」〜
株式会社TRIDENT
伊藤望
About Me
p 伊藤 望
p 株式会社TRIDENT	代表取締役
n テスト自動化の支援を行うベンチャー
p コミュニティ運営
n 日本Seleniumユーザーコミュニティ
p 執筆
今日のお話
1. AI技術を使った自動テストサービス
「Magic	Pod」
2. Magic	Podの仕組み
3. Magic	Pod自身のAIエンジンのテスト
4. AI自動テストの今後の可能性
1.	AI技術を使った自動テストサービス
「Magic	Pod」
定型的な作業は、
どんどん置き換えられていく
今、様々な仕事が
AIに置き換えられつつある
p 運転
p 翻訳
p 倉庫作業
p 記事執筆
テストの領域における
定型作業
主なテストの領域
テスト設計
テスト実行
AIでもっと効率よくなりそう!
主に非定型作業
単純作業・繰り返し作業が
かなり多い
AI技術を活用したテスト自動化
Magic	Pod
p AIを活用した自動テストWebサービス
n ディープラーニングなどの機械学習技術などを活用
n 現在はモバイルアプリ向けのみ
p 旧「Magic	Pot」から改名
コンセプト動画
https://www.youtube.com/watch?v=f6SO9pZANas
デモ (Yahoo!乗換案内)
https://www.youtube.com/watch?v=f6SO9pZANas
Magic	Pod	ニュースレター
p Magic	Podの情報を定期的にお知らせ
2.	Magic	Podの仕組み
p 2通りの方式がある
1. テスト実行時検索方式
n 画面キャプチャだけでテストを作成
2. テスト作成時検索方式
n もう少しシステム情報を活用した方式
n 画像解析が間違っていたら手直しできる
n 実運用ではこちらをメインに使ってもらっている
テスト作成・実行エンジンの仕組み
1.	テスト実行時検索方式
1.	テスト実行時検索方式
-テストを作成する-
①画像解析
②選んでテスト作成
1.	テスト実行時検索方式
-テストを実行する-
③Appiumスクリプトに変換
④コマンドラインから実行 ④CIで実行
1.	テスト実行時検索方式
-テストを実行する-
⑤実行時に再度画像解析
⑥対応するAppium要素を取得
UIATextField[1]
⑦Appiumで実行
1.	テスト実行時検索方式
-テストを実行する-
⑤実行時に再度画像解析
⑥対応するAppium要素を取得
UIATextField[1]
⑦Appiumで実行
「名前」入力エリア UIATextField[1]
の対応はキャッシュし、
2回目からは高速に動作
2.	テスト作成時検索方式
2.	テスト作成時検索方式
-テストを作成する-
②画像解析&
対応する要素計算
①Magic	Pod	Desktopで画像と
UIツリー情報をアップロード
2.	テスト作成時検索方式
-テストを作成する-
③選んでテスト作成
テストスクリプト
UIマップ
④実行前に
UIマップを作成可能
2.	テスト作成時検索方式
-テストを作成する-
テストスクリプト
UIマップ
• 画像解析で生成されたラベル
• 人間が書き換えてもよい
2.	テスト作成時検索方式
-テストを実行する-
⑤そのままAppiumで実行
3.	Magic	Pod自身のAIエンジンのテスト
1. 人間のように賢そうなプログラムをAIと呼ぶケース
2. 機械学習を使ったプログラムを指すケース
n データを学習させる作業が発生
n 学習データによって挙動が変わる
AIって何?
p 学習データの一部をテストデータとして使い、正答率で
エンジンの性能を測る (交差検証)
p 機械学習エンジニアは、大抵このテストをしている
機械学習エンジンのテスト
テストデータ
①学習させる
エンジン
学習データ
②テストする
③正答率が低いとNG
p 正答率の数字だけでは気づかないこともある
p 例:
1. 学習データを増やした
2. その結果、正答率が96%	=>	98%にアップ
3. だが、これまで「ボタン」と認識できていた画像が認識できな
くなった
機械学習エンジンのテスト
p どう学習されたかは、人間にはブラックボックス
n 意図せぬ結果が時々起きる
p 学習ロジックの中に、ランダム処理がある(ことが多い)
n 例:確率的勾配降下法:学習データの偏りをなくすため、毎回
データをランダムに選んで学習
n 「データもロジックも変えてないのに、学習し直したら結果が
変わった!」みたいなことが..
原因
p 正答率を見る +	きちんと動作して欲しい基本テストケー
スを自動テスト化
p 開発中もこまめにテスト
Magic	Pod開発ではどうしているか
p 失敗することはあるか
n わかりやすいアイコン等の識別は、通常失敗しない
n 人間も判断に困るような際どいデータの判定は、学習ごとに
結果が変わりがち
p 失敗した時の対策
n 対策1:間違えたデータを学習データに加える
n 対策2:とりあえず再学習
n 対策3:諦める
n 対策4:機械学習ロジック自体の改良
基本テストケースが失敗したら
p 現状世の中で機械学習が使われているところ
1. 不安定さを許容できる処理
n 投稿写真のタグ付け
n チャットボット
n 商品のレコメンド
2. 人間より精度が良い処理
n 工場の不良品検出
n 病気の原因診断
そんな不安定で大丈夫か?
p Magic	Podは?
n 不安定さを許容できる部分に機械学習を使っている
n 画像解析結果は、間違えてもユーザーが直せる
n テスト実行には、現状機械学習エンジンを使っていない
p 自動運転は?
n 画像認識の精度はすでに人間と同レベル?
n センサーなど、非機械学習技術と併用?
そんな不安定で大丈夫か?
p不安定さを許容できる処理
p人間より精度が良い処理
機械学習は使い所が大事
4.	AI自動テストの今後の可能性
人間向けの
テストケースを理解したい
現在のMagic	Pod
メールアドレスに「user@example.com」を入力
パスワードに「pass01」を入力
ログインボタンをクリック
Input("id=mail",	"user@example.com")
Input("id=pass",	"pass01")
Click("loginbutton")
既存自動テストツールのコード
形式の決まった日本語の詳細ステップ
Magic	Podの最終目標
p 人間向けの手動テストケースをAIが理解し自動実行
user@example.com	/	pass01	でログイン
user@example.com pass01
Magic	Podの最終目標
多くが「UI手動テスト」
1. Excel(など)でテストケース作成
2. 人間がUIからテスト実施
世界で毎年テストに
費やされている金額
15兆円 (推定)
Magic	Podの最終目標
多くが「UI手動テスト」
1. Excel(など)でテストケース作成
2. 人間がUIからテスト実施
世界で毎年テストに
費やされている金額
15兆円 (推定)
この部分を置き換える
実現するには
user@example.com	/	pass01	でログイン
メールアドレスに「user@example.com」を入力
パスワードに「pass01」を入力
ログインボタンをクリック
Input("id=mail",	"user@example.com")
Input("id=pass",	"pass01")
Click("loginbutton")
行間を読んで自動展開
既存自動テストツールのコードに変換
大変そう
できそう
行間を読んで自動展開 - アイデア
1. Magic	Podで、共通関数機能を提供
メールアドレスに{user}を入力
パスワードに{pass}を入力
ログインボタンをクリック
{user}/{pass}でログイン
ユーザーが、好きな名前で
共通関数を作成できる
行間を読んで自動展開 - アイデア
2. 共通関数名 → 処理名のビッグデータを
学習すれば、自動展開できるように!
メールアドレスに{user}を入力
パスワードに{pass}を入力
ログインボタンをクリック
{user}/{pass}でログイン
行間を読んで自動展開 - アイデア
2. 共通関数名 → 処理名のビッグデータを
学習すれば、自動展開できるように!
メールアドレスに{user}を入力
パスワードに{pass}を入力
ログインボタンをクリック
{user}/{pass}でログイン
テスト設計も自動化したい
テスト設計の自動化
p 背後のデータモデルの推定など、複雑な論
理的思考が必要
p システム仕様の背後にある、暗黙の常識を
読み取る必要がある
テスト設計の自動化
p効率化は、色々できる
p完全自動化は当面無理では?
n 自動化された時は、おそらくシステム開発の
仕事は全て自動化されている
AIとQAの未来
QAの仕事はどう変わっていくか
pテスト実行などの定型的な仕事は、少しず
つ減っていくのではないか
pテスト設計などの、より創造性の必要なテ
ストに注力できるはず
QAの未来は
pテストの中に単純作業があることが、QAの
地位や価値を下げている
p 単純作業がなくなり、スキル(業務理解、ユー
ザー理解、テスト技法、等)勝負の世界になれ
ば、QAの地位はむしろ向上するはず!
ご静聴ありがとうございました!

More Related Content

PDF
機械学習を活用したテスト自動化システムの設計
PDF
What is quality engineer? Is it something tasty?
PPTX
インセプションデッキのひな形(PPT形式:ダウンロード用)
PDF
LINE Developer Meetup in Tokyo #39 Presentation (modified)
PDF
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
PDF
ITエンジニアに易しいUI/UXデザイン
PDF
Confluence と SharePoint 何が違う?
PDF
What is quality culture? Is it something tasty?
機械学習を活用したテスト自動化システムの設計
What is quality engineer? Is it something tasty?
インセプションデッキのひな形(PPT形式:ダウンロード用)
LINE Developer Meetup in Tokyo #39 Presentation (modified)
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
ITエンジニアに易しいUI/UXデザイン
Confluence と SharePoint 何が違う?
What is quality culture? Is it something tasty?

What's hot (20)

PDF
ChatGPT 人間のフィードバックから強化学習した対話AI
PDF
Agile Quality アジャイル品質パターン (QA2AQ)
PDF
1時間で分かるSTA (Software Test Automation) #stac2014
PDF
Re-collection of embedded software qa in the last decade
PDF
テスト観点に基づくテスト開発方法論 VSTePの概要
PDF
基礎からわかる、機械学習のソフトウェアテストのへの適用例 - 「Bag Of Words」を使った「類似チケットの検索」
PDF
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
PDF
PFD(Process Flow Diagram)の書き方紹介
PDF
例外設計における大罪
PPTX
DeNAにおける先端AI技術活用のチャレンジ
PDF
フロー効率性とリソース効率性、再入門 #devlove #devkan
PDF
テスト自動化のこれまでとこれから
PDF
「顧客の声を聞かない」とはどういうことか
PPTX
今さら聞けない人のためのCI/CD超入門
PDF
Active Learning 入門
PPTX
図解 なぜなぜ分析 改訂版
PDF
探索的テスト入門
PDF
xOps: エンジニアがスタートアップの成長の原動力となる日
PPTX
事例から学ぶ!Power Platformガバナンス設計~CoEの話も添えて~
PDF
エンタープライズ、アーキテクチャ、アジャイルのこれから
ChatGPT 人間のフィードバックから強化学習した対話AI
Agile Quality アジャイル品質パターン (QA2AQ)
1時間で分かるSTA (Software Test Automation) #stac2014
Re-collection of embedded software qa in the last decade
テスト観点に基づくテスト開発方法論 VSTePの概要
基礎からわかる、機械学習のソフトウェアテストのへの適用例 - 「Bag Of Words」を使った「類似チケットの検索」
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
PFD(Process Flow Diagram)の書き方紹介
例外設計における大罪
DeNAにおける先端AI技術活用のチャレンジ
フロー効率性とリソース効率性、再入門 #devlove #devkan
テスト自動化のこれまでとこれから
「顧客の声を聞かない」とはどういうことか
今さら聞けない人のためのCI/CD超入門
Active Learning 入門
図解 なぜなぜ分析 改訂版
探索的テスト入門
xOps: エンジニアがスタートアップの成長の原動力となる日
事例から学ぶ!Power Platformガバナンス設計~CoEの話も添えて~
エンタープライズ、アーキテクチャ、アジャイルのこれから
Ad

Similar to 「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜 (20)

PDF
完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
PDF
ディープラーニングとAppiumでテストを自動化
PPTX
WebサイトもモバイルアプリもMagic Podで自動化
PDF
Ai for software testing
PDF
もしAppiumとディープラーニングを組み合わせたら
PDF
ディープラーニングとAppiumでモバイルテスト自動化
PDF
ブラウザのUIテストをしてみた話
PDF
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
KEY
Androidリリース作業の効率化(2)
PPTX
JaSST Kansai 2017 AIとテストパターン - AI and Testing Pattern-
PDF
iOSアプリ UIテスト自動化入門
PDF
SeleniumConf Chicago 参加報告
PDF
サイボウズがWebアプリ自動テスト に活用しているossツールの紹介
PPTX
画像認識ベースのUI自動化フレームワークを用いた取り組み
PDF
20170625 JXUG Fukuoka 発表資料 : Unit / UI Testing - Xamarin
PDF
Appium 2.0 ではじめるモバイルアプリテスト
PDF
まずはできるところから始める UnitTestとテストができる実装について
PPT
テストプラットフォームサービスの舞台裏
PDF
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
PDF
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
ディープラーニングとAppiumでテストを自動化
WebサイトもモバイルアプリもMagic Podで自動化
Ai for software testing
もしAppiumとディープラーニングを組み合わせたら
ディープラーニングとAppiumでモバイルテスト自動化
ブラウザのUIテストをしてみた話
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
Androidリリース作業の効率化(2)
JaSST Kansai 2017 AIとテストパターン - AI and Testing Pattern-
iOSアプリ UIテスト自動化入門
SeleniumConf Chicago 参加報告
サイボウズがWebアプリ自動テスト に活用しているossツールの紹介
画像認識ベースのUI自動化フレームワークを用いた取り組み
20170625 JXUG Fukuoka 発表資料 : Unit / UI Testing - Xamarin
Appium 2.0 ではじめるモバイルアプリテスト
まずはできるところから始める UnitTestとテストができる実装について
テストプラットフォームサービスの舞台裏
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
Ad

More from Nozomi Ito (12)

PPTX
Understand the AI-powered test automation with Magic Pod
PPTX
第4回日本seleniumユーザーコミュニティ勉強会
PDF
Selenium boot campの紹介
PDF
第3回日本seleniumユーザーコミュニティ勉強会
PDF
「Selenium実践入門」で学ぶテスト自動化の世界
PDF
Appiumのテスト結果レポートをsahaginで作ってみる
PDF
去年のデブサミの「日本Seleniumユーザーコミュニティ」のLTが真面目すぎてイマイチだったので、今年は何とかしようと色々がんばった結果ww
PDF
GUI自動テストの保守性を高めるには
PDF
第2回日本seleniumユーザーコミュニティ勉強会
PDF
海外のSeleniumカンファレンスではどんな発表がされているのか2014
PDF
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
PDF
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
Understand the AI-powered test automation with Magic Pod
第4回日本seleniumユーザーコミュニティ勉強会
Selenium boot campの紹介
第3回日本seleniumユーザーコミュニティ勉強会
「Selenium実践入門」で学ぶテスト自動化の世界
Appiumのテスト結果レポートをsahaginで作ってみる
去年のデブサミの「日本Seleniumユーザーコミュニティ」のLTが真面目すぎてイマイチだったので、今年は何とかしようと色々がんばった結果ww
GUI自動テストの保守性を高めるには
第2回日本seleniumユーザーコミュニティ勉強会
海外のSeleniumカンファレンスではどんな発表がされているのか2014
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス

「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜