Google Playを使ったテストに関して[アルファ版、ベータ版、リリース版]

# 前置き
この記事では、[Google Play Console](https://developer.android.com/distribute/console?hl=ja)を利用したテストを行う際に選択する必要があるアルファ版、ベータ版、リリース版といったアプリバージョンの違いや、内部テスト、クローズドテスト、オープンテストといったテスト方法の違いについてまとめています。
初めてテストを含めてアプリをリリースする方や、実際にリリースは行わないが、プロセスを確認しておきたい方などの参考になれば幸いです。
アプリリリース方法やテストの設定方法等の具体的な手順は、下記にあります他の方々の記事に非常に分かりやすく詳細に記載いただいていますのでそちらをご参照ください。

[Google Play での Android アプリの配信方法(インストールとアップデート)を試してみる](https://qiita.com/kusokamayarou/items/e3a1319e827bbaa78fc2)
[Google playでのベータ版配布機能について](https://qiita.com/kaa/items/3904845d225d40f9a6ef)

# Androidアプリのバージョンについて(アルファ版、ベータ版、リリース版)
Google Play上にアプリをリリースするにはGoogle Play Consoleを利用します。Google Play Consoleでは下記の3つのバージョンを選択することができます。リリース版に移行するまでにテストを行い、品質を改善することが目的です。
## アルファ版
アプリの安定性が最も低い試験的なバージョン。テストのグループは人数を少なくする。

## ベータ版
アプリのリリース版に近い安定したバージョン。テストのグループは人数を多くする。

## リリース版
最も安定したバージョン。テストは完了していることが前提です。
出典：[アプリのベータ版テストを実施し、初期段階の貴重なフィードバックを得る/適切なテストの種類を選択します。](https://developer.android.com/distribute/best-practices/launch/beta-tests.html?hl=JA)

# テストについて(内部テスト、クローズドテスト、オープンテスト)
アルファ版、ベータ版のテストは、テスターの要件に沿ってテスト方法を下記の3つから選択することができます。

## 内部テスト
- 開発者自身や品質保証部門など、限られた少数のテスターによるテストを行う場合に選択します。
- 限られた少数のテスターのみがGoogle Playストアからアプリをインストールできます。
- テスターはGoogleアカウントかG Suiteアカウントによって登録されます
- テスターは、有料アプリであっても無料でインストールできます

> 有料アプリ: オープンテスト版またはクローズド テスト版を使用して有料アプリをテストする場合でも、テスターはアプリを購入する必要があります。内部テスト版を使用して有料アプリをテストする場合、テスターは無料でアプリをインストールできます。

出典：[オープンテスト版、クローズド テスト版、内部テスト版をセットアップする](https://support.google.com/googleplay/android-developer/answer/3131213?hl=ja)


他のテストと大きく違う点は、リリースからテスターが利用できるようになるまでの時間の短さです。数分でテスターをGoogle Playストアからアプリをインストールできるようになります。
他のテストの場合だと、数十分ないし、数時間待つ必要があります。

## クローズドテスト
- 社員や信頼できるユーザーなどの小規模なグループでテストを行う場合に選択します。
- 内部テストより多くの限定されたテスターが、Google Playストアからアプリをインストールできます。
- テスターはGoogleアカウントかG Suiteアカウントによって登録されます。
- テスターは、有料アプリは購入する必要があります

なお、内部テスト、クローズドテストにおいてテスターに登録されていないGoogleアカウントからのアクセスしてもアプリをインストールすることはできません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/372804/69c9c226-baf9-a968-f77c-550a2147d627.png)



## オープンテスト
- 大規模なグループでテストを行う場合に選択します。
- クローズドテストより多くの不特定多数のテスターが、Google Playストアからアプリをインストールできます。
- テスターは、有料アプリは購入する必要があります。

他のテストと大きく違う点はテスターの範囲です。内部テスト、クローズドテストテストはGoogleアカウントまたは、G Suiteアカウントにより明示的にテスターを登録します。対してオープンテストはテスターの最大数を設定するのみで明示的にテスターを指定することはありません。
URLを知るすべてのユーザーがテスターとしてテストを実施することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/372804/22ac054f-865b-254d-4acc-e3e841b84860.png)


# 各バージョンが選択できるテストの違い
アルファ版、ベータ版で利用できるテストが異なります。
なお、リリース版はテストが完了していることが前提となります。

|  |内部テスト |クローズドテスト  |オープンテスト |
|:-:|:-:|:-:|:-:|
|**アルファ版**  |○  |○  |<font color="OrangeRed">○→✕</font>|
|**ベータ版**  |○  |<font color="OrangeRed">○→✕</font>  |○|


赤字の箇所は以前は選択可能でしたが、2019年現在では選択できなくなっています。前述のアルファ版、ベータ版の位置づけに基づいた変更だと思われます。下記 Android Developers中の記載です。
>オープン アルファ版やクローズド ベータ版のテストを作成することはできなくなりました。すでに開始されている既存のオープン アルファ版やクローズド ベータ版テストには引き続きアクセスできます。
出典：[オープンテスト版、クローズド テスト版、内部テスト版をセットアップする](https://support.google.com/googleplay/android-developer/answer/3131213?hl=ja#start&closed_open_beta&multiply_test&closed_beta&open_beta&closed_groups&games&version_codes&track_status&when_internal_test&internal_test&create_additional_track)

# 各テストにおけるテスター範囲の違い
|  |トラック[^1] |リスト[^2] |テスター |
|:-:|:-:|:-:|:-:|
|**内部テスト**  |1件/アプリ  |1件/トラック  |100人/リスト|
|**クローズドテスト**  |50件/アプリ  |50件/トラック  |2000人/リスト|
|**オープンテスト**  |1件/アプリ  |-  |1000人以上|
オープンテストにおいて、テスターを明示的に登録しないため、リストはありません。
またリストには個人を表すGoogleアカウントを登録または、複数人を表すGoogleグループを登録することも可能です。
Googleグループ内の人数に制限はありません。
>Google グループや Google+ コミュニティでテスターを管理したりできます。Google グループや Google+ コミュニティに人数制限はありません。

出典：[開発チーム向けに追加のクローズド テスト版トラックを作成する](https://support.google.com/googleplay/android-developer/answer/3131213?hl=ja)

なお、以前は、Google+コミュニティもGoogleグループ同様にリストに登録可能でしたが、2019年現在では選択できなくなっています。これはGoogle+が終了することに基づいていると思われます。
>注: 2019 年に予定されている Google+ の終了に伴い、クローズド テスト版のトラックに Google+ コミュニティを追加できなくなりました。Google+ コミュニティを使用してテスターを管理するようにすでに設定している場合は、移行期間中も引き続きご利用いただけます。Google+ コミュニティのテスターを Google グループに移行するか、代わりにメールアドレスでテスターを管理することをおすすめします。

出典：[クローズド テスト版: Google グループでテスターを管理する](https://support.google.com/googleplay/android-developer/answer/3131213?hl=ja)

テスト・リリースを実際に行う前の概要理解に役立てば幸いです。

[^1]: テスト対象のアプリを格納する場所。機能によってバグに対処する開発チームが異なる場合などに、並列して対処するため、追加トラックを設置するといった運用を行う。
[^2]: テスターを登録するユーザーリスト。Googleアカウントで個々人を登録することも、Googleグループで複数をまとめて登録することも可能。



# 参考文献
[オープンテスト版、クローズド テスト版、内部テスト版をセットアップする](https://support.google.com/googleplay/android-developer/answer/3131213?hl=ja#start&closed_open_beta&multiply_test&closed_beta&open_beta&closed_groups&games&version_codes&track_status&when_internal_test&internal_test&create_additional_track)
[アプリのベータ版テストを実施し、初期段階の貴重なフィードバックを得る](https://developer.android.com/distribute/best-practices/launch/beta-tests.html?hl=JA)