magic pod 人工知能を使った自動テスト - jasst · 2017-03-08 ·...

27
Magic Pod - 人工知能を使った自動テスト - 株式会社TRIDENT 伊藤望

Upload: others

Post on 06-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

MagicPod-人工知能を使った自動テスト -

株式会社TRIDENT伊藤望

Page 2: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

About Mep伊藤望

p株式会社TRIDENT代表取締役n テスト自動化の支援を行うベンチャー

p執筆

Page 3: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

About Me「SeleniumBootCamp」p Seleniumについて、1日で基礎から学ぶ講座(有料)

Page 4: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

定型的な作業は、どんどん置き換えられていく

今、様々な仕事がAIに置き換えられつつある

p運転

p翻訳

p倉庫作業

p記事執筆

Page 5: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

テストの領域の中に定型的な作業はないだろうか

Page 6: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

主なテストの領域

テスト設計

テスト実行AIでもっと効率よくなりそう!

主に非定型作業

単純作業・繰り返し作業がかなり多い

Page 7: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

テスト実行をどうAIで自動化するか

Page 8: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

理想

p手動テストケースを読み取って自動実行してくれる

[email protected]/pass01でログイン

[email protected] pass01

Page 9: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

実現するとしたら

[email protected]/pass01でログイン

メールアドレスに「[email protected]」を入力パスワードに「pass01」を入力ログインボタンをクリック

Input("id=mail","[email protected]")Input("id=pass","pass01")Click("loginbutton")

行間を読んで自動展開

既存自動テストツールのコードに変換

大変そう

できるかも

Page 10: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

まずはこれを目指そう

メールアドレスに「[email protected]」を入力パスワードに「pass01」を入力ログインボタンをクリック

Input("id=mail","[email protected]")Input("id=pass","pass01")Click("loginbutton")

既存自動テストツールのコードに変換

Page 11: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

そして生まれたのが

Page 12: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

MagicPod

Page 13: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

コンセプト動画

Page 14: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

Yahoo!乗換案内を

利用したデモ動画

Page 15: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

仕組み -テストを作成する-

①画像解析(ディープラーニング)

②選んでテスト作成

Page 16: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

仕組み -テストを実行する-

③unittestのコードに変換

④コマンドラインから実行 ④CIで実行

Page 17: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

仕組み -テストを実行する-

⑤実行時に再度画像解析

⑥対応するAppium要素を取得

UIATextField[1]

⑦Appiumで実行

Page 18: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

仕組み -テストを実行する-

⑤実行時に再度画像解析

⑥対応するAppium要素を取得

UIATextField[1]

⑦Appiumで実行

Page 19: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

仕組み -テストを実行する-

⑤実行時に再度画像解析

⑥対応するAppium要素を取得

UIATextField[1]

⑦Appiumで実行

「名前」入力エリア UIATextField[1]

の対応はキャッシュし、2回目からは高速に動作

Page 20: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

開発状況

p アルファユーザーテスト(1社)を先日開始p先行登録ユーザー限定体験ハンズオンを昨日開催

Page 21: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

未来の話

Page 22: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

テスト実行の完全自動化

[email protected]/pass01でログイン

メールアドレスに「[email protected]」を入力パスワードに「pass01」を入力ログインボタンをクリック

Input("id=mail","[email protected]")Input("id=pass","pass01")Click("loginbutton")

行間を読んで自動展開

既存自動テストツールのコードに変換

ここも自動化

Page 23: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

テスト実行以外も自動化できないか

pテスト設計

n背後のデータモデルの推定など、複雑な論理的思考が必要

nシステム仕様の背後にある、暗黙の常識を読み取る必要がある

Page 24: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

テスト実行以外も自動化できないか

pテスト設計n AIによる完全自動化は当面無理では?n自動化された時は、おそらくシステム開発の仕事は全て自動化されている

Page 25: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

テスト実行以外も自動化できないか

p静的解析nコードを解析してバグを発見

pユニットテスト

nプログラムを解析してユニットテストを自動生成

ビッグデータを学習して、色々できそう

Page 26: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

AIによって、QEの仕事は奪われるのかpテスト設計 +実行をしている人

n余計なタスクが減り、よりテスト設計に注力できる

nそもそも人員は慢性的に不足

pテスト実行だけの人

n危ないのではないか

n今のうちに、キャリアについてよく考えるべきでは

Page 27: Magic Pod 人工知能を使った自動テスト - JaSST · 2017-03-08 · テスト実行の完全自動化 user@example.com / pass01 でログイン メールアドレスに「user@example.com」を入力

QEの未来はpテストの中に単純作業があることが、QEの地位や価値を下げている

p単純作業がなくなり、スキル(業務理解、ユーザー理解、テスト技法、等)勝負の世界になれば、QEの地位はむしろ向上するのではないか