すべてのデジタルチャネルにおけるスムーズな機能の実現というユーザの期待に応えるため、開発チームは、各地域の市場でのアプリの使用パターンに合わせたテストを実施する必要がある — Eran Kinsbruner氏はこのように主張する。氏はモバイル市場におけるデータ駆動テストのカバレッジのために、デバイス/OSの組み合わせと、エージングや画面パラメータなどのテスト関連のガイドラインを同時に考慮した方法論と指標を開発した。
Perfecto MobileのモバイルエバンジェリストであるEran Kinsbruner氏はSpring Online Testing Conference 2017で、“Building the right mobile test lab for your business”と題した講演を行なった。このカンファレンスに関してはInfoQでも今後,Q&Aや要約,記事を通じて取り上げる予定だ。
講演を終えたEran Kinsbruner氏に、モバイルに関するテストカバレッジ戦略の立案について聞いた。
InfoQ: テストカバレッジが私たちにとって重要な理由は何でしょう?
Eran Kinsbruner: ディジタル世界はかつてないほど複雑化しています。ChromeやFirefoxなどのデスクトップブラウザはパブリックベータやGAを毎月リリースしていますが、モバイルデバイスやOSのバージョンもこれらと同じようなペースで市場に投入されています。それぞれのリリースでは、開発チームとテストチームによる退行試験や機能維持検査といったテストラボの問題だけでなく、新たな機能の導入も行われています。さらにユーザからは、モバイルスマートフォンやタブレット、デスクトップブラウザ、IoTといった区別なく、すべてのディジタルチャネルに共通するスムーズなアプリ機能を求められているという現実があります。こういった期待に応えるには、地域毎に異なる市場での利用パターンに合わせた、最新のテストラボを用意することが不可欠です。テストカバレッジに対する注意を怠れば、カスタマブランドに対するリスクが生じ、競合他社の軍門に降ることになるのです。
InfoQ: モバイルテストのカバレッジはどのように測定するのでしょうか?
Kinsbruner: モバイルテストのカバレッジ測定は難しい問題です。そこで私は、市場での利用状況分析に基づいて、さまざまな角度から市場のデバイスを調査するための方法論を構築しました。
モバイルテストのカバレッジを測定するには、サポート対象地域で最もよく利用されている1位~30位のデバイスに関する使用状況と顧客分析を理解する必要があります。さらに、OSの各バージョンとデバイスの各世代(最新、トレンド、最多、旧型)が、適切な順序でそのリストに含まれていることも確認しなくてはなりません。
iOSに関して言えば、現時点では3つのOSファミリ(iOS 10、iOS 9 — 旧版、iOS 11ベータ)をトップデバイスでカバーする必要があります。ここで問題なのは、iOS 9.3.5のみ実行可能なデバイス(iPhone 4S、iPad Mini)が存在することです。さらにiOS 11が公開されれば、iPhone 5、iPhone 5S、第4世代iPadが、サポート対象OSとしてiOS 10とともに取り残されることになります。Androidに至っては、状況はさらに複雑です。開発者は最新のOSバージョンをサポートしなければならず、そのバージョンにアクセスするにはNexus/Pixelのデバイスを使わなくてはなりません。それ以前のAndroid OSファミリは、需要面からさまざまなOEMに拡がっています。SamsungやLGといったベンダはGoogleに追随しようとしているようですが、最新のデバイスでもAndroid 7.0へのアクセス提供に留まっています — Android 7.0がリリースされてから6ヶ月近い遅れです。モバイル市場のカバレッジを測定し、それをキャッチアップするため、私は、Essential、Enhanced、Extendedセグメントの3層からなる方法論を開発しました。デバイス/OSの組み合わせと、エージングや画面パラメータなどテスト関連のガイドラインを考慮した、地域別の上位32の指標を使って、モバイル市場におけるデータ駆動のテストカバレッジを提供します。この指標には現在のデバイス/OSとレガシだけでなく、市場調査をベースにした、今後普及するであろうプラットフォームのトレンドも加味されています。これらをテストラボに用意することは、開発者とテスタそれぞれにとって大きな意義があります。
InfoQ: エンドユーザエクスペリエンスを可能な限りテストするために、どのようなことができるでしょう?
Kinsbruner: 高度なユーザエクスペリエンスを保証する唯一の方法は、ユーザ環境、すなわちアプリデータとすべてのユーザプロファイルの使用状況を再現することです。アプリ開発者は分析とアプリユーザのストーリに基づいて、以下のようなエンドユーザのプロファイルセットを定義する必要があります。
- ペルソナ(男性、女性、年齢など)
- ロケーション
- ロケーションに基づくネットワーク条件(その地域でサポートされているおもなキャリア)
- バックグラウンドアプリ
- フル以外のバッテリ充電状況
これらの条件を設定できれば、これまで述べたようなデバイスカバレッジでアプリのUXテストを実際に行なう上で、最適なテストラボのセットアップになります。
InfoQ: テスト対象のデバイスとOSバージョンを決定する上でのアドバイスはありますか?
Kinsbruner: 上述した指標の資料として、市場データに結び付いた既存の分析結果を使用すること、そのデータを四半期ベースの継続的プラクティスとして検証および校正すること、この2つをぜひ実施してください。事前の計画も重要です。そのためには、将来的なデバイスとOSバージョン、ブラウザなどのリリースを示したモバイルマーケットカレンダを作成し、活用することをお勧めします。先程の指標に関する資料では、私自身のモバイルとWebのカレンダを提供しています。これには、最新のメジャーOSバージョンにテスト対象の中心を移すべき時期をガイドするために、OSバージョンの採用時期も含まれています。テストカバレッジにおいて重要なのは、ユーザを知り、市場を知り、可能な限りそれに近いものをテストラボで再現可能なことです。
InfoQ: モバイルテストとWebテストを改善するには、どのようにすればよいのでしょう?
Kinsbruner: リリース速度やイノベーション、競争優位性をすべて成熟させるには、パイプラインを通じたビルドプロセス全体を自動化可能にして、機能、UX、パフォーマンスの面から可能な限り多くのテストを含めるとともに、開発者へのフィードバックをより迅速なものにする必要があります。流暢(fluent)なプロセスを確立するためには、最適なカバレッジを持ったテストラボを使用すると同時に、自動化されたビルドサイクルが自立的に運用されていなくてはなりません。コードの変更に対して、正しいプラットフォーム上で特定のレベルのテストが起動されて、適切な洞察を伴った信頼できる結果が開発者に返されることが必要です。それによって意思決定が適切に行われるようになるのです。スキルやツールスイートももちろん、テストプロセス全体において重要な部分です。アプリの機能やチームのスキルなどに準じた、適切なものを選択してください。今日のモバイルテスト環境には、さまざまなオープンソースのテストフレームワークがあります。これらは互いに大きく異なっているため、前述したUXチェックリストのような複雑なシナリオを含むテスト計画全体の自動化や、ベストマッチ決定に先立って詳細な解析を行なうためには、複数のフレームワークを使いこなす必要があります。
この記事を評価
- 編集者評
- 編集長アクション