こんにちは、LANSCOPE クラウド版 MDM 開発チームの森田です。
今回は TestFlight の外部テスト機能を使って、iOS アプリのランニングテストを実施する方法についてご紹介したいと思います。
TestFlightとは
iOS / iPadOS / macOS / tvOS / watchOS / iMessage 向けアプリのベータ版ビルドを特定メンバーに公開して、リリース前にアプリをテストできる仕組みです。
特定メンバーの種類として、内部テスター
と 外部テスター
を設定できます。
内部テスター
は、App Store Connect 上にアカウントを作成しているメンバーにしか公開できず、外部テスター
はパブリックリンクを共有したメンバーなら誰でも参加できます。
今回は社内の不特定多数に参加していただきランニング検証を実施したかったため、外部テスター
としてパブリックリンクを共有する方法を選びました。
※参加可能なメンバー数やビルドの審査時間など他にも異なる点がありますので、公式サイト をご確認ください。
準備する
アプリのベータ版ビルドを App Store Connect にアップロードする
リリース時と同様にアプリのビルドを App Store Connect へアップロードします。
MOTEX では fastlane
を利用して、アプリのメタデータとビルドを管理してアップロードを自動化しています。
(詳細は別の記事で投稿できればと思います)
外部テスターを設定してテスト用アプリを公開できる状態にする
App Store Connect 上で、[マイApp] メニュー -> テスト対象のアプリ -> [TestFlight] タブ -> [+] ボタンの順に表示します。
「新規グループを作成」ダイアログが表示されるので、グループ名
を入力して「作成」ボタンをクリックします。
「ビルド(0)」の「+」ボタンをクリックして、先程アップロードしたビルドを選択し、[次へ] -> [審査へ提出] をクリックします。
リリース時と同様に審査が行われます。
今回は審査に 1 日程度かかりましたが、テスト実施前に審査を通しておくことで、本番のリリース時に再度審査が行われても却下されないだろうという安心感を得ることができます。
テスト用アプリを公開する
審査に通ったら、パブリックリンク https://testflight.apple.com/join/xxxxxxxx
が App Store Connect から取得できるようになります。
このパブリックリンクからベータ版のアプリをインストールすることができます。
テスターにテスト用アプリをインストールしてもらう
TestFlight アプリをインストールしてもらう
外部テスト
を実施するには、テスター(テスト対象のデバイス側)に、TestFlight アプリをインストールしてもらう必要があります。
弊社の業務用 iPhone は自社 MDM サービスの LANSCOPE クラウド版の管理下にあるため、情報システム部門と連携しアプリ配信機能で TestFlight アプリを業務端末に一斉配信しました。
配信状況(配信中 / 配信完了)もひと目で把握できるため、配信中の iPhone を所有している従業員には別途 iPhone の状況をヒアリングし参加を依頼しました。
テスト用アプリをインストールしてもらう
テスト用アプリをインストールするには、パブリックリンクをテスターに連絡して業務用 iPhone からアクセスしてもらう必要があります。
パブリックリンクとテスト用アプリのインストール手順は LANSCOPE クラウド版のメッセージ配信機能で配信しました。
テスト用アプリのクラッシュ情報を確認する
あとは業務用 iPhone を通常利用してもらいます。
異常の発生確認は、今回はクラッシュフィードバック機能を利用しました。
App Store Connect の [マイApp] メニュー -> テスト対象のアプリ -> [TestFlight] タブ -> [クラッシュ] メニューから確認できます。
機種や OS バージョンなどが表示され、内部エラーのスタックトレースがダウンロードできます。
今回のランニングテストでは 2 件クラッシュが発生していましたが、両方ともリリース前に修正することができ、ランニングテストにより品質を向上することができました。