2021.11.10
【第6回】:ATS for Eggplantによるテストプロセスとは
スピード感が求められる現代の開発・QA現場にとって、「テスト自動化」は重要なテーマのひとつです。しかしながら、テスト自動化を現場に適用する上で、多くの課題が存在します。こうした課題の解決策として有力となるのが、『ADOC Testing Service (ATS) for Eggplant』です。
ATS for Eggplantは、高度なテスト自動化のプラットフォームを構築する革新的なアプローチです。導入から運用までをワンストップで支援することにより、飛躍的なQCDの向上を実現します。連載第5回では、ATS for Eggplant (主としてEggplantの機能) と一般的なテスト自動化ツールの違いについてご紹介しました。詳細については、前回の記事をご一読ください。
開発・QA現場向け「テスト自動化」のススメ 【第5回】:ATS for Eggplantと他ツールとの比較
ATS for Eggplantの導入により、あらゆるテストプロセスを自動化できます。今回は、ATS for Eggplant適用後のテストプロセスの特長を通じて、それがもたらす強みやメリットについてご紹介します。
ATS for Eggplantを適用した場合のテストプロセスとは
システムのテストでは、下記の手順でプロセスを実施することが通例です。ATS for Eggplantはこれら全プロセスの自動化に寄与し、テストの工数削減・品質向上を実現します。
1. テスト計画
2. テスト設計
3. テスト環境構築
4. テスト実行
5. テスト結果分析
6. テスト結果フィードバック
ATS for Eggplantの適用により各プロセスがどのように自動化されるのか、順番に解説します。
テスト計画
一般的なテスト計画では、テストベース (テスト対象システムの仕様書や設計書) を分析し、手作業でテスト計画書を作成することとなります。テストの目的や観点、範囲など検討事項は多岐にわたるため、多くの工数を費やすプロセスです。
一方ATS for Eggplantを適用することで、テストケースの自動生成が可能となります (詳細は後述)。そのため、テストケースに落とし込むためのテスト計画書を手作業で作成する必要は殆どありません。テストケースの分析においても、過去の膨大なデータを活用することで大幅に省力化できます。ATS for Eggplantで過去に実施したテスト結果やその分析から得た知見は、全てデータベースに蓄積されるのです。
テスト設計
一般的なテスト設計では、テスト計画や開発ドキュメントにもとづいて、テスト仕様書を作成します。システムの網羅的なテストには膨大なテストケースが必要となるため、工数の増大は避けられません。また、テスターの経験やスキルを活用したとしても、人的なミスやテストケースの漏れを防ぐことは困難です。
一方ATS for Eggplantの場合は、テスト設計をテスト実行と並行する「探索的テスト」を自動化します。高度なAI (人工知能) が、システムの特性や過去のテストデータにもとづき、バグ検出リスクの高いテストケースやスクリプトを自動生成するのです。手作業によるテスト仕様書の作成がほぼ不要となる上に、バグハンティングを効率化し、テスト品質向上に寄与します。
なおATS for Eggplantによる探索的テストでは、「モデルベーステスト」の手法を組み合わせて行います。インプットとなるシステムのモデル化は、画面キャプチャや洗練されたUI操作により少ない労力で実行可能です。
テスト環境構築
一般的なE2Eテストでは、実際の利用を想定してユーザー・システム間の通信が行える環境を構築する必要があります。しかし、ユーザー環境はWindowsやmacOSのパソコン、AndroidやiOSのスマートフォンなど様々です。それぞれのユーザー環境に合わせた設定が必要となることも多く、場合によってはテスト対象システムのプログラムを書き換える必要も生じます。
ATS for Eggplantを適用すると、VNCやRDPといった技術によりあらゆるテスト対象デバイスのリモート操作が可能です。システム更新時などの環境構築に要する作業負荷を軽減し、リモートワークの推進につながります。また、テスト実行はAIの画像認識により自動化されるため、各種デバイスやOS、ブラウザの違いに起因する設定も省力化できます。
テスト実行
一般的なテスト実行では、作成したテストケースにしたがってテスターが操作を行います。しかし手作業では操作ミスが発生しやすく、再テストに工数を費やすばかりか、バグを見逃すリスクさえあります。テストケース数が増大すれば、工数やバグ流出リスクの増加も避けられません。
また大半のテスト自動化ツールは、テスト実行のみの自動化をサポートしています。専門性の高いプログラミング言語を用いるツールが多く、熟練したエンジニアが求められるケースも少なくありません。さらに、システム更新時の回帰テストを行うたびに、自動化シナリオのメンテナンスに多大な工数が必要です。
その点ATS for Eggplantの場合は、モデルから自動生成されたスクリプトにしたがってテスト実行します。膨大なテストケースを生成しつつ高速で実行できるため、テスト実行に要する工数を大幅に削減することが可能です。手作業による操作ミスも防止でき、大幅なテスト品質向上に寄与します。
スクリプトの調整には「SenseTalk」と呼ばれる言語を用い、英語をベースとしたシンプルな文法により、専門的なスキルを必要としません。また、システム変更時にはモデルを更新するだけでスクリプトのメンテナンスが完了するため、回帰テストの工数も大幅に削減できます。
テスト結果分析
テスターの手動によるテストでは、目視によるテスト結果の確認が必要となり、人的ミスを防ぐことは困難です。また、バグ検出時には開発者への報告がスムーズに行えないと改修作業も遅れ、リリース日程に影響を及ぼしかねません。
一方ATS for Eggplantの場合、AIの画像認識により高精度なテスト結果の判定が可能です。数ピクセルのわずかなずれも正確に検出でき、バグ流出のリスクを大幅に削減できます。さらに、バグ検出時には画面キャプチャを自動で関係者へメールで展開できるため、迅速な改修作業が可能となります。
テスト結果フィードバック
短いサイクルを繰り返すアジャイル開発では、テスト結果の分析により得た知見を次のサイクルにフィードバックすることが重要です。しかし、膨大なテスト結果の中から有用な情報を見つけ出すことは、容易ではありません。
ATS for Eggplantを適用することにより、膨大なテスト結果のカバレッジ (網羅性) を可視化でき、フィードバックやリリース判定が容易となります。また、AIのディープラーニング (深層学習) を駆使することで、人間では発見が難しい多くの知見を得ることも可能です。得られた知見を次期開発に活かすことで、テストサイクルの継続的な改善が可能となります。
テストプロセス全体の自動化を実現し、DX時代をリード
今回は、ATS for Eggplantを適用した場合のテストプロセスについてご紹介しました。ATS for Eggplantの導入によって、テストプロセス全体の自動化・効率化が可能となります。また、AIによる高精度なバグハンティングを実現し、開発・QA現場におけるQCDの劇的な向上を実現します。
開発サイクルが短い現代のサービス開発にとって、スピード感・正確性を両立したソフトウェア品質の向上が重要課題です。ATS for Eggplantの適用によりテストプロセス全体を最適化することが、こうした課題を解決する有力な手段となります。
テクノロジーが身近な存在となったことで、ユーザーがサービスに求めるものも多様化しています。ユーザーの細かいニーズへの対応を可能にする手法として、開発と運用が一体となった「DevOps」の注目度も高まっています。これからのサービス開発には、テストそのものの抜本的な改革が求められることは間違いありません。
■ ADOC Testing Service for Eggplantの概要へ
■ ADOC Testing Service for Eggplantの資料請求へ
- 2021.11.10
- 【第6回】:ATS for Eggplantによるテストプロセスとは