2024.5.21
【第6回】:機能テストのベストプラクティス
昨今増加しつつあるソフトウェア品質問題を防ぐためには、品質保証チームの抜本的な改革が必要です。QA現場にDX(デジタルトランスフォーメーション)の概念を適用する「品質保証DX」は、その有力なアプローチとして期待されています。
前回は、品質保証DXの三本柱の1つ「テスト実行」における課題や、ソリューションを選定するための要件をご紹介しました。詳細については、第5回の記事をご一読ください。
品質保証の中核とも言えるテスト実行のソリューション選定は肝要ながら、その選択肢は多岐にわたります。また第5回で述べたとおり、機能テスト・非機能テストのそれぞれで異なるソリューションを併用することが理想です。第6回となる本記事では、機能テストの有力なソリューションである「Eggplant」の特長や、関連ソリューションをご紹介します。
機能テストソリューション「Eggplant」とは
Eggplantとは、米キーサイト社が開発・提供するAI(人工知能)技術を搭載したテスト自動化ツールです。AI技術の活用により、「探索的テスト」の自動化を世界で初めて実現しました。探索的テストは、テスターが経験にもとづきテストケースを探索するテスト手法です。
Eggplantは機能テストの自動化を得意としており、UI操作をともなうテストケースを探索的に自動生成・実行できます。海外の世界的なIT調査機関からも高い評価を受けており、金融や製造、教育、ヘルスケアなど、あらゆる業界の自動テストに活用されています。
Eggplantが有する主な特長
品質保証DXの実現にあたって、Eggplantは機能テストの自動化に有効です。ここでは、Eggplantが有する4つの主な特長について解説します。
探索的テストによる経験を問わない自動化
EggplantはAIを活用した独自の方式により、テスターの経験を問わない自動化を可能にします。一般的な探索的テストでは、テスターがテスト結果を加味しながら次のテストケースを選択するため、テストシナリオを細かく作り込みません。その分、開発・テストに関する多くの経験・知識を持つ熟練者でなければ、高精度に実施することは困難です。
しかしEggplantに搭載されたAIは、過去のテスト結果に関する膨大なデータをもとに学習を積み重ねています。これにより、システム特性やテスト結果の傾向などを加味して最適なテストケースを探索することが可能です。熟練者を凌ぐほどの高い精度でAIが探索を行うため、特定の人材に依存することなく高品質な探索的テストが可能となります。
また、画像認識とOCR(光学文字認識)の併用により、探索的テストの結果判定も自動化することが可能です。画面上の表示オブジェクトを画像認識またOCRにより識別したうえで、期待値とのずれを含めて高精度に結果を判定します。これにより、人間の目視確認による結果判定ミスを防ぎ、テスト結果の飛躍的な信頼性向上につながります。
モデルベーステストの併用による網羅性・効率性の向上
Eggplantの探索的テストは「モデルベーステスト」の手法を組み合わせることで、飛躍的な網羅性・効率性の向上を可能にします。モデルベーステストは、テスト対象システム(SUT)の仕様や設計から導出したモデルにもとづき、テストを実施する手法です。
EggplantはSUTをモデル化し、それをベースにテストケースを自動生成します。モデルには考え得るデータパターンや、状態遷移のバリエーションなどが全て集約されます。つまり、あらゆるテストケースをモデルに落とし込むことで、漏れを防止することが可能です。
ただし、膨大なテストケースの中にはテスト効果の薄いものもあり、全てを実行することは効率的とは言えません。EggplantのAIは、バグへの懸念や実施率などから優先すべきテストケースを選択的に実行するため、最小限の実行で高いテスト効果を得ることができます。
テストサイクル全体にわたる自動化
前述のAIによるテストケースの自動生成・探索は、テスト設計まで踏み込んだ自動化を実現しています。一方で、テスト実行のみしか自動化できないテスト自動化ツールは少なくありません。Eggplantであればテスト設計・実行のみならず、テストサイクル全体の自動化が可能です。
たとえば、Eggplantが自動実行したテスト結果は統計情報として集計され、カバレッジやバグ情報などが可視化されます。これにより、テスト分析にともなう作業の自動化が可能です。また、自動テストで不具合が判明した際にはキャプチャなどを添えて関係者へメール展開できるため、テスト結果のフィードバック作業も自動化されます。
このように、テスト実行にとどまらないテストサイクル全体の自動化は、Eggplantの大きな優位性の1つと言えます。
周辺ソフトウェアとの連携が可能
Eggplantは非機能テストソリューションや環境ソリューションなど、周辺ソフトウェアとの連携が可能です。これにより、機能テストと非機能テストの同時実行といった生産性向上につながるアプローチを可能にします。
たとえば、脆弱性を検出できるIASTツールと連携することで、機能テストと並行して網羅的なセキュリティテストも実行することが可能です。またEggplantのテストケースは、デバイスやバージョンをまたいで再利用できます。デバイスやバージョンごとのモデルに合わせてテストケースの実行が可能なため、環境ソリューションとの連携も容易に行えます。
Eggplantの適用効果を最大化するサービスとは
Eggplantの適用効果を最大化するためには、正しく適用するための専門知識が不可欠です。QA現場に合った形でEggplantを適用し、かつ周辺ソフトウェアと適切に連携させるためのノウハウがなければ、効果は限定的となる場合があります。
Eggplantの適用にあたっては、アドックインターナショナルが提供する「AQUADOCX」が有力なソリューションとなります。AQUADOCXとは、品質保証の飛躍的なQCD向上を実現し、開発・QA現場にユーザーのDXを支援する内部エコシステムを構築するサービスです。
同社は国内最多の「Eggplant認定資格技術者」を擁し、Eggplantの適用において信頼性の高いサポートを提供しています。品質計画に沿ったEggplantの導入により機能テストの自動化を図り、開発・QA現場の費用対効果を最大化することが可能です。
テスト実行のソリューションとは?
今回は、機能テストの有力なソリューションであるEggplantをご紹介しました。
■第6回のポイント
- EggplantはAIを活用した探索的テストにより、経験を問わない自動化を可能にする。
- Eggplantの導入効果を高めるうえではAQUADOCXなどのサービスも有力となる。
品質保証DXの実現に向けては、機能テストの要であるEggplantに加えて、非機能テストのソリューションを併用することが重要となります。第7回となる次回は、非機能テストのソリューションである「Seeker」「Elastic Stack」についてご紹介します。
- 2024.6.18
- 【第7回】:非機能テストのベストプラクティス