ATS|テスト自動化

2022.11.8

【第3回】:Eggplant適用のポイントと適用ケース

多端末テストの高度な自動化に向けて

サービス利用環境が多様化する中で、複数の端末やOS、ブラウザなどを組み合わせて検証する「多端末(マルチデバイス・クロスデバイス)テスト」が重要となっています。多端末テストは環境構築やテスト設計の負担が極めて大きく、効率的に実施するうえでは「自動化」が不可欠です。

しかし多端末テストの自動化にあたっては、異なるOSへの対応やテスト品質の担保など、様々な課題が障壁となります。連載第2回では、マルチデバイス環境におけるテスト自動化のポイントや課題をご紹介しました。詳細は、次の記事をご一読ください。
多端末テストの高度な自動化に向けて【第2回】:留意すべき自動化のメリットと課題

マルチデバイス環境におけるテスト自動化の課題を解決するうえでは、「Eggplant」が有力な選択肢となります。Eggplantは、高度なAI(人工知能)やモデリング技術により、あらゆるテストプロセスを自動化する探索的テスト自動化ツールです。第3回となる本記事では、多端末テストの自動化にあたりEggplantを適用する際のポイントや、具体的な適用ケースをご紹介します。

Eggplantによる多端末テスト自動化の課題解決

結論として多端末テストの自動化における課題の大半は、Eggplantにより解決することが可能となります。ここでは、Eggplantの適用による課題解決にあたって留意すべきことについて解説します。

1.異なるOSへの対応

EggplantはAIの画像認識技術により、異なるOSへの対応を実現します。SUT(テスト対象システム)の画面を画像として認識し、あらゆるオブジェクトの内容や位置を把握。利用環境の違いによる表示のわずかな差異も検出し、Windows・macOS・iOS・AndroidなどOSの種類やバージョンを問わず自動テストの正確な実行を支援します。

他方では、プログラムの解析によりオブジェクトを認識するテスト自動化ツールも存在します。こうしたツールはOSや開発言語への依存度が高く、テストケースによっては認識精度が上がらない場合もあります。その点、SUTのあらゆる表示を画像に落とし込んで認識できるEggplantでは、OSによらず高精度な制御が可能です。

2.端末増加・バージョンアップの負担軽減

Eggplantによる自動化は、SUTを外部の端末から制御する非侵襲的アプローチであり、試験環境を意図せず破壊する恐れがありません。また「Automation Cloud」と呼ばれる機能により、複数端末を用いたテストをリモートで制御・モニタリングできます。試験場所を問わず複数ユーザーへの適切な端末の割り当てが可能なため、リモート開発でも端末の郵送が不要です。

なお「Remote TestKit (リモートテストキット)」などのサービスでは、レンタル端末をインターネット経由でテストに利用できます。ただし、端末の利用には手動によるログインや画面操作が必要なため、テスト自動化ツールがインストールされたユーザー環境からのリモート制御は基本的に困難です。一方、Eggplantの場合は高度な画像認識技術によりOSやブラウザを問わず自動化でき、Remote TestKitのレンタル端末も操作できます。

3.テスト品質の担保

Eggplantによる自動テストは、SUTの外部仕様から導出したテストモデルをベースにしてコントロールします。テストのカバレッジ(網羅率)や過去のテスト結果を勘案し、自動でテストケースを選択・実行。膨大なテストケースからの選定がテスターの判断に委ねられないため、重要なテストケースの実施漏れを防止できます。

テストモデルの活用により、機種やOS違いによる複数テストシナリオの管理も不要になるとともに、不具合リスクの高いテストケースをAIが探索して生成・実行することにより、不具合の流出リスクを低減します。テスト結果判定もAIが画像認識技術により高精度に行うため、テスターによる人的ミスの恐れもありません。

自動化の重要ポイントをカバーするEggplantの利点

連載第2回では、多端末テスト自動化のポイントとして「アジリティ」「カバレッジ」「メンテナビリティ」の重要性をお伝えしました。ここでは、3つのポイントに対するEggplantのベネフィットについて解説します。

1.アジリティ(敏捷性)への対応

Eggplantでは、自動化シナリオの大部分を異なるOS・バージョン間で共有できます。既存の自動化シナリオを別のOSに派生させる場合、OS間のUI差分の調整などだけで容易に流用が可能です。

Eggplantは自動化シナリオの追加・修正により生じる作業量を抑えるとともに、既存シナリオの修正に手間がかからないため、SUTの予期しない機能追加や仕様変更にも迅速に対応できます。また、端末数の制約により旧バージョンのOSやブラウザへのダウングレードが必要なケースも考えられます。このような場合でも、自動化シナリオに起因する作業を最小化し、QA現場の混乱を抑制することができます。

2.カバレッジ(網羅性)の課題を解決

Eggplantであれば、手作業では到達できないほど膨大なテストケースを自動で生成・実行できるため、非機能要件テストを含む、様々な種類のテストにわたり効率的に設計・実行ができ、カバレッジの飛躍的な向上につながります。

多端末テストにおいては、論理的に想定しづらいユーザーの挙動をいかに効率的にリストアップするかが肝要ですが、Eggplantは手動の多端末テストで発生するテストケースの取捨選択もAIが高精度に行います。OSやバージョンごとに異なるテストケースを選択することもでき、人間の判断ミスによる不具合流出の恐れがありません。また、カバレッジは視認性の高いUIにより可視化され、テスト進捗管理の効率化にも寄与します。

3.メンテナビリティ(保守性)の工数を削減

Eggplantのテストモデルは、OSやSUTのバージョンが異なる場合でも大部分を流用することが可能です。1つのテストモデルをベースに複数OSやバージョンアップの対応ができ、保守作業に要する工数の大幅な削減につながります。

また、複数の端末による双方向の通信をともなうE2Eテストであっても、1つの自動化シナリオによって横断的にカバーすることができます。そのため、自動化シナリオの無秩序な増加による保守作業の複雑化を回避でき、修正漏れといった人的ミスの防止も可能です。

Eggplantによる多端末テスト自動化の手順

Eggplantにより複数OSの自動テストを実現するための大まかな手順は、次の通りです。

  1. 1つの端末でテストモデル・テストスクリプトを作成する。
  2. OS間のUI差分を抽出し、テストモデル・テストスクリプトへ反映する。

この手順は、いずれも操作性の高いEggplantのUIにより直感的に実施できるため、手動のテスト自動化と比べて飛躍的な工数削減が期待できます。なお、OSやバージョンなどの違いによるSUTの差分は、「Auto Update」と呼ばれる機能により自動で検出・修正が可能です。

多端末テストにおけるEggplantの適用ケース

最後に、多端末テストにおけるEggplantの適用ケースを3例ご紹介します。

ケース:メールアプリにおける多端末テストの自動化

メールサービスを提供するA社では、タブレット版アプリのリリースに向けて多端末テストの実施が必要でした。しかし、複数端末間の通信をともなうE2Eテストには多大な時間を要します。iOSやAndroidといったOSのバージョン違いも考慮するとテストケースはさらに膨大となり、スケジュールされた納期までテストの完了が困難という状況が常態化していました。

そこで、多端末テストの自動化にEggplantを採用。1つのテストモデルから複数端末のテストスクリプトを容易に生成できるようになり、E2Eテストに要するテスト工数の大幅な削減に成功しました。

ケース:多端末に対応する銀行向けアプリのE2Eテストに適用

コアバンキングシステムを提供するB社のモバイルアプリ開発では、様々な端末からの利用を想定したE2Eテストが欠かせません。顧客となる銀行が採用するモバイルプラットフォームも、エンドユーザーの利用環境も多岐にわたるためです。しかし、多端末のE2Eテストにはセキュリティなど環境構築の課題に加えて、膨大なテストケースへの対応が求められ、従来の人手では実施が困難でした。

そこで、多端末テストの自動化にEggplantを採用しました。複数の利用環境でテストケースやテスト計画を再利用でき、また広範囲なテストプロセスの自動化により大幅な工数の削減を実現。テストサイクルに費やす時間を短縮し、遅延のないリリースの実現につながりました。

ケース:多端末の利用を想定したモバイルサービスの稼働監視

Eggplantは複数端末の操作を容易に自動化できる点から、サービスの稼働監視にも採用されています。モバイルサービスを提供する通信会社大手のC社は、あらゆる端末、ユーザーにより絶えず利用される性質上、インフラ障害の発生による影響が非常に大きく、迅速な対応が不可欠です。しかし、現場の担当者による従来の障害対応には多大な労力を要する上に、システム側で検出できないサイレント障害などへの対応は困難でした。

そうした課題解決のためにEggplantの機能を活用し、自動サービス監視システムを構築しています。モバイル端末による操作内容を解析し、画面遷移の成否、応答時間などを自動で監視。障害検出時における担当者への情報共有や原因の特定を自動化し、監視業務の飛躍的な効率化や、スピーディーな障害対応を実現しました。また、サービスの操作内容はスクリプトとして記録されるため容易に再現や他環境への展開ができ、運用・保守作業の負担軽減にもつながりました。

多端末テストの自動化で、ニューノーマル時代をリードする品質保証を

本連載では、多端末テストの基礎知識から自動化のポイントや課題、Eggplantの適用例までお伝えしました。

昨今のソフトウェアテストにおいては、あらゆる利用環境を想定した多端末テストの重要性が高まりつつあります。しかし、複数端末の調達や膨大なテストケースへの対応など、QA担当者の負担は決して軽くありません。高品質な多端末テストを適用するにあたっては、アプリケーションがあらゆるデバイスやOSで効果的かつ効率的に機能することを保証するEggplantによる自動化が大きく寄与します。

ただし、多くのテスト自動化ツールの適用には専門的な知識や経験が求められ、導入期間や費用対効果は教育体制や担当者の経験・スキルなどに大きく左右されます。Eggplantはローコードによる実装が比較的容易なものの、開発チームの現有リソースに負担をかけずに速やかな適用を検討する際には、国内最多のEggplant認定資格技術者がコンサルティングから設計、実装、運用までワンストップで支援する「ADOC Testing Service (ATS) for Eggplant」サービスの利用も有力な選択肢となるでしょう。

多種多様なサービス利用環境に対応した上質なユーザー体験を提供するために、ニューノーマル時代の品質保証にも変革が求められています。

多端末テストの高度な自動化に向けて の記事一覧

多端末テストの高度な自動化に向けて

  • 2022.11.8
  • 【第3回】:Eggplant適用のポイントと適用ケース

BLOG シリーズ 一覧