← ドキュメント一覧に戻る
結合試験仕様書
機能間の連携・エンドツーエンドの動作を確認する試験項目を定義する。
1. ミュートリスト同期フロー
flowchart LR
A[ポップアップ] -->|同期ボタン| B[新しいタブ]
B -->|content.js注入| C[DOM解析]
C -->|ユーザー抽出| D[storage.local保存]
D -->|通知| E[同期完了]
| ID |
分類 |
シナリオ |
前提条件 |
手順 |
期待結果 |
| IT-001 |
正常 |
同期ボタンでミュートリスト取得 |
Zennにログイン済み、ミュート設定にユーザーが存在 |
1. ポップアップを開く 2. 「同期」ボタンを押下 |
ミュート設定ページが開き、ユーザーリストがstorage.localに保存される。同期完了通知が表示される |
| IT-002 |
正常 |
同期結果がポップアップに反映 |
IT-001完了後 |
1. ポップアップを再度開く |
同期したユーザーがリストに表示される。件数表示が正しい |
| IT-003 |
異常 |
未ログインで同期 |
Zennにログインしていない |
1. ポップアップから「同期」ボタン押下 |
ミュート設定ページが開くが、ユーザーが見つからず失敗通知が表示される |
| IT-004 |
正常 |
再同期で最新リストに上書き |
既にリストが保存済み。Zenn側でミュートを変更 |
1. 再度「同期」ボタン押下 |
最新のミュートリストで上書き保存される |
2. ミュートユーザー警告フロー
flowchart LR
A[ページ読み込み] -->|URL解析| B[ユーザー名取得]
B -->|storage読み取り| C{ミュート済み?}
C -->|Yes| D[モーダル表示]
C -->|No| E[何もしない]
| ID |
分類 |
シナリオ |
前提条件 |
手順 |
期待結果 |
| IT-010 |
正常 |
ミュートユーザーの記事を開く |
storageに "catatsuy" を登録済み |
1. zenn.dev/catatsuy/articles/xxx にアクセス |
警告モーダルが表示される。ユーザー名 @catatsuy が表示される |
| IT-011 |
正常 |
ミュートしていないユーザーの記事を開く |
storageに "catatsuy" のみ登録 |
1. zenn.dev/other_user/articles/xxx にアクセス |
モーダルが表示されず通常閲覧できる |
| IT-012 |
正常 |
ユーザートップページでも検出 |
storageに "catatsuy" を登録済み |
1. zenn.dev/catatsuy にアクセス |
警告モーダルが表示される |
| IT-013 |
正常 |
大文字小文字を区別しない |
storageに "catatsuy" を登録済み |
1. zenn.dev/CatAtSuy/articles/xxx にアクセス |
警告モーダルが表示される(小文字で比較) |
| IT-014 |
境界 |
ミュートリストが空 |
storageが空 |
1. 任意のZennユーザーページにアクセス |
モーダルは表示されない |
3. モーダル操作フロー
| ID |
分類 |
シナリオ |
前提条件 |
手順 |
期待結果 |
| IT-020 |
正常 |
「戻る」ボタンで前のページへ |
モーダル表示中、履歴あり |
1. 「戻る」ボタンをクリック |
history.back() が実行され、前のページに戻る |
| IT-021 |
境界 |
「戻る」ボタン(履歴なし) |
モーダル表示中、直接URLアクセスで履歴が1件のみ |
1. 「戻る」ボタンをクリック |
Zennトップページへリダイレクトされる |
| IT-022 |
正常 |
「トップページへ」ボタン |
モーダル表示中 |
1. 「トップページへ」ボタンをクリック |
zenn.dev へ遷移する |
| IT-023 |
正常 |
「このまま閲覧する」ボタン |
モーダル表示中 |
1. 「このまま閲覧する」をクリック |
モーダルが閉じ、記事が通常通り閲覧できる |
| IT-024 |
正常 |
Escキーでモーダルを閉じる |
モーダル表示中 |
1. Escキーを押下 |
モーダルが閉じ、記事が通常通り閲覧できる |
4. SPA遷移対応フロー
flowchart LR
A[ページA閲覧中] -->|Zenn内リンク遷移| B[URL変更検知]
B --> C[既存モーダル削除]
C --> D[500ms待機]
D --> E[新URLでミュートチェック]
| ID |
分類 |
シナリオ |
前提条件 |
手順 |
期待結果 |
| IT-030 |
正常 |
SPA遷移でミュートユーザーページへ |
Zennの通常ページ閲覧中 |
1. Zenn内リンクでミュートユーザーの記事へ遷移 |
遷移後に警告モーダルが表示される |
| IT-031 |
正常 |
SPA遷移でミュートユーザーページから離脱 |
モーダルを「閲覧する」で閉じた状態 |
1. Zenn内リンクで別のユーザーページへ遷移 |
モーダルは表示されない |
| IT-032 |
正常 |
モーダル表示中にSPA遷移 |
モーダル表示中 |
1. ブラウザの戻る/進むで別ページへ遷移 |
既存モーダルが削除され、新URLで再判定される |
5. 手動追加 → 検出の連携
| ID |
分類 |
シナリオ |
前提条件 |
手順 |
期待結果 |
| IT-040 |
正常 |
手動追加したユーザーの記事で警告表示 |
ミュートリストが空 |
1. ポップアップで "testuser" を手動追加 2. zenn.dev/testuser/articles/xxx を開く |
警告モーダルが表示される |
| IT-041 |
正常 |
手動削除後は警告が出ない |
"testuser" が登録済み |
1. ポップアップで "testuser" を削除 2. zenn.dev/testuser/articles/xxx を開く |
モーダルは表示されない |
6. データ永続性
| ID |
分類 |
シナリオ |
前提条件 |
手順 |
期待結果 |
| IT-050 |
正常 |
ブラウザ再起動後もリストが保持される |
ミュートリストに複数ユーザー登録済み |
1. Chromeを閉じて再度開く 2. ポップアップを開く |
登録したユーザーが引き続き表示される |
| IT-051 |
正常 |
再起動後もミュート検出が動作 |
IT-050完了後 |
1. ミュートユーザーの記事を開く |
警告モーダルが表示される |