yoshitake_1201’s diary

テストのこととか、ペンギンのこととか書きます。

JaSST'19 Tokyo 基調講演「AI-Driven Testing: A New Era of Test Automation」の参加ブログ #JaSST19Tokyo #JaSST

講演内容

タイトル:「AI-Driven Testing: A New Era of Test Automation」
jasst.jp

講演資料

JaSSTイベントレポートで公開されると思います。

講演中のツイートまとめ

こちらでまとめられてました。

togetter.com


JaSST'19 Tokyo、基調講演「AI-Driven Testing: A New Era of Test Automation」の参加ブログです。
講演中に私がおぉ!と思ったことや、自分でまとめたいと思ったことなどを中心にしています。
なので講演全体を網羅したものではないです。
※ また英語での講演だったこともあり間違ったことが載っている可能性が、他のブログよりも多分にあります。
ご注意ください。
あくまで自分用にまとめたものです。

以下、まとめです。

テスト自動化とは言っても結局マニュアルテスト

現在の「Automation」は自動化とは言ってもどこかに「マニュアル = 手動」が入っている。
テストを考える部分、コードを書く部分、テスト結果を確認する部分などなど。
なので完全自動化は実現できていない。

AI Testというのは3つの段階(種類)がある

  • AI-Driven Testing (AI駆動テスト)
  • Testing AI Systems (AIシステムのテスト)
  • Self-Testing Sysytems (自己テストシステム)

今回は 「AI-Driven Testing」についての発表でした。

カバレッジギャップを埋める

現状は、ソフトウェアの複雑さ(Software Complexity)とテストカバレッジ(Conventional Test Coverage)に開きがある。
AI-Driven Testingでは、このカバレッジのギャップを埋めることを目的としている。
ここで重要なのはAI-Driven Testingでは100%のカバレッジを求めていないことだそうです。
精度を高めることを今は求めているとのこと。

講演資料を参考に作ったグラフが↓です。
f:id:yoshitake_1201:20190404122706p:plain

UlitmateSoftwareはOSSで公開中

github.com

現在開発中のAPi-Driven Testing のOSSだそうです。
ぜひ使ってみてほしいとのことでした。

※ 他のAI-Driven Testingサービスはこのブログの後半にリンクを載せました。

AI Driven Testの生成は、AIが小説を学習してAIが執筆するのと似ている?

アリス・イン・ワンダーランドの出てくる単語などを学習し、自動で小説を書くというAIがある。
AI-Driven Testのテストケース生成はこれとよく似ている。とのこと。

例えば、あるページに「first name」と出てきたとき、空白を入力して「submit」をクリックするとエラーが出る。
こういったことを学習していけば、AI-Driven Testのカバレッジをあげていくことができる。

感想

背景やスコープなど非常に丁寧な説明でわかりやすかったというのが講演中 & 講演直後の感想です。
ただやはり時間が経つと翻訳だったこともあっていろいろ忘れてしまっていて…(笑)
来年以降、生の英語 & 講演姿を見れるようになりたいと思いました。

ただ、AI-Driven Testについて。
考え方は非常にわかりやすかったかなぁと。
カバレッジが100%じゃないから納得いかないでしょうが、現在あなた達が行っているテストもカバレッジ100%じゃないでしょ?
という説明には「そうだよなぁ」と納得しました(笑)

また、AI-Driven Testが発達していくと、全数テストは可能や殺虫剤のパラドックスがなくなるということになったりするんじゃないかなぁとも思いました。
AI使ったテスト、やっていきたいですね。

AI-Driven Testingのツール(サービス)

www.mabl.com

test.ai

applitools.com

sofy.ai

www.diffblue.com

eggplant.io

apptest.ai

www.functionize.com

testrigor.com

www.testim.io

www.ultimatesoftware.com

講演中のメモ

後半はTLと講演を聞くことに集中したのでメモがあまり取れてなかった。。。

JaSST Tokyo


基調講演

Automation
→ 人間が最終的にやっていること
→ 独立して何かをやっているということ

P19

Automation vs Manual
Automationと言いながらも結局テストケースをManualで作っている。
Manual TestをAutomationしているだけ。

結局最終的にはコードを手で書かないといけない。
それがすごく微妙だよね。という話。
まぁそれが良いとしても、結果が出てきても、それを人が確認しないといけない。

つまり自動化の中身はマニュアルばっかりだよ。


AI- Driven Testing 
Testing AI System
Self Testing System

↑のような流れでAIのテストは発展していかないといけない。

今回は、AI Driven Testing の話だけする。
P22

機械学習について。
種類
教師あり学習
教師なし学習
強化型学習

P27
ソフトウェアテストに対する機械学習の適用

テストついては、無限にドメインがある。
ただドメインが無限ではいけない。
なぜならソフトウェアテストは無限にできないから。

P27からは簡単化して考えた

AI Driven Testは完璧なテストと現実のテストの差分を埋めるためにつかう。

P32
ロボットが学習していく図。
Explore→探索ができる、としよう。
そうしたときに画像を使って学習させることが来でる。
Modelを使えるとしよう
そうするとModelを使って模倣する
いろんなかs夏ができるときに部分できなアプリケーションの観測しかできないときに、前に見たことがあるときにこれがこのモデルだ!と推定することができる。

要チェック
aiipum + test.ai