LoginSignup
1

More than 1 year has passed since last update.

posted at

updated at

モバイルゲームのサブスクリプション型サービスをQAしてみよう

はじめに

先日私の担当するモバイルゲームで、サブスクリプション機能(以下サブスク)がリリースされました。
プラットフォーム(以下PF)の機能を使用した定期購入のリリースは弊社で初めてであったため、色々と苦労することが多かったので、ナレッジとしてまとめてみたいと思います。

本記事のターゲット

本記事では、AppleのAppStore、GoogleのPlayStoreでそれぞれ提供している定期購入システムを利用して、
モバイルゲームでサブスク型のサービスを提供するケースをターゲットとしています。
具体的には、「月○○円を定期的に支払う代わりに、期間内はゲーム内で何らかの特典が発生する」
といったような機能のことを指しています。
今回は↓のようなサービスを想定して、記事を書いていきたいと思います。
image.png

サブスク型サービスのテストの流れとフェーズごとのTips

サブスクのテストをフェーズに分けて、各フェーズのタスクやTipsを記載するという形で流れを説明していきたいと思います。
今回はザックリと以下の4つに分けています。

  • 環境準備
  • テストケース作成
  • テスト実施
  • リリース後

※サブスク以外でも確実に実施するようなタスクは省略しています。

環境準備

サブスクの検証を行うために必要な環境の準備です。

タスク 説明 Tips
課金検証環境の準備 サブスクリプションの検証時は、疑似課金が出来るsandbox環境が必須です。
下の記事等を参考にして、プロダクトチームに環境を準備してもらってください。
https://qiita.com/Masataka-n/items/6f98a5a9fee7b28ccd1f
https://qiita.com/soratyan/items/91423b9d0d474cb044c7
sandbox環境ではサブスク継続期間は5分で固定されます。
5分間でコンテンツが確認しきれない場合は別途デバッグ機能の用意等が必要になります。
課金用アカウントの準備 iOS/Androidそれぞれで課金検証用のアカウントが必要です。
-iOSのテスト課金アカウント準備
AppStoreConnectでdeveloper以上の権限を持っていれば、sandboxアカウントが作成できます。
https://developer.apple.com/jp/apple-pay/sandbox-testing/
-Androidのテスト課金アカウント準備
Playコンソールから課金テスターを追加できます。
https://support.google.com/googleplay/android-developer/answer/6062777?hl=ja
実在のメールアドレスが必要かつ、権限付与したアカウントは、組織内のすべてのアプリに課金の権限を持ちます。
検証端末の準備 検証に使用する実機端末の準備です。 iOSの場合、14以降では無料や割安でサービスを提供する、トライアル期間のリセットが行えます。
AndroidやiOS14未満の端末ではトライアル期間のリセットは出来ないので、複数回検証する場合はその数だけアカウントが必要になります。
デバッグ機能の準備 サブスク検証に必要なデバッグ機能の準備です 以下のようなデバッグ機能があると便利でした。
どんな時に使ったかは、テスト実施の項目で記載します。
・サブスク課金状態にする機能
・サブスク加入状態のユーザの時刻を変更する機能

テストケース作成

テストケース作成時にベースとなる観点や、検証項目ごとの注意事項を記載します。
あくまでこれは一例で、実際の実装ごとに追加で必要な観点は色々あると思うので、テストケースを作成する際には企画やエンジニアと調整のうえで進めてください。
image.png

テスト実施

テスト実施では往々にしてトラブルが発生し、検証が期間内に行えない場合等もあります。
トラブルの対処などQAの手腕が問われるフェーズとなります。
ここでは事前準備したデバッグ機能の活用法や、検証が行えなかった時の対処方法等、サブスクに特化したテスト実施時のタスクを記載します。

タスク 説明 Tips
デバッグ機能の使用 PFのsandbox課金だけではカバーできない部分は、デバッグ機能を実装してもらって検証します。 <使用例>
・特典コンテンツ挙動確認
sandboxは5分で期限が切れるので、サブスク加入状態でコンテンツを広く確認することには向いていません。特典コンテンツのボリュームが多い場合、サブスク加入状態を作る機能が必要になると思います。
・月跨ぎの挙動確認
月を跨ぐ際に特典コンテンツが更新される、月跨ぎで継続するとボーナスがつく、といった実装の際には、サブスク加入状態で時間を操作できる機能や、サブスク継続回数を操作できる機能が必要になります。
検証不能箇所の洗い出し sandbox課金が5分で更新されるという制約上、ユーザ環境と全く同じ検証は不可能です。
TestFlightでもSandBoxと同じ挙動になるので、ユーザと同環境での挙動の担保方法はリリース前に決めておきましょう。
テスト準備・テスト設計・テスト実施の各フェーズでリスクとなる箇所が判明していくと思います。メンテナンス状態でリリースして、実課金を行ってからリリース等のリスク回避・軽減手段を事前に検討しておくとよいでしょう。

リリース後

サブスク以外の施策でも実施するとは思いますが、リリース後の状況確認は必ず行いましょう!
注意するタイミングとしては、次のようなものがあげられます。

  • 契約の更新タイミング
  • 特典コンテンツの更新タイミング(月初等)
  • 継続ボーナスの発生タイミング

特に、テスト実施フェーズで例示したような残存タスクがある場合には、リリース後の確認はとても重要になってきます。

最後に

簡単ではありますが、サブスクのテストを行った際に感じたことを書き連ねてみました。
今回記載しなかったことでもナレッジとなる可能性があるので、何か気になることがあればお気軽に質問ください!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1