システムが複雑化すればするほど、テスト工数も増大するソフトウェア開発。不具合のあるソフトウェアをリリースするわけにもいかず、開発現場では増大し続けるテスト工数に頭を悩ませています。
そのような現場の悩みを緩和させるため、開発会社ではソフトウェアのテスト自動化ツールが広く利用されるようになりました。そして昨今、テスト自動化ツールにAI(人工知能)技術が搭載される試みが始まり、現場ではテスト工数の大幅な削減につながるのではと期待が寄せられています。
いかにソフトウェアテストが重要な工程であるかは、ソフト開発の現場にいる者なら誰でも理解していることでしょう。重要であるからこそ、高い精度で丁寧に行う必要があることも、現場の誰もが理解しています。
しかしながら、多くのソフト開発現場では、十分なテストを行う時間や予算、人的資源が不足しているのが現状。加えて昨今では、システムがどんどん複雑化し、それに伴ってテストの工数も増大しています。あらゆる資源が不足している中で、膨大なテストをいかにきちんと行うかは、現場が抱える大きな悩みとなっています。
そのような悩みを解決する一つの手段として、テスト自動化ツールを導入するソフト開発会社も増えてきました。
現場にとっては非常に有効なテスト自動化ツールですが、開発会社の中には、導入コストの高さを理由に依然としてExcelシートを活用したテストを中心としているところもあります。あるいは、コストをかけてテスト自動化ツールを導入したにも関わらず、テストスクリプト作成に手間がかかるとの理由で、ツールを形骸化させてしまっているところもあります。
ところが近年、現場でのそのような実態に対して光明となるべき一つの技術開発が進行しています。それが、AIによるディープラーニングです。
第3次AIブームが進行中と言われる現代、その主流となる技術として注目されているのがディープラーニング(深層学習)です。
ディープラーニングとは、コンピューターが自律的に学習を行うアルゴリズムの一種で、学習を重ねるごとにコンピューターが賢くなるという特徴があります。近年、有名なプロ棋士に勝利したことで知られる囲碁ソフト「Alpha Go」は、まさにAIのディープラーニングを活用したソフトでした。
まだまだ試行錯誤の段階にあるAIによるディープラーニングですが、その技術的な特性から、ソフト開発との親和性の高さが指摘されています。
ソフトウェアテストの現場において広く用いられているテスト自動化ツールですが、テスト自動化を行う前提として、テストスクリプトの作成が必要となります。しかしながら、テストスクリプトの作成に手間がかかることは周知の通りでしょう。
そこで注目される技術がAIによるディープラーニング。テスト自動化ツールにディープラーニング技術を搭載することで、テストスクリプトの自動生成が可能になるという画期的な技術が注目を集めています。
現状、全てのテストをディープラーニングで自動化することはできませんが、GUI(グラフィカルユーザインタフェース)のテストにおいては、すでにAIのディープラーニングが実用段階に入りつつあります。
GUIテストにおいては、すでに各種の自動化ツールが導入されていますが、テストスクリプトの作成自体が難解なため、現場はその膨大な作業工数が悩みとなっています。
テストそのものは人間が作らなければならないというアナログな側面もある以上、現状のままでは、増え続けるテスト工数に追いつくことができません。逆に言えば、テストスクリプトの作成を自動化できれば、その作業工数は劇的に減少するということでもあります。
AIのディープラーニングを応用した技術により、現在、GUIテストの自動作成が実用段階に入りつつあります。
GUIテストにおける自動作成のシナリオは、GUIの外見から想定される操作を踏まえテストを構築していくというもの。さながら、外の景色から状況を想定して自動的に加速や原則、カーブなどを行う車の自動運転に似ています。
一度作成したテストスクリプトは、ディープラーニングによって自律的に蓄えられるため、使えば使うほど新たなシステムへの適応性が拡大。テストスクリプトの作成スピードや精度が、どんどん磨かれていくというものです。
学習すればするほど、能力の精度と汎用性を高めていくディープラーニング。GUIのような定型作業はもちろんのこと、様々な事態が想定される非定型作業においても、その能力が発揮されます。実際に行われている非定型作業の一例が、コールセンターの自動化です。
現在、いくつかのコールセンターの現場では、IBAのディープラーニングを活用したAIプラットフォームを導入しています。録音された電話対応を学習し、音声データをAIにディープラーニングさせることで、コールセンター業務を自動化させるというプラットフォームです。
コールセンター自動化の技術をソフトウェア開発に適用できれば、管理者がコンピューターに対して口頭でテストの概要を説明するだけで、自動的に適切なテストケースを作成できるようになるかもしれません。さらに、作成したテストを自動的に実行できるようになれば、現場の工数は劇的に減少することになるでしょう。
AIのディープラーニングを活用したソフトウェアテストの自動化は、まだその試みが始まったばかりです。ただし、コールセンターでの実用化の例を見る限り、ソフトウェアテストにおけるディープラーニング技術の導入も、もはや時間の問題かもしれません。進化したテスト自動化ツールの誕生に大きな期待が寄せられています。
商品名 | Ranorex (ラノレックス) |
Autify (オーティファイ) |
---|---|---|
商品タイプ | パッケージ型
膨大なテスト工数を |
SaaS型
初期費用を抑えて |
対応テスト |
|
|
実行回数 の制限 |
制限なし |
制限あり
400回/1000回/任意 ※プランにより異なる |
日本語サポート | 導入後のセミナーが充実! | ヘルプサイトが充実! |
体験版 | 14日間 | 14日間 |
※Googleで「テスト自動化ツール」と検索し上位表示されたパッケージ型、SaaS型のテスト自動化ツール21種類の中から、(1)クロスデバイス、マルチブラウザに対応し、(2)日本語のサポートがあり、(3)ノンプログラミングでシナリオ作成が可能なツールをピックアップ(2021年11月1日調査時点)。パッケージ型、SaaS型それぞれの代表商品を選出しました。
【代表商品の選出基準】
☆パッケージ型:上記の条件の通り。
☆SaaS型:上記の条件に加え、公式サイト上に導入事例がもっとも多かったツールを選出。