エムオーテックス株式会社が運営するテックブログです。

TestFlight の外部テストを使って iOS アプリの社内ランニングテストを実施してみた

f:id:mo-nishida:20211126173928j:plain

こんにちは、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] タブ -> [+] ボタンの順に表示します。

f:id:mo-morita:20211122000050j:plain


「新規グループを作成」ダイアログが表示されるので、グループ名 を入力して「作成」ボタンをクリックします。

f:id:mo-morita:20211122000512j:plain

「ビルド(0)」の「+」ボタンをクリックして、先程アップロードしたビルドを選択し、[次へ] -> [審査へ提出] をクリックします。

リリース時と同様に審査が行われます。
今回は審査に 1 日程度かかりましたが、テスト実施前に審査を通しておくことで、本番のリリース時に再度審査が行われても却下されないだろうという安心感を得ることができます。

テスト用アプリを公開する

審査に通ったら、パブリックリンク https://testflight.apple.com/join/xxxxxxxx が App Store Connect から取得できるようになります。

f:id:mo-morita:20211122000922j:plain

このパブリックリンクからベータ版のアプリをインストールすることができます。

テスターにテスト用アプリをインストールしてもらう

TestFlight アプリをインストールしてもらう

外部テスト を実施するには、テスター(テスト対象のデバイス側)に、TestFlight アプリをインストールしてもらう必要があります。

弊社の業務用 iPhone は自社 MDM サービスの LANSCOPE クラウド版の管理下にあるため、情報システム部門と連携しアプリ配信機能で TestFlight アプリを業務端末に一斉配信しました。
配信状況(配信中 / 配信完了)もひと目で把握できるため、配信中の iPhone を所有している従業員には別途 iPhone の状況をヒアリングし参加を依頼しました。

f:id:mo-morita:20211122002724j:plain

テスト用アプリをインストールしてもらう

テスト用アプリをインストールするには、パブリックリンクをテスターに連絡して業務用 iPhone からアクセスしてもらう必要があります。

パブリックリンクとテスト用アプリのインストール手順は LANSCOPE クラウド版のメッセージ配信機能で配信しました。

f:id:mo-morita:20211122003003j:plain

テスト用アプリのクラッシュ情報を確認する

あとは業務用 iPhone を通常利用してもらいます。

異常の発生確認は、今回はクラッシュフィードバック機能を利用しました。

App Store Connect の [マイApp] メニュー -> テスト対象のアプリ -> [TestFlight] タブ -> [クラッシュ] メニューから確認できます。

f:id:mo-morita:20211122003310j:plain

機種や OS バージョンなどが表示され、内部エラーのスタックトレースがダウンロードできます。

今回のランニングテストでは 2 件クラッシュが発生していましたが、両方ともリリース前に修正することができ、ランニングテストにより品質を向上することができました。