ATS|テスト自動化

2021.10.21

【第5回】:ATS for Eggplantと他ツールとの比較

開発・QA現場向け「テスト自動化」のススメ

システム開発現場では、アジャイル開発の導入などによりスケジュールが短期化しつつあります。それにもかかわらず、複雑化するシステムのテスト工数は増大しており、テスト工程が開発スケジュールを圧迫する事態も発生しています。

こうした問題に対応するためには、「テスト自動化」が必要不可欠です。しかしテスト自動化の実現には課題が多く、ほとんどの開発現場では適用が進んでいない、あるいは適用しても期待ほどの効果が得られていません。詳しくは、連載第4回の記事をご一読ください。

開発・QA現場向け「テスト自動化」のススメ 【第4回】:テスト自動化の適用における課題

今回は、これら課題の解決策として有力な『ADOC Testing Service (ATS) for Eggplant』の特徴や、一般的なテスト自動化ツールとの違いや優位性についてご紹介します。

『ATS for Eggplant』とは

『ATS for Eggplant』は、テストの設計および実行を並行する「探索的テスト」を自動化するためのプラットフォーム構築サービスです。世界初の探索的テスト自動化ツール『Eggplant』を中核としており、導入コンサルティングから導入後の運用までワンストップのサービスを提供します。

ATS for Eggplantの大きな特徴は、探索的テストに「モデルベーステスト」の要素を取り入れている点、そして高度なAIと機械学習、予測・分析機能を駆使している点。これらによって高精度な結果判定や、テスト実行にとどまらないテスト工程全体の自動化を実現します。具体的には、次章で解説します。

ATS for Eggplantと一般的なテスト自動化ツールの違い

ATS for Eggplantは多くの点で、一般的なテスト自動化ツールと比較して高い優位性を有しています。ここでは下記の6つの観点から、ATS for Eggplant (主としてEggplantの機能) と一般的なテスト自動化ツールの違いを考察します。

 ・自動化方法
 ・結果判定方法
 ・テスト技法
 ・対象テストプロセス
 ・対象テスト種類
 ・対象アプリと動作環境

自動化方法

一般的なテスト自動化ツールの場合、主な自動化方法は2種類あります。1点目は、主にUIテストなどにおいて、ユーザーの操作を記録・再現することで自動化するものです。操作の記録自体は手作業となるため、細かいタイミングが要求される操作の再現は難しい、などの課題があります。
2点目は、主に単体テストなどにおいて、与えられたAPIを用いてテストプログラムを記述する方法です。この方法では、テストの規模が大きいとテストプログラムの記述に多大な工数が必要となります。

一方ATS for Eggplantの場合は、AIがバグ検出リスクの高いテストケースとスクリプトを自動で生成・実行します。最初にシステムの状態遷移などをモデル化する必要がありますが、専用のインタフェースにより短時間で実施可能です。テスターが手作業でシステムを動かしたりテストプログラムを記述したりするのと比べて、大幅な工数削減が期待できます。

結果判定方法

一般的なテスト自動化ツールの場合、テスト結果の判定方法も主に2種類あります。1点目は、プログラムの内部データを解析し、期待値と実行結果の間に差異がないか判定する方法です。この方法では、あくまで内部データのみを参照するため、実際にユーザーが受け取るアウトプットを正確に判定できないケースが発生します。また事前に期待値の設定を手作業で行うこととなり、設定に誤りがあれば正しく結果が判定できません。
2点目は、テスターが目視で結果を判定する方法です。この方法では、テスターのスキルやコンディションによって、テスト品質が大きく変わります。熟練したテスターでも目視確認には限界があり、わずかな表示のずれを見逃してしまうリスクは避けられません。

一方ATS for Eggplantの場合は、画像認識技術にOCR (光学文字認識) を組み合わせることにより結果を判定します。画面上の表示をユーザーと同じ条件下で認識し、期待値との差異を自動でチェックします。これにより高精度な判定が行えるとともに、テスト対象となるプログラムの内部構造に依存しない判定方法であるため、保守性の高い自動化の構築が可能となります。

テスト技法

一般的なテスト自動化ツールの大半は、事前に定義したテストケースに基づいて行う「スクリプトテスト (記述式テスト)」のみ自動化可能です。あらかじめテストケースを手作業で作成する必要があり、テストの規模が大きくなるとテスト設計に多大な工数がかかります。

一方ATS for Eggplantの場合は、探索的テストとモデルベーステストを併用して自動化します。システムのモデルに基づいてAIが自動でテストケースを生成するため、手作業によるテスト設計の必要がありません。そのため、テスターの負荷や人為的なミスを大幅に削減できることはもちろん、テストのカバレッジ (網羅性) を高め、「テスト不足による品質保証の問題」を解決します。

対象テストプロセス

一般的なテスト自動化ツールの大半は、テスト実行のみを自動化可能です。テストの計画や設計、結果の分析などは全て手動で行う必要があります。テスト実行以外のプロセスに多くの工数を費やすこととなり、費用対効果はそれほど高まらないことも少なくありません。

一方ATS for Eggplantの場合は、テストの計画から設計の支援、環境構築、実行、結果の分析やフィードバックにいたる全てのプロセスを自動化可能です。テスト実行だけを自動化することに比べ、高い費用対効果とQCD向上が期待できます。

対象テスト種類

一般的なテスト自動化ツールの大半は、システムの表示や動作が機能要件を満たすか確認する「UIテスト (機能テスト) 」の自動化に限られます。性能やユーザビリティ、セキュリティなどを評価する「非機能テスト」は自動化できない場合がほとんどです。

一方ATS for Eggplantの場合は、UIテストに加えて非機能テストも自動化できます。あらゆるユーザー体験を想定したテストケースをAIが自動生成し、機能要件以外の幅広い観点におけるテストを可能にします。

対象アプリと動作環境

通常テスト自動化の対象となるのは、主にWebアプリ・デスクトップアプリ・スマートフォンアプリの3種類です。テスト自動化ツールによって対象アプリは様々ですが、特定種類のアプリや動作環境しか対応しない製品も少なくありません。

一方ATS for Eggplantの場合は、Webアプリ・デスクトップアプリ・スマートフォンアプリの全てを自動化可能です。さらに、メインフレームからモバイルまであらゆるデバイスやOS、ブラウザを組み合わせたE2Eテストも、環境構築を含めて自動化できます。コロナ禍のリモート開発環境への対応を含め、幅広い開発プロジェクトでの適用を可能にし、柔軟性の高い開発が可能となります。

ATS for Eggplantの適用による自動化のプロセスとは?

今回はATS for Eggplantの特徴や、一般的なテスト自動化ツールとの違いについてお伝えしました。ATS for EggplantはAIや探索的テスト、モデルベーステストを組み合わせることで、他社製品と比べて多くの優位性を生み出しています。

また、ATS for Eggplantは製品ライセンスやシステム購入の必要がない「サブスクリプション型」のサービスです。ツールの初期導入にともなう要員確保や教育の問題解決、維持・管理のコスト削減など、様々な経済的メリットを提供。さらにサービス導入の検討段階において、自動化の適用可否や導入効果を事前に確認する導入検証サービスにより、自動化導入のリスクも回避できます。

ATS for Eggplantが持つ最大の優位性は、テスト実行にとどまらず全てのテストプロセスを高度に自動化できる点です。とはいえ、実際にATS for Eggplantがどのように各テストプロセスを自動化するのか、イメージが湧かない方も多いのではないでしょうか。そこで次回は、実際にATS for Eggplantを適用した場合におけるテストプロセスの手順と、それがもたらすメリットについてご紹介します。

■ ADOC Testing Service for Eggplantの概要へ
■ ADOC Testing Service for Eggplantの資料請求へ

開発・QA現場向け「テスト自動化」のススメ の記事一覧

開発・QA現場向け「テスト自動化」のススメ

  • 2021.11.10
  • 【第6回】:ATS for Eggplantによるテストプロセスとは

BLOG シリーズ 一覧