2022.9.28
【第1回】:混在するデバイス/OS/ブラウザ環境への対応
テクノロジーの発展やソフトウェア・デバイスの普及にともない、ユーザーのサービス利用環境は多様化しています。パソコンやスマートフォン、タブレットといった利用端末は当然のこと、OSやブラウザなどのソフトウェアもユーザーが選択できます。こうしたマルチデバイスへの対応が、昨今のサービスに求められる重要な要件となっています。
一方、昨今の開発・QA現場においても、様々な実機で動作するサービスを検証し、アプリ品質を保証する「多端末(マルチデバイス・クロスデバイス)テスト」への対応が必須となってきました。しかしながら、多種多様なデバイスにテスト範囲を拡大すれば、当然ながらテストケースは膨大なものに。全開発工数の30~40%以上を占めると言われるテスト工程において、多端末テストの適用は難易度が高く、大きな負担をともないます。
高品質な多端末テストの自動化に取り組むうえで、その重要性やポイント、実現に欠かせないテクノロジーなどに関する理解が不可欠です。今回のADOC TESLABブログでは、マルチデバイス環境における多端末テストの自動化に関して、連載で解説。第1回となる本記事では、多端末テストの重要性やポイントについてお伝えします。
マルチデバイス環境における多端末テストの重要性
スマートフォンやタブレットといったモバイル端末の普及により、モバイルという新しいサービス利用手段が浸透しました。モバイルアプリはもちろん、Webアプリも様々なモバイル端末から利用されることが当たり前となっています。
同一ソフトウェアであっても利用手段が異なれば同じ振る舞いをするとは限らず、機種固有の不具合なども考えられます。あらゆるユーザー体験においてサービス品質を保証するためには、異なる種類の複数の端末、オペレーティングシステム、ブラウザ環境下でこうした利用手段の全てをカバーする多端末テストが求められるのです。
しかし現実には、多岐にわたる端末のテストを全て手動操作で実施する場合、テスト工数は多大なものとなります。テストの負担は無尽蔵に増える一方、開発サイクルの短いアジャイル開発などにおいて多くのテスト工数を確保することは困難です。
多端末テストを短期間で効率的に実施するための施策として、「テスト自動化」の実装が重要となります。ただし、一般的なテスト自動化ツールでは多端末テストへの対応が難しいケースも少なくありません。自動化のポイントについては、第2回で詳しく論じたいと考えています。
検証現場おける多端末テストのポイント
多端末テストを開発・QA現場に適用する際のポイント3つについて解説します。
1.機種選定
シミュレーターによるパソコン上でのテストだけでは、機種固有の不具合を見落とすリスクがあります。そのため実機による確認は避けられず、端末の調達が不可欠です。しかし、あらゆる端末を調達しテストを実施するのでは、膨大な工数の発生は避けられません。
現実には全端末でテストすることは難しく、限られたリソースの中でテストの費用対効果が最大となるような選定が肝要です。サービスの特性や過去の経験などから不具合発生リスクの高い機種を見極めることが求められます。iOS・Androidといった搭載OSの違いは当然のこと、メーカー・通信キャリアの違いによる仕様差分も考慮しなければなりません。
2.端末の入手と管理
機種の選定後は購入・リースなどの調達手段を決め、必要な機種・数量の端末を入手します。調達先によって価格や利用条件が変わってくるため、調達先の選定も必要です。調達の手配時には管理台帳や管理ツールなどに記録し、端末の入手後にはOSバージョンなどを含めてIT資産として適切に管理していくことが求められます。
搭載OSのアップデートはQA担当者が手動で行い、最新の端末状態を常に記録・把握する必要があります。ただし、古いOSを用いるユーザーを想定したテストも必要なため、OSをアップデートするかどうかの判断が必要です。また端末の破損・故障時には、修理依頼や代替機種の調達なども欠かせません。
こうした管理作業には多くの人的コストをともない、往々にしてQA現場の大きな負担となります。端末の入手・管理における課題の解決策として、昨今では「リモートテストキット」や「検証センター」といったサービスによる人的コストの削減が期待されています。
リモートテストキットは、クラウド上の実機を用いてインターネット経由でテストが行えるサービスです。端末を物理的に入手・管理する必要がありません。検証センターは様々な端末をレンタル・テストできる施設で、実際に足を運ぶ必要がありますが、端末の調達が不要となります。
3.テストの実行
入手した各端末について、テスト仕様書にもとづきテストを実行します。しかしデバイスやOSバージョン、ブラウザなどの全組み合わせに同一のテスト仕様書を適用すれば、テストケースは膨大になります。結果確認では機種ごとの違いも考慮しなければならず、全てのテストケースを消化するには途方もない工数が必要です。
現実にはテスターが手動で実施することは難しく、テストスクリプトによる自動化が欠かせません。OSSなどのテストツールを用いる場合、手動でテストスクリプトを実装することになり、相当のリソースと時間がかかります。そのため昨今では、テストスクリプトを自動生成できるテスト自動化ツールを用いることが増えています。
ただし現実としてテスト自動化ツールの多くは、多端末テスト全体のモニタリングができない、テストスクリプトの生成に複雑な実機操作が必要、といった様々な課題を抱えています。新機種やOSアップデートなど継続的な対応が求められる多端末テストの生産性向上にあたり、テスト自動化ツールの選定が極めて重要な要件となります。
マルチデバイス環境におけるテスト自動化のポイントや課題とは?
今回は、多端末テストの重要性やポイントについてお伝えしました。
モバイルアプリやWebアプリの需要増加にともない、新規参入するIT企業も増加しています。ユーザーにとっての選択肢が増えたことで、市場競争におけるサービス品質の重要性も相対的に高まっています。しかし、万が一にも市場不具合が発生すれば信頼性・ユーザー満足度は著しく低下し、市場から脱落する要因となりかねません。
こうしたリスクを最小化するうえで、高品質な多端末テストが不可欠です。しかし前述の通り、手動による多端末テストは膨大な工数をともない、開発・QA現場の大きな負担となります。費用対効果の高い多端末テストを実現するためには、以下について検討していくことが重要です。
- 多端末テスト自動化のポイント
- 多端末テスト自動化の課題
- 多端末テスト自動化の解決策とケース
次回は、マルチデバイス開発におけるテスト自動化のポイントや課題をご紹介します。
■ ADOC Testing Service for Eggplantの概要へ
■ ADOC Testing Service for Eggplantの資料請求へ
- 2022.11.8
- 【第3回】:Eggplant適用のポイントと適用ケース