ATS|テスト自動化

2022.10.14

【第2回】:留意すべき自動化のメリットと課題

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

サービス利用環境の多様化にともない、昨今では「多端末(マルチデバイス・クロスデバイス)テスト」の重要性が高まっています。多端末テストとは利用端末やOS、ブラウザなどの違いを加味した検証により、アプリ品質を保証するテスト手法です。

連載第1回では多端末テストの重要性やポイントをご紹介しました。詳細は、次の記事をご一読ください。
多端末テストの高度な自動化に向けて【第1回】:混在するデバイス/OS/ブラウザ環境への対応

しかしながら、テスト範囲が著しく拡大する多端末テストは、開発・QA現場への適用にあたり大きな負担をともないます。複数の端末とOS、ブラウザを組み合わせて、漏れのないテストを実施する物理的な環境の準備はもちろんですが、網羅性の高い効果的なテストケース作成や実行など、高品質な多端末テストを実施するうえで、「自動化」の適用が欠かせません。

第2回となる本記事では、多端末テストを自動化するうえでのポイントと課題をお伝えします。

マルチデバイス環境におけるテスト自動化のポイント

ここでは、マルチデバイス環境において留意すべきテスト自動化のポイント3つについて、順番に解説します。

ポイント1:アジリティ(敏捷性)

現代のサービス開発に求められるアジリティは、テスト自動化においても非常に重要です。アジャイル開発の採用が拡大する昨今では、リリースサイクルが短期化しています。また、競合他社に対抗してサービスのリリース時期を早めるなど、市場の状況に合わせて開発スケジュールの調整が必要となるケースもあります。

マルチデバイス環境の自動テストは、こうした状況変化に対して機敏に対応できなければなりません。たとえば急遽画面にボタンが追加された場合、テストシナリオの追加やテスト対象システム(SUT)への適用といった作業が発生します。こうした作業に多くの工数を要するのでは、リリースも遅れることになります。

予期しない機能追加や仕様変更であっても、柔軟・迅速に対応できるテスト自動化プラットフォームの構築が肝要です。

ポイント2:カバレッジ(網羅率)

多端末テストのカバレッジをいかに向上させるかは、単端末テスト以上に慎重な検討が必要です。モバイル端末はパソコンと比べてユーザー操作の自由度が高く、テストケースが容易に増大します。端末・OS・ブラウザといった要素を全て組み合わせるとテストケースは膨大となり、全てを自動化によりカバーすることは現実的に困難です。

限られた工数の中でテスト成果を最大化するうえで、テストケースの選定やテスト観点の標準化が欠かせません。テスト観点や要素の組み合わせに優先順位を付け、「どこまでテストするか」という落としどころを明確にする必要があります。

しかし、検証を見送ったテストケースで不具合が発生すれば、ユーザークレームへの対応は避けられません。納期を優先するあまりテストのカバレッジを軽視することは、かえって負荷を増大させる恐れがあります。多様化するユーザー体験を幅広くカバーするためには、広範囲なテストに対応できる網羅性の高いテスト自動化ツールの選定が肝要です。

ポイント3:メンテナビリティ(保守性)

多端末テストを自動化する場合、機種やOS、ブラウザといった要素ごとにテストシナリオを用意する必要があります。機種やOSに固有の機能があったり、ブラウザごとに表示仕様が異なったりするためです。サービスの利用条件に合わせてテスト自動化を適用しなければならず、保守作業の労力は少なくありません。

端末数が増えれば保守作業の工数も増大し、テストのスケジュールを圧迫します。保守作業に要する工数を最小化するためには、メンテナビリティの高いテスト自動化を実装することが重要です。新しい機種やOS・ブラウザのアップデートに対して迅速に自動テストを適用できれば、テスト担当者の負担軽減につながります。

マルチデバイス環境におけるテスト自動化の課題

一方、マルチデバイス環境におけるテスト自動化には、主に3つの課題が存在します。

課題1:異なるOSへの対応

多端末テストの自動化では、様々なOSの違いをケアできるプラットフォームが必要です。しかし、特にモバイル端末の場合、iOS・Androidの両OSに対応できるテスト自動化ツールが多くありません。複数のプラットフォームを採用すると煩雑な上にコストも増大し、費用対効果の向上は難しくなります。

また、各OSに固有の仕様をテストに反映しなければならず、テストシナリオを共通化することが困難です。手動操作を記録・再現する形式のテスト自動化ツールでは、OSごとに操作が必要となる場合もあり、工数の増大が避けられません。

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

多端末テストを継続していくうえで、端末の増加やバージョンアップへの対応は大きな負担をともないます。端末の調達やOS・ブラウザのアップデートに加えて、テストシナリオへの適用も必要です。また、端末数やバージョンが変更される度に、IT資産管理も適切に行わなければなりません。

こうした作業の多くは自動化が難しく、全てを手動で行えば保守作業の工数は多大なものとなります。QAエンジニアの負担を軽減するためには、やはりテスト自動化ツールの選定が肝要です。テストシナリオの保守に多くの手動操作をともなうテスト自動化ツールでは、工数の増大が避けられません。

課題3:テスト品質の担保

端末の機種やOS・ブラウザのバージョンが異なる場合、別のテストシナリオとして管理しなければなりません。ユーザーがいる限りは古いバージョンであっても廃止できず、開発サイクルを繰り返すたびにテストシナリオが増えることとなります。複数テストシナリオの管理は人的ミスを誘発し、テスト品質にも悪影響を及ぼします。

QAエンジニア自身がテストスクリプトを実装する場合、実装の漏れやミスをゼロにすることは困難です。また、テスト設計やテスト結果判定がテスターに委ねられるテスト自動化ツールも少なくありません。テスト実行を自動化できたとしても、前後のプロセスで人的ミスが生じれば、テスト品質の低下につながります。

高品質な多端末テストを実現するためのソリューションとは?

今回は、多端末テストを自動化するうえでのポイントや課題をお伝えしました。多端末テストの実施に際しては、検証の目的と範囲、現状の品質課題を明らかにし、最適なテスト計画を策定・実行します。しかし多端末テストは保守作業の負担が大きく、テスト品質低下のリスクを抱えています。

このように、実施のハードルが高いと言われる多端末テストを実現するにあたっては、自動テストの導入と機能性の高いツールの選定が重要な検討課題です。しかし多くのテスト自動化ツールは、多端末テストの課題への対応を得意としていません。

多端末テストの課題を解決するうえでは、AI(人工知能)を搭載し網羅性を飛躍的に高めた探索的テスト自動化ツール「Eggplant」と、同製品をコア・ツールに採用した、テスト自動化プラットフォーム構築サービス「ADOC Testing Service (ATS) for Eggplant」が有力な選択肢となります。

第3回では、Eggplantを適用する際のポイントや、具体的な適用ケースをご紹介します。

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

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

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

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

BLOG シリーズ 一覧