5.0 リリース前 ユーザー手動チェックリスト
最終更新: 2026-05-09 対象バージョン: 5.0.0(ベース: origin/main v4.1.0 以降の蓄積)
このドキュメントの位置づけ
- 5.0 は 「v4.1 → main の蓄積を束ねるメジャーリリース」 として出す
- 中核は次の 3 領域の正式 GA:
- A. 既存実装の集大成(lazy load 撤廃、補助 UI 再設計、デバッグ・性能タブ、BattleId 紐付け、自動起動、キャラ追加 など)
- B. Standalone Recorder アプリ(同一バイナリのモード切替方式、
--recorder-mode/ exe リネームコピー / トレイ) - C. リアルタイム解析 + ブラウザ自動化の安定化(DB 保存対象フィルタ、log×API 再照合、未ログイン検知 UI、storageState 維持、
probeAuthEndpointリトライ など)
- 本書は 「ユーザー(リリース担当者)が最後に手動で確認すべきもの」 に絞る。自動テストで担保される範囲は
manual-test-checklist.mdと E2E Coverage Map(未作成)を参照。
0. 事前準備
- [ ] クリーンインストール検証用に別 userData で起動できる状態を作る(
yarn dev:fresh系 / 手動で別ディレクトリ) - [ ] 既存ユーザー想定検証:いつもの userData / DB / 設定を残したまま 5.0 ビルドを起動できる状態を作る
- [ ] ビルド成果物:
yarn build:electron:winで NSIS と Portable の両方 がrelease/に出ていること - [ ] バックアップ:
<userData>/matches.dbと<userData>/user-settings.jsonを別場所にコピー
1. 起動・基本導線(lazy load 撤廃の効果確認)
- [ ] アプリ起動時にスプラッシュが即時表示される
- [ ] 全タブを順に切替して Suspense フリッカー / 空白フリーズが出ない
- Player Dashboard / Match List / Realtime Analysis / Log Analysis / Browser Automation / Settings / Info / Debug
- [ ] タブ内コンテンツがスクロールできる
- [ ] 補助 UI 領域がスクロールできる
- [ ] 起動直後にコンソール致命エラーがない(preload 失敗・IPC レースの回帰なし)
2. リアルタイム解析(C 領域)
- [ ] 監視 ON/OFF の切替が即時反映される
- [ ] DB 保存対象フィルタ(rank only / rank + casual)を切替えて、対象外の試合が DB に保存されない
- [ ] TYPE 上書きバグの回帰確認:Casual 試合のあと Rank 試合を流して
matches.typeが正しく書き換わる - [ ] 試合終了時にオーバーレイが自動更新される(自動更新 ON 時)
- [ ] 自動更新 OFF 時には手動で「最新試合に更新」できる
- [ ] 試合タイプフィルタ(rankOnly / rankAndCasual) が UI 側で機能し、オーバーレイへの反映と一致する
3. ブラウザ自動化(C 領域)
- [ ] 起動時に自動でセッション立ち上げが動く / 失敗してもアプリ起動はブロックされない
- [ ] 未ログイン検知:未ログイン状態で OS 通知 + Snackbar + LoginRequiredDialog が出る
- [ ] LoginRequiredDialog の「ログイン」リンクが実際の戦績ページに飛ぶ
- [ ] storageState 維持:一度ログイン → アプリ再起動 → ログイン済みのまま動く
- [ ] probeAuthEndpoint 安定性:ネットワーク瞬断 / 単発失敗で誤ログアウト判定にならない(リトライが効く)
- [ ] 試合終了ワークフロー:ゲームで 1 試合終了 →
battle_list→battle_detailが取得され DB に紐づく - [ ] log×API マッチ可視化:Match List の各行に MatchDataSourceChip(log / log+api / api-only)が出る
- [ ] log×API 再照合 (dry-run):未紐付け matches に対して dry-run 実行 → 件数レポートが出る
- [ ] api-only 一括削除:dry-run 後に削除 → DB に残らない、UI からも消える
4. Standalone Recorder(B 領域)
実装方式: 同一バイナリのモード切替(exe 名 or
--recorder-modeフラグで判定)。詳細はrecorder-mode.md参照。 spec の Phase 1〜3(独立 entrypoint / processLock / NSIS opt-in / Steam flag 付け替え)は post-5.0 とする。
- [ ]
WingStats Recorder.exe(electron-builder の afterPack で生成 / リネームコピー)で起動 → UI が出ない / トレイアイコンのみ - [ ] トレイ右クリックメニュー:
- [ ] 状態表示(監視件数 / ブラウザ ON/OFF)
- [ ] 「ブラウザ自動化」トグル →
user-settings.jsonに保存され即時反映 - [ ] 「ヘッドレス」トグル
- [ ] 「起動時 fetchSeasonOnly を実行」トグル
- [ ] 「今すぐ fetchSeasonOnly を実行」ボタン
- [ ] 「ブラウザ自動化を再起動」
- [ ] 常駐メモリが概ね 200MB 前後(PoC 実測 182MB)に収まる
- [ ] 試合終了時に最新 1 件だけ取得 されてワークフローが軽量に走る
- [ ] トレイメニューの「全件同期」 で過去分を手動取り込みできる
- [ ] 初回起動(storageState なし)で headless が自動的に OFF になる
- [ ] Recorder 動作中に Viewer を起動 しても両方とも動く(DB が壊れない)
- ※ processLock 未実装なので「両方とも走るが排他で落ちない」ことだけ確認
- [ ]
<userData>/user-settings.jsonのrecorderBrowserAutomationセクションが書き換わる
5. オーバーレイ表示
- [ ] OBS ブラウザソースで
overlay.htmlが表示される(packaged 版のloadFileパス回帰なし) - [ ] レイアウト位置・サイズ変更が永続化、再起動後に復元
- [ ] オーバーレイ起動時 0/0 リセットオプションの ON/OFF が効く
- [ ] 試合タイプフィルタの設定がオーバーレイに反映される
- [ ] パーツ表示 ON/OFF が想定通り
- [ ] BP 対戦相手ウィンドウの表示・非表示トグルが効く
6. 補助 UI / デバッグタブ(A 領域)
- [ ] 補助 UI Drawer + 1行ステータスバー:開閉が動く
- [ ] 自動オープンが default OFF
- [ ] WorkflowProgressPanel に各フェーズの具体ステップが表示される
- [ ] デバッグ・性能タブ:オーバーレイ / ブラウザ自動化 / ログ監視の現在値が read-only で正しく表示
- [ ] 各セクションの「→ 編集」ボタンで対応する設定セクションへアンカー遷移できる
7. 自動起動 / Steam 連携(A 領域)
- [ ] ゲーム起動バナー検出でアプリが自動立ち上げされる(LogBasedGameLaunchDetector)
- [ ] Steam 起動オプション生成コマンドが期待した exe を指す
- [ ] AutoLaunchSection の説明文 / トグル / 起動方法表示が期待通り
8. データ整合性
- [ ] BattleId 紐付け:log 由来 match と API 由来 match が
battle_idで同じ行に統合される - [ ] BattleType マッピング:未知の id でも UI が壊れない("Unknown" 表示)
- [ ] picks fallback の永続化:API 経由で復元された BAN/PICK 候補が DB に残る
- [ ] 新キャラ Dead Master:画像表示・キャラ別統計・対面分析で認識される
9. 自動更新 / インストーラ
- [ ] 4.x → 5.0 自動更新:4.1.0 をインストール後、5.0 を release 経由で更新確認 → DB / 設定が引き継がれる
- [ ] NSIS インストーラから新規インストール → 起動できる
- [ ] Portable 版から起動できる(4.1 で修正された白画面の回帰なし)
- [ ] アンインストール時のショートカット / userData の挙動が期待通り
10. 品質ゲート(push 前の最終確認)
- [ ]
yarn tsc --noEmit— 型エラー 0 件 - [ ]
yarn lint— 0 errors / 0 warnings - [ ]
yarn test:unit— 全 pass(skip のみ許容) - [ ]
yarn test:e2e:smoke— 全 pass - [ ]
yarn build:electron:winで NSIS / Portable の両成果物が生成
11. リリース実行
詳細は
release-workflow.mdを参照。
release/v5.0.0ブランチで全項目 OK を確認- main へ merge
yarn release major(v4.1.0 → v5.0.0)- CHANGELOG ドラフトをエディタで整形(4.1 → 5.0 の集大成として記述)
- release commit + annotated tag が作成されたことを確認
- 動作確認完了後のみ 手動で
git push origin main && git push origin v5.0.0 - tag push が
.github/workflows/release.ymlをトリガし、GitHub Release が自動生成
実行記録テンプレート
text
実施日:
実施者:
対象ブランチ / コミット:
[手動チェック]
- 0. 事前準備: OK/NG
- 1. 起動・基本導線: OK/NG
- 2. リアルタイム解析: OK/NG
- 3. ブラウザ自動化: OK/NG
- 4. Recorder: OK/NG
- 5. オーバーレイ: OK/NG
- 6. 補助 UI / デバッグタブ: OK/NG
- 7. 自動起動 / Steam 連携: OK/NG
- 8. データ整合性: OK/NG
- 9. 自動更新 / インストーラ: OK/NG
[品質ゲート]
- yarn tsc --noEmit: OK/NG
- yarn lint: OK/NG
- yarn test:unit: OK/NG
- yarn test:e2e:smoke: OK/NG
- yarn build:electron:win: OK/NG
備考:関連ドキュメント
manual-test-checklist.md— 通常の手動 + 自動化移行ガイドrecorder-mode.md— Recorder Mode 運用ガイドrelease-workflow.md—yarn release手順e2e-coverage-map.md(未作成)— E2E でカバー済みのシナリオ一覧e2e-flake-handbook.md(未作成)— E2E 失敗時の見方