講演内容
タイトル:「AI-Driven Testing: A New Era of Test Automation」
jasst.jp
講演資料
JaSSTイベントレポートで公開されると思います。
講演中のツイートまとめ
こちらでまとめられてました。
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%のカバレッジを求めていないことだそうです。
精度を高めることを今は求めているとのこと。
講演資料を参考に作ったグラフが↓です。
UlitmateSoftwareはOSSで公開中
現在開発中の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のツール(サービス)
- Automated software testing - mabl
- AI-Powered Test Automation | test.ai
- AI Powered Visual UI Testing & Monitoring
- Sofy.ai
- Diffblue - AI for Code
- Eggplant - Delivering True Test Automation
- 日本語のもあった→ テスト自動化ツール Eggplant | 丸紅情報システムズ
- Apptest.ai | Mobile App Test
- Automation Testing with Machine Learning | Functional Testing Framework | Functionize
- TestRigor - Autonomous Testing
- Agile, self-healing End To End test automation that everyone can use
- HR Software Solutions & Payroll for Human Capital Management - Ultimate Software
講演中のメモ
後半は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