Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

20180828 subscliption test_solution@Test Engineers Meetup #3

495 views

Published on

Test Engineers Meetup #3にて発表したサブスクリプション課金のテストのスライドです

Published in: Engineering
  • Be the first to comment

20180828 subscliption test_solution@Test Engineers Meetup #3

  1. 1. Subscription Test Solution FiNC, inc. / Quality Assurance Division Jo Yasuta
  2. 2. • 名前 : • 所属 : • QA歴 : 安田譲 (@joe_uragami) 株式会社FiNC QA室 アプリチームQAリーダ 5年程度(以前はSE、舞台照明関連、AD) →FiNCは約1年、 その前は渋谷の某メガベンチャー(業務委託) つい先日、JSTQB Foundation Level受験 自己紹介
  3. 3. • 趣味的なもの : 特撮が好き・野球観戦が好き →ブログ書いてます「ウラガミ・ライフ」 Pythonそこそこ →10/8(祝)技術書典5で本を出します 自己紹介 [か09] Thunder Claw ほぼPythonだけでサーバレスアプリの実装からテストまでする本 http://uragami.hatenablog.jp/
  4. 4. • サブスクリプションとは • OSごとのテスト環境仕様 • サブスクリプション課金のテストで気をつけたいこと 目次
  5. 5. サブスクリプションとは
  6. 6. IT用語辞典バイナリ サブスクリプションとは サブスクリプションサービスとは、 提供する商品やサービスの数ではなく、 利用期間に対して対価を支払う方式のことである。 多くの場合「定額制」と同じ意味で用いられている。
  7. 7. 月額で定期購入すると…… • そもそものサービスが使えるようになる。 • 制限されていた機能が解放される。 サブスクリプションとは
  8. 8. サブスクリプションとは スマホアプリ PCアプリ その他サービス 服借り放題 ライブ行き放題 ラーメン1日1杯食べられる
  9. 9. ちなみにFiNCアプリでは サブスクリプションとは → 専門家にチャットで相談 → クーポンなどの優待サービス → ポイントがたまりやすい
  10. 10. サブスクリプションとは
  11. 11. OSごとのテスト環境仕様
  12. 12. もちろんスマホアプリの課金なので…… プラットフォームごとの課金システムを使います。 OSごとのテスト環境仕様 iOS : App Store Android : Play Store テストも用意された「Sandbox環境」で行います。
  13. 13. 処理の動き OSごとのテスト環境仕様 アプリ ストアアプリ アプリ側サーバー ストアAPI 1. 決済要求 2. レシート 3. レシート 4. レシート 5. 検証結果 6. 会員登録 7. 購読結果
  14. 14. OSごとのテスト環境仕様 実施準備編
  15. 15. 用意するもの • Sandbox環境用のテストアカウント • Sandbox環境に接続できるテスト用アプリ OSごとのテスト環境仕様
  16. 16. OSごとのテスト環境仕様 ~ iOSの場合 iOSの場合
  17. 17. Sandbox環境用のテストアカウント OSごとのテスト環境仕様 ~ iOSの場合 • メール受け取りが可能なメールアドレスを用意する • iTunes Connectにて Sandboxテスターとして登録する • エイリアスは使用可能
  18. 18. AppleIDを 用意してはいけない
  19. 19. AppleIDを用意してはいけない OSごとのテスト環境仕様 ~ iOSの場合 すでにAppleID登録されたメールアドレスは Sandboxテスター登録ができません。 めんどくさい手順を踏んでも全く意味のない作業になります。
  20. 20. Sandbox環境に接続できるテスト用アプリ OSごとのテスト環境仕様 ~ iOSの場合 • TestFlightからダウンロードしたアプリ • ストア配信用のAppIDを使って配信したアプリ (念のためアドホック配信しています) →本番環境向け →Staging環境向け
  21. 21. OSごとのテスト環境仕様 ~ Androidの場合 Androidの場合
  22. 22. Sandbox環境用のテストアカウント OSごとのテスト環境仕様 ~ Androidの場合 • Gmailアカウントを用意する →テスター用グループ登録する →送られてきたメールに沿って登録する
  23. 23. 利用可能なクレカを 登録する必要がある
  24. 24. 利用可能なクレカを登録する必要がある OSごとのテスト環境仕様 ~ Androidの場合 テストのため引き落としはされませんが、 支払先が登録されていないとテストができません。 関係者と相談してリスクの少ないものを登録してください。 なお、登録済みの番号は見ることができません。
  25. 25. Sandbox環境に接続できるテスト用アプリ OSごとのテスト環境仕様 ~ Androidの場合 • PlayStoreからダウンロードした本番 • PlayStoreからダウンロードしたα版アプリ →本番環境向け
  26. 26. Sandbox環境に接続できるテスト用アプリ OSごとのテスト環境仕様 ~ Androidの場合 →Staging環境向けは???
  27. 27. Staging向けアプリを PlayStoreにアップする
  28. 28. Staging向けアプリをPlayStoreにアップする OSごとのテスト環境仕様 ~ Androidの場合 正しくα版としてアップできればいいのですが、 設定を間違えて本番としてアップするリスクもあります。 デプロイ方法など、開発者の工夫も必要かも
  29. 29. OSごとのテスト環境仕様 テスト実施編
  30. 30. OSごとのテスト環境仕様 ~ iOSの場合 iOSの場合
  31. 31. AppleIDを 普通にサインインできない
  32. 32. AppleIDを普通にサインインできない OSごとのテスト環境仕様 ~ iOSの場合 設定などでしようとしても テスト用のIDは弾かれてしまいます。 →どうするのか??? ここから サインイン できません!
  33. 33. AppleIDを普通にサインインできない OSごとのテスト環境仕様 ~ iOSの場合 課金導線の中でサインイン。 →ややこしい!!
  34. 34. テストの実施 OSごとのテスト環境仕様 ~ iOSの場合 AppleIDを登録したら 課金導線に進みます。
  35. 35. 確認をおこたると ガチ課金
  36. 36. 確認をおこたるとガチ課金 OSごとのテスト環境仕様 ~ iOSの場合 この表示がなかった場合は ガチで課金が発生します。 →ただ支払先登録していないので…
  37. 37. 定期購読の 有効期間が短い
  38. 38. 定期購読の有効期間が短い OSごとのテスト環境仕様 ~ iOSの場合 Sandbox環境の場合は テスト用の時間換算になります 実際の設定期間 Sandboxテスト期間 7日 3分 1ヶ月 5分 2ヶ月 10分 3ヶ月 15分 6ヶ月 30分 1年 1時間 →6回更新を繰り返す
  39. 39. 定期購読の有効期間が短い OSごとのテスト環境仕様 ~ iOSの場合 1ヶ月設定の場合 5分 × 6回更新 = 30分 実際の設定期間 Sandboxテスト期間 7日 3分 1ヶ月 5分 2ヶ月 10分 3ヶ月 15分 6ヶ月 30分 1年 1時間確認事項は30分で終わらす!
  40. 40. 任意で定期購読の 解約ができない
  41. 41. 任意で定期購読の解約ができない OSごとのテスト環境仕様 ~ iOSの場合 解約した時の確認はどうするか?? →時間切れのタイミング = 解約した時の動き
  42. 42. 初回無料の 確認はできない
  43. 43. 初回1ヶ月無料の確認はできない OSごとのテスト環境仕様 ~ iOSの場合 どうしてもしたい場合はどうするか?? →まぁ、初回無料ですから……
  44. 44. OSごとのテスト環境仕様 ~ Androidの場合 Androidの場合
  45. 45. Gmailアカウントは普通に登録する OSごとのテスト環境仕様 ~ Androidの場合 設定で登録します。
  46. 46. α版と本番の 見分けがつきにくい
  47. 47. α版と本番の見分けがつきにくい OSごとのテスト環境仕様 ~ Androidの場合 この辺りで見分けます リリースノート バージョン 更新日 PlayStore 該当アプリの 詳細を見るのところ
  48. 48. PlayStoreは キャッシュが効く
  49. 49. PlayStoreはキャッシュが効く OSごとのテスト環境仕様 ~ Androidの場合 この手順を踏まないとα版がでてこないことがあります。 • PlayStoreのプロセスを切る • PlayStoreを強制停止 • PlayStoreのデータを削除する
  50. 50. テストの実施 OSごとのテスト環境仕様 ~ Androidの場合 α版をダウンロードできたら 課金導線に進みます。
  51. 51. 確認をおこたると ガチ課金
  52. 52. 確認をおこたるとガチ課金 OSごとのテスト環境仕様 ~ Androidの場合 この表示がなかった場合は ガチで課金が発生します。 →支払先登録していますね……
  53. 53. 定期購読の 有効期間が短い
  54. 54. 定期購読の有効期間が短い OSごとのテスト環境仕様 ~ Androidの場合 Sandbox環境の場合は テスト用の時間換算になります 実際の設定期間 Sandboxテスト期間 7日 5分 1ヶ月 5分 3ヶ月 10分 6ヶ月 15分 1年 30分 →6回更新を繰り返す
  55. 55. 定期購読の有効期間が短い OSごとのテスト環境仕様 ~ Androidの場合 1ヶ月設定の場合、iOSと同じ 確認事項は30分で終わらす! 実際の設定期間 Sandboxテスト期間 7日 5分 1ヶ月 5分 3ヶ月 10分 6ヶ月 15分 1年 30分
  56. 56. Androidだとできること OSごとのテスト環境仕様 ~ Androidの場合 初回無料は、3分間つく →3分の間にできることを
  57. 57. Androidだとできること OSごとのテスト環境仕様 ~ Androidの場合 任意解約はできる →30分待ってもいいし、 解約後5分待ってもいい
  58. 58. 異常系が テストしづらい
  59. 59. 処理の動き OSごとのテスト環境仕様 アプリ ストアアプリ アプリ側サーバー ストアAPI 1. 決済要求 2. レシート 3. レシート 4. レシート 5. 検証結果 6. 会員登録 7. 購読結果
  60. 60. 処理の動き OSごとのテスト環境仕様 アプリ ストアアプリ アプリ側サーバー ストアAPI 1. 決済要求 2. レシート 3. レシート 4. レシート 5. 検証結果 6. 会員登録 7. 購読結果
  61. 61. 覚えておいてほしいこと • 結構めんどくさい • 結構制約がある • 結構できないこともある • 結構リスクもある OSごとのテスト環境仕様
  62. 62. サブスクリプション課金のテストで 気をつけたいこと
  63. 63. 課金のテストは… サブスクリプション課金のテストで気をつけたいこと 👁 🌞 ← 単体テスト ← 結合テスト ← システムテスト ← マニュアルテスト
  64. 64. 課金のテストは… サブスクリプション課金のテストで気をつけたいこと 👁 🌞 ← 単体テスト ← 結合テスト ← システムテスト ← マニュアルテスト ← ココ!!
  65. 65. 課金のテストはテストレベルの最高地 サブスクリプション課金のテストで気をつけたいこと • 結構めんどくさい • 結構制約がある • 結構できないこともある • 結構リスクもある カジュアルにできない
  66. 66. Sandbox課金のテストは 最初の課金の仕組みの実装の時のみ サブスクリプション課金のテストで気をつけたいこと
  67. 67. カジュアルになってしまう例① サブスクリプション課金のテストで気をつけたいこと 「課金済みのユーザアカウントが欲しいんだけど、 テストで課金したやつ使えるよね?」
  68. 68. OSごとのテスト環境仕様 ~ Androidの場合 はい、30分だけ。
  69. 69. 課金ユーザが欲しい時 サブスクリプション課金のテストで気をつけたいこと 課金済みのユーザアカウントに切り替えられるツールを 用意しておきましょう。 ただし、本番環境の場合はKPIに注意!
  70. 70. カジュアルになってしまう例② サブスクリプション課金のテストで気をつけたいこと 「課金した後の処理のテストがしたいんだけど、 テストのやつでいけるよね?」
  71. 71. OSごとのテスト環境仕様 ~ Androidの場合 敵が多いよ。
  72. 72. 課金絡みの他機能のテストの場合 サブスクリプション課金のテストで気をつけたいこと アプリ ストアアプリ アプリ側サーバー ストアAPI 1. 決済要求 2. レシート 3. レシート 4. レシート 5. 検証結果7. 購読結果 dummy dummy モックを有効的に使いましょう!
  73. 73. サブスクリプション課金のテストで気をつけたいこと • 手間のかかるテストなので、 有効なテスト計画の中で実施しましょう。 • 開発も手間がかかるので、 しっかり認識合わせしましょう
  74. 74. https://www.wantedly.com/companies/finc QAエンジニア絶賛募集を開始します! WANTEDRYで間も無く情報公開!
  75. 75. ご静聴、ありがとうございました。

×