モバイルアプリ開発では実機スマートフォンを使った検証が必要になります。

私たちのチームでは、新規アプリ開発でRemote TestKitというクラウド型モバイル端末レンタルサービスを利用し、効率的に実機検証を行うことができました。本記事ではモバイルアプリの開発者に向けて、実機検証の必要性や課題、課題解決に向けたサービス活用事例を紹介します。

モバイルアプリ開発における実機検証の必要性

モバイルアプリ開発では実機検証が必要です。

AndroidエミュレータやiOSシミュレータを使うことで動作確認できますが、それらはパソコン上での動作環境であるため実機スマートフォン端末の動作環境とは異なります。

また、カメラや画面輝度制御といったハードウェア機能を利用する場合は実機でテストすることで動作を確認できます。

実機検証の課題

多様化する端末と端末準備・管理の負担

AndroidとiOSそれぞれで、OSバージョンや画面サイズの違い、メーカーごとの挙動の差異など、動作環境には多数のバリエーションが存在します。アプリストアでアプリを公開・配布する場合は、不特定多数のユーザがアプリをダウンロードするため幅広い機種での動作を保証するために多数の機種での検証作業が必要となります。

実機テストで十分な網羅性が担保できない場合、特定の端末でしか発生しない表示崩れや動作不正を見逃してしまうリスクがあります。

一方で、毎年新しく発売されるスマートフォンを都度購入していく場合は、コストが増大してしまうことに加え、購入したスマートフォンの資産管理も開発チームの負担となってしまいます。

クラウド型モバイル端末レンタルサービスの導入 背景と狙い

プロジェクト概要

一般公開予定のモバイルアプリ新規開発プロジェクトにおいて、想定する利用者が幅広いことを踏まえ、様々な端末バリエーションで快適なUI・UXを実現できているか検証する必要がありました。

アプリは東京と大阪の2拠点で開発しており、2拠点で実機テストの環境を整えたいという考えがありました。

サービス導入の決め手

Remote TestKitというクラウド型モバイル端末レンタルサービスの導入を決定しました。

理由は、以下になります。

  • 最新機種から旧機種まで幅広い機種を使用できること(旧機種の実機を自力で集めることは困難)
  • 普段の勤務環境からアプリの実機検証が可能でテスト実施を効率化できること(テストセンターのように現地に行く必要がないこと)
  • クラウド型サービスのため2拠点から同じテスト環境を利用可能であること

      Remote TestKitとは?

      サービス概要

      Remote TestKitは、パソコンからさまざまな実機スマートフォンやタブレットをリモート操作できるサービスです。インターネット経由で端末にアクセスし利用できるため、普段の勤務環境からアプリの実機検証が可能になります。

      remote TestKitの利用イメージ

      利用可能な端末・OS

      iOS、Androidの最新機種から旧機種まで幅広くカバーしています。一般的な端末だけでなく、タブレットや折り畳みスマートフォン、高齢者向け端末なども利用可能です。

      https://appkitbox.com/devicelist/

      Remote TestKit導入プロセスと活用方法

      利用した端末やOSバージョン

      開発時点のOS最新3世代に加えて、メーカーや画面の大きさにバリエーションも持たせられるようにテスト対象端末を選定しました。

      機種名 OSバージョン 解像度(画面サイズ)
      iPhone 15 Plus iOS 17 1290*2796(6.7インチ)
      iPhone 14 iOS 16 1170*2532(6.1インチ)
      iPhone SE3 iOS 15 750*1334(4.7インチ)
      Pixel 8 Android 15 1080*2400(6.2インチ)
      Galaxy S23 SC-51D Android 14 1080*2340(6.1インチ)
      Xperia 1V SO-51D Android 13 1644*3840(6.5インチ)
      AQUOS wish3 Android 13 720*1520(5.7インチ)
      Galaxy Z Fold5 SCG22 Android 14 1812*2176(7.6インチ)
      Raku-Raku SMART PHONE F-52B Android 11 1080*1980(5.0インチ)

      利用手順

      大まかな利用手順を記載します。

      1. アカウントにログインする
      2. 利用可能端末一覧から使用したい端末をレンタルする
      3. レンタルした端末にテスト用アプリをインストールする
      4. テストを実施し、スクリーンショットや画面録画で証跡を残す
      5. 端末を返却する(自動で初期化される)

      詳しい操作方法はRemote TestKitの公式サイトをご参照ください。

      https://appkitbox.com/doc/software_ui/

          導入効果と得られたメリット

          テスト実施までのリードタイムの短縮

          新規の端末購入では発注プロセス(見積もり、発注、納品)のリードタイムが大きいです。一方で、Remote TestKitの場合は使いたい端末が利用可能端末一覧にあればすぐに利用開始できます。

          サービスへの契約のみでテスト環境の準備ができるため時間と手間を減らすことができました。

          また、リリース後のトラブル対応でも問合せがあった端末の同シリーズの端末で再現性確認を行うことで、端末シリーズ固有事象なのかユーザ固有事象なのかという原因の切り分けを素早く行うことができました。

          複数拠点で負荷分散

          オンラインで端末をレンタルしてテストを実施するため、複数拠点のメンバーが誰でもテストを実施でき、作業負荷を分散できました。

          また、そのためのテスト環境の構築もRemote TestKitへの接続環境を用意するだけのため、同一端末を拠点数分購入することに比べ初期コストを抑えることができました。

          旧機種・旧OS利用の簡便さ

          Remote TestKitでは利用可能端末一覧に5年以上前の端末もラインナップされています。旧機種を仕入れることは現行機種と比べ難易度が高くなりますが、Remote TestKitを利用することで簡単に旧機種でテストできました。

          また、利用可能な機種はそれぞれが発売当時のOSバージョンがインストールされています。私たちのチームでは最低動作バージョンを指定し、セキュリティリスクのある古いOSバージョンではアプリをインストールできないことを確認することで、セキュリティリスクを下げることができました。

          端末バリエーションによる画面表示不正の検出

          画面の大きさに起因する不具合を検出することができました。

          例えば、画面が小さい端末では文字が見切れてしまっている、画面が大きい端末では画像が引き延ばされてしまっているといった事象を検出できました。

          また、画面不正にならないまでも、機種ごとの標準フォントや標準ブラウザによる表示の違いを開発中に把握することができました。

          端末依存の不具合を事前に発見できリリース時のプロダクト品質を高めることができました。当初の目的であった「幅広い端末バリエーションで快適なUI・UXを実現できている」ことを達成することができました。

          デメリット

          人気機種の争奪戦

          OSのメジャーバージョンアップ直後には、多くのユーザが最新OS端末を使って動作確認しようとするため、その機種を借りにくい状態になりました。17:30以降は比較的借りやすくなるため、テスト実施を夜の時間帯にずらす工夫が必要になりました。

          レンダリング遅延が発生する

          Remote TestKitではiOS端末で画面操作が実機にすぐに反映されないことがありました。実機が手元にないクラウド型サービスであるため、操作やレンダリングでラグが発生する可能性があります。私たちの主目的であったアプリのデザインを確認するという観点においては大きな問題にはなりませんでしたが、素早いアニメーションの確認では実機を使用した方が良いと思いました。

          実施できないテスト内容もある

          Remote TestKitでは以下の機能について確認することができませんでした。

          • カメラ
            • 黒い画面が映るのみで、特定のものを映しながらテストすることはできません。
          • バイブレーション
            • 動作はするが、実機が手元にあるわけではないため確認することができません。
          • OSの更新
            • 端末が発売された当初のOSがインストールされており、バージョンアップは禁止されています。そのため、OSバージョンを変更してテストすることはできません。

          使用が長期化するとコストが増大する

          Remote TestKitはサブスクリプション契約になるため、毎月サービス利用料が発生します。中長期的なテストを予定している場合は、そのテスト期間を踏まえたコスト計画が必要です。

          まとめ

          クラウド型モバイル端末レンタルサービスのRemote TestKitを使用することで、私たちは効率的に実機検証を行うことができました。

          以下のような開発者におすすめです。

          • 旧機種から最新機種まで多様な機種で実機テストを行いたい
          • 複数拠点で実機テスト環境を構築したい
          • 短期間で実機テストを集中して行う(契約期間が長引くリスクが少ない)

          また、以下のような開発者は別手段でのテストを検討することをおすすめします。

          • カメラやバイブレーションなどのハードウェア機能が重要なアプリを開発している
          • 一瞬で切り替わるアニメーションをテストしたい
          • 動作保証する機種が限定的である

          開発しているアプリや開発拠点数などを考慮してサービス導入を検討いただければと思います。