Skip to content

Latest commit

 

History

History
276 lines (153 loc) · 16.5 KB

QA.md

File metadata and controls

276 lines (153 loc) · 16.5 KB
feature initial_setting
verification mobile-mcp
last_verified_commit bcd2fac96e0c1d1565bff72e4ae41c96a6a65689
last_verified_at 2026-10-16

initial_setting QA

確認環境 (2026-10-15 の記録): iPhone 16 Pro シミュレータ (iOS 27.0、ローカル sim-boot) に、HEAD を Flutter 3.44.9・Xcode 27.1 でビルドした dev ビルドを新規インストールして初期設定を通した。画像は横に並べた順に操作した順。

1. ピルシート選択(1/3)

  • 初期状態(空のピルシート種類): 初回表示時はピルシート種類が未選択のため、種類選択画面(低用量ピル/超低用量ピル等の選択肢)が表示される
  • 種類選択でプレビュー生成: 種類を1つ選択すると、同じ種類のピルシートが3シート分生成されプレビューに表示される
  • 追加・変更・削除操作: ピルシートの追加・種類変更・削除の各操作を行うと、プレビューに反映される
  • 「次へ」ボタンの表示条件: ピルシートが1件以上あるときのみ「次へ」ボタンが表示され、タップすると今日のピル番号選択画面(2/3)に遷移する
  • 既存アカウントでのログイン導線: 「すでにアカウントをお持ちの方はこちら」をタップするとサインインシートが表示される。Apple/Googleの実OAuth認証はSimulatorでは確認が難しいため、シートが表示されボタンが押せることまでを確認対象とする

動作確認

動作確認エビデンス

初期状態(空のピルシート種類): 初回表示時はピルシート種類が未選択のため、種類選択画面(低用量ピル/超低用量ピル等の選択肢)が表示される

動作確認スクショ

確認日: 2026-10-15

新規インストール後の 1/3 で、空のピルシートの枠と「ピルの種類を選択」ボタンが表示され (1 枚目)、タップすると種類の選択シート (21錠・28錠 等 7 種類) が開く (2 枚目)。

種類選択でプレビュー生成: 種類を1つ選択すると、同じ種類のピルシートが3シート分生成されプレビューに表示される

動作確認スクショ

確認日: 2026-10-15

「28錠 24錠+4錠偽薬」を選ぶと、同じ種類のピルシートが 3 枚分 (1〜3枚目) 生成される (3 枚目)。

追加・変更・削除操作: ピルシートの追加・種類変更・削除の各操作を行うと、プレビューに反映される

動作確認スクショ

確認日: 2026-10-15

3枚目を削除、2枚目を「21錠タイプ」に変更、「ピルシートを追加」で 3 枚目 (21錠タイプ) を追加した結果がプレビューに反映される (4 枚目)。

「次へ」ボタンの表示条件: ピルシートが1件以上あるときのみ「次へ」ボタンが表示され、タップすると今日のピル番号選択画面(2/3)に遷移する

動作確認スクショ

確認日: 2026-10-15

ピルシートが無い状態では「次へ」が表示されず (1 枚目)、1 件以上で「次へ」が表示される (3・4 枚目)。タップすると 2/3 に遷移する (下の項目の 1 枚目)。

既存アカウントでのログイン導線: 「すでにアカウントをお持ちの方はこちら」をタップするとサインインシートが表示される。Apple/Googleの実OAuth認証はSimulatorでは確認が難しいため、シートが表示されボタンが押せることまでを確認対象とする

動作確認スクショ

確認日: 2026-10-15

「すでにアカウントをお持ちの方はこちら」でログインのシート (Appleでサインイン・Google アカウントでサインイン) が表示される (5 枚目)。


2. 今日のピル番号選択(2/3)

  • 案内文表示: 「今日(日付)飲む・飲んだピルの番号をタップ」の案内文が今日の日付付きで表示される
  • 番号タップで選択: ピルシート上の番号をタップすると選択状態になり、下部に「今日は◯番」の説明が表示される
  • 未選択時は次へ無効: 番号を選択していない状態では「次へ」ボタンが無効化されている
  • 「まだ分からない」で番号未設定のままスキップ: 「まだ分からない」ボタンをタップすると番号を選択しなくてもリマインダー設定画面(3/3)に遷移する

動作確認

動作確認エビデンス

案内文表示: 「今日(日付)飲む・飲んだピルの番号をタップ」の案内文が今日の日付付きで表示される

動作確認スクショ

確認日: 2026-10-15

「今日(10/15(木)) 飲む・飲んだピルの番号をタップ」の案内文が表示される (1 枚目)。ピルシートを横に並べる PageView の変更の後も、2 枚目のシートにスワイプで移れる (2 枚目)。

番号タップで選択: ピルシート上の番号をタップすると選択状態になり、下部に「今日は◯番」の説明が表示される

動作確認スクショ

確認日: 2026-10-15

10 番をタップすると選択状態になり、「10/15(木)に飲むピルは 10 番」が表示される (3 枚目)。

未選択時は次へ無効: 番号を選択していない状態では「次へ」ボタンが無効化されている

動作確認スクショ

確認日: 2026-10-15

番号を選ぶ前は「次へ」がグレーで無効 (1・2 枚目)。

「まだ分からない」で番号未設定のままスキップ: 「まだ分からない」ボタンをタップすると番号を選択しなくてもリマインダー設定画面(3/3)に遷移する

動作確認スクショ

確認日: 2026-10-15

10 番を選んだ状態 (3 枚目) で「まだ分からない」をタップすると、3/3「ピルの飲み忘れ通知」に遷移する (4 枚目)。2/3 に戻ると番号は未選択に戻っており、「まだ分からない」で番号が未設定になることを確かめた。番号を一度も選ばずにタップする手順は今回は行っておらず、下の前回の記録のまま。

前回の記録 (今回操作していない部分の証跡として残す):

確認日: 2026-07-05


3. リマインダー時刻設定(3/3)

  • 飲み忘れ通知の時刻設定: 「ピルの飲み忘れ通知」の案内のもと3つの時刻設定枠が表示され、各枠をタップするとタイムピッカーがボトムシートで表示され、選択した時刻が枠に反映される
  • 利用規約・プライバシーポリシーのリンク: 画面下部の「プライバシーポリシー」「利用規約」リンクをタップすると、それぞれWebViewで該当ページが開く
  • 「次へ」でプレミアム体験開始画面に遷移: 「次へ」ボタンをタップするとプレミアム体験開始画面に遷移する
  • オンボーディング Paywall A/B (実験未参加): Remote Config onboardingPaywallVariant が未設定 (空文字) の場合、「次へ」で Paywall は表示されず現行どおりプレミアム体験開始画面に遷移する (割当イベント onboarding_paywall_assigned も送られない)
  • オンボーディング Paywall A/B (paywall 群): onboardingPaywallVariant = paywall の場合、「次へ」で onboarding_paywall_assigned {variant: paywall} が送られ、PremiumIntroductionSheet (paywall_source = onboarding) が表示され、閉じるとプレミアム体験開始画面に遷移する
    • ⏭️ スキップ: Remote Config の値は Firebase コンソールでしか設定できず、dev / prod のどちらにもパラメータ onboardingPaywallVariant が未作成のため、実験群の状態を端末で作れない。variant の解決は flutter test test/features/initial_setting/onboarding_paywall_variant_test.dart (6 件成功) で確認した。パラメータ作成後に paywall を配信して再確認する (bannzai/PilllBackend#422 のユーザー作業)

動作確認

動作確認エビデンス

飲み忘れ通知の時刻設定: 「ピルの飲み忘れ通知」の案内のもと3つの時刻設定枠が表示され、各枠をタップするとタイムピッカーがボトムシートで表示され、選択した時刻が枠に反映される

動作確認スクショ

確認日: 2026-10-15

通知3の枠をタップするとタイムピッカーのボトムシートが表示され (1 枚目)、06:00 を選んで「完了」すると枠に反映される (2 枚目)。

利用規約・プライバシーポリシーのリンク: 画面下部の「プライバシーポリシー」「利用規約」リンクをタップすると、それぞれWebViewで該当ページが開く

動作確認スクショ

確認日: 2026-10-15

「プライバシーポリシー」で「Pilll」のプライバシーポリシー (bannzai.github.io) が、「利用規約」で「Pilll利用規約」がアプリ内の WebView で開く。本文に提供者の氏名が載っているため、ページ上部だけを切り出して記録した。

「次へ」でプレミアム体験開始画面に遷移: 「次へ」ボタンをタップするとプレミアム体験開始画面に遷移する

動作確認スクショ

確認日: 2026-10-15

3/3 の「次へ」でプレミアム体験開始画面に遷移する (1 枚目)。

オンボーディング Paywall A/B (実験未参加): Remote Config onboardingPaywallVariant が未設定 (空文字) の場合、「次へ」で Paywall は表示されず現行どおりプレミアム体験開始画面に遷移する (割当イベント onboarding_paywall_assigned も送られない)

動作確認スクショ

確認日: 2026-10-15

新規インストールの初期設定で 3/3 の「次へ」をタップすると、Paywall を経由せずプレミアム体験開始画面に遷移した (1 枚目。dev の Remote Config にパラメータ未作成 = 空文字 = 実験未参加)。割当イベント onboarding_paywall_assigned が送られないことは、今回はログを取っておらず画面では確認できない。lib/features/initial_setting/reminder_times/page.dart では、variant が null (空文字を含む実験未参加) の時はイベントを送らない分岐になっている (if (onboardingPaywallVariant != null) { analytics.logEvent(name: 'onboarding_paywall_assigned', ...) })。

オンボーディング Paywall A/B (paywall 群): onboardingPaywallVariant = paywall の場合、「次へ」で onboarding_paywall_assigned {variant: paywall} が送られ、PremiumIntroductionSheet (paywall_source = onboarding) が表示され、閉じるとプレミアム体験開始画面に遷移する

動作確認スクショ

(未実行)


4. プレミアム体験開始・登録完了

  • クイック記録機能の紹介表示: 「通知から服用記録ができます」の説明とアニメーション画像、トライアル期限の案内文言が表示される
  • 「アプリをはじめる」で登録完了しホームへ遷移: 「アプリをはじめる」ボタンをタップすると、ピルシートグループ・設定が登録され、リマインダー通知が設定されたうえでホーム画面に遷移する
  • 登録失敗時のエラー表示: 登録処理中にエラーが発生した場合、エラーアラートが表示されプレミアム体験開始画面にとどまる
    • ⏭️ スキップ: Firestore書き込み失敗(batch.commit())を人為的に再現する手段がない。シミュレータのネットワーク遮断はホストマシン全体に影響し他の検証中シミュレータ・作業に支障が出るため実施しなかった

動作確認

動作確認エビデンス

クイック記録機能の紹介表示: 「通知から服用記録ができます」の説明とアニメーション画像、トライアル期限の案内文言が表示される

動作確認スクショ

確認日: 2026-10-15

「\ 通知から服用記録ができます /」と通知のアニメーション画像、「45日間すべての機能が使えます!」が表示される (1 枚目)。

「アプリをはじめる」で登録完了しホームへ遷移: 「アプリをはじめる」ボタンをタップすると、ピルシートグループ・設定が登録され、リマインダー通知が設定されたうえでホーム画面に遷移する

動作確認スクショ

確認日: 2026-10-15

今日のピル番号に 10 番を選んだフローで「アプリをはじめる」をタップすると、ホーム画面に「今日飲むピル 10番」のピルシートグループが表示される (1 枚目の 2 枚目)。設定タブの「通知時間」に初期設定で選んだ 04:00, 05:00, 06:00 が登録されている (2 枚目)。

登録失敗時のエラー表示: 登録処理中にエラーが発生した場合、エラーアラートが表示されプレミアム体験開始画面にとどまる

動作確認スクショ

(未実行)