---
generated_at: 2026-03-01 12:30:00
metrics:
  claims_total: 70
  claims_with_evidence: 65
  claims_without_evidence: 5
confidence_derived: 0.93
---

# 根拠レポート：非機能要件テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.93**
  - 根拠あり：65 / 70、根拠なし：5
- 優先レビュー（高）
  1. **NFT-045**：Redisフォールトトレラントの設計ドキュメントは存在するが、実テストコード未確認
  2. **NFT-047/048**：ActiveJobリトライ機能の具体的テストケース実装要確認
  3. **NFT-068**：フラグメントキャッシュのテストは fixtures レベル、実テスト要確認

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `actionpack/test/dispatch/ssl_test.rb` - SSL/HTTPSリダイレクト・HSTSテスト
- E-02: `actionpack/test/dispatch/content_security_policy_test.rb` - CSPポリシーテスト
- E-03: `actionpack/test/controller/request_forgery_protection_test.rb` - CSRF保護テスト
- E-04: `actionpack/test/dispatch/host_authorization_test.rb` - ホスト認可テスト
- E-05: `actionpack/test/dispatch/cookies_test.rb` - Cookieセキュリティテスト
- E-06: `activesupport/test/security_utils_test.rb` - セキュアユーティリティテスト
- E-07: `activerecord/test/cases/connection_pool_test.rb` - コネクションプールテスト
- E-08: `activesupport/test/cache/behaviors/connection_pool_behavior.rb` - キャッシュコネクションプール
- E-09: `activesupport/test/cache/stores/redis_cache_store_test.rb` - Redisキャッシュストアテスト
- E-10: `docs/code-to-docs/非機能要件定義書/非機能要件定義書.md` - 非機能要件定義書
- E-11: `docs/code-to-docs/セキュリティ設計書/セキュリティ設計書.md` - セキュリティ設計書
- E-12: `docs/code-to-docs/インフラ設計書/インフラ設計書.md` - インフラ設計書
- E-13: `actionpack/test/controller/http_basic_authentication_test.rb` - HTTP認証テスト
- E-14: `actionpack/test/controller/http_digest_authentication_test.rb` - HTTPダイジェスト認証テスト
- E-15: `actionpack/test/controller/http_token_authentication_test.rb` - HTTPトークン認証テスト
- E-16: `activerecord/test/cases/encryption/encryption_schemes_test.rb` - ActiveRecord暗号化テスト
- E-17: `actiontext/test/unit/model_encryption_test.rb` - ActionText暗号化テスト
- E-18: `actionpack/test/dispatch/session/cache_store_test.rb` - セッションストアテスト
- E-19: `actionpack/test/dispatch/session/cookie_store_test.rb` - Cookieセッションストアテスト
- E-20: `actionpack/test/dispatch/session/mem_cache_store_test.rb` - Memcachedセッションストアテスト
- E-21: `activerecord/test/cases/query_cache_test.rb` - クエリキャッシュテスト
- E-22: `activejob/test/cases/logging_test.rb` - ジョブログテスト

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | NFT-001 HTTPSリダイレクト応答性能テスト | E-01 | ○ |
| C-02 | NFT-002 POSTリクエストHTTPSリダイレクトテスト | E-01 | ○ |
| C-03 | NFT-003 コネクションプール最大接続数制御テスト | E-07 | ○ |
| C-04 | NFT-004 コネクションプールブロッキングテスト | E-07 | ○ |
| C-05 | NFT-005 Redisキャッシュタイムアウト設定テスト | E-09 | ○ |
| C-06 | NFT-006 キャッシュコネクションプール競合テスト | E-08 | ○ |
| C-07 | NFT-007 コネクションプール無効時の動作テスト | E-08 | ○ |
| C-08 | NFT-008 データベースコネクション再利用テスト | E-07 | ○ |
| C-09 | NFT-009 with_connection自動解放テスト | E-07 | ○ |
| C-10 | NFT-010 コネクションクローズ後の再取得テスト | E-07 | ○ |
| C-11 | NFT-011 HSTS有効化確認テスト | E-01 | ○ |
| C-12 | NFT-012 HSTS preloadオプションテスト | E-01 | ○ |
| C-13 | NFT-013 HSTS無効時のmax-age=0テスト | E-01 | ○ |
| C-14 | NFT-014 HTTP接続時HSTSヘッダー非送信テスト | E-01 | ○ |
| C-15 | NFT-015 Secure Cookie自動付与テスト | E-01 | ○ |
| C-16 | NFT-016 Secure Cookie除外設定テスト | E-01 | ○ |
| C-17 | NFT-017 CSP基本生成テスト | E-02 | ○ |
| C-18 | NFT-018 CSP Nonce自動付加テスト | E-02 | ○ |
| C-19 | NFT-019 CSP Report-Onlyモードテスト | E-02 | ○ |
| C-20 | NFT-020 CSPディレクティブ無効化テスト | E-02 | ○ |
| C-21 | NFT-021 CSP空白・セミコロン検証テスト | E-02 | ○ |
| C-22 | NFT-022 CSRFトークン検証（reset_session）テスト | E-03 | ○ |
| C-23 | NFT-023 CSRFトークン検証（exception）テスト | E-03 | ○ |
| C-24 | NFT-024 CSRFトークン検証（null_session）テスト | E-03 | ○ |
| C-25 | NFT-025 CSRF保護スキップテスト | E-03 | ○ |
| C-26 | NFT-026 Per-Formトークンテスト | E-03 | ○ |
| C-27 | NFT-027 不正ホストブロックテスト | E-04 | ○ |
| C-28 | NFT-028 ホスト認可ホワイトリストテスト | E-04 | ○ |
| C-29 | NFT-029 ホスト認可大文字小文字無視テスト | E-04 | ○ |
| C-30 | NFT-030 ドメイン名表記での許可テスト | E-04 | ○ |
| C-31 | NFT-031 セキュア文字列比較テスト | E-06 | ○ |
| C-32 | NFT-032 固定長セキュア比較テスト | E-06 | ○ |
| C-33 | NFT-033 異なる長さでのセキュア比較テスト | E-06 | ○ |
| C-34 | NFT-034 固定長比較長さ不一致エラーテスト | E-06 | ○ |
| C-35 | NFT-035 Cookie暗号化テスト | E-05 | ○ |
| C-36 | NFT-036 Cookie署名テスト | E-05 | ○ |
| C-37 | NFT-037 SSLリダイレクト除外テスト | E-01 | ○ |
| C-38 | NFT-038 プロキシ経由HTTPS判定テスト | E-01 | ○ |
| C-39 | NFT-039 カスタムリダイレクトステータステスト | E-01 | ○ |
| C-40 | NFT-040 カスタムリダイレクトホストテスト | E-01 | ○ |
| C-41 | NFT-041 非デフォルトポートリダイレクトテスト | E-01 | ○ |
| C-42 | NFT-042 ジョブリトライログ出力テスト | E-22 | ○ |
| C-43 | NFT-043 ジョブリトライ停止ログ出力テスト | E-22 | ○ |
| C-44 | NFT-044 ジョブ破棄ログ出力テスト | E-22 | ○ |
| C-45 | NFT-045 Redisキャッシュストアフォールトトレラントテスト | E-10 | △ |
| C-46 | NFT-046 キャッシュ操作計測テスト | E-08 | ○ |
| C-47 | NFT-047 ジョブリトライ機能テスト | E-10 | △ |
| C-48 | NFT-048 多項式バックオフテスト | E-10 | △ |
| C-49 | NFT-049 Redis分散キャッシュテスト | E-09 | ○ |
| C-50 | NFT-050 Redis遅延接続テスト | E-09 | ○ |
| C-51 | NFT-051 CSPハッシュソーステスト | E-02 | ○ |
| C-52 | NFT-052 CSP動的ディレクティブテスト | E-02 | ○ |
| C-53 | NFT-053 CSPミドルウェアRack互換性テスト | E-02 | ○ |
| C-54 | NFT-054 アプリケーションCSP上書き防止テスト | E-02 | ○ |
| C-55 | NFT-055 Rack 3互換Secure Cookieテスト | E-01 | ○ |
| C-56 | NFT-056 CookieオブジェクトEnumerable対応テスト | E-05 | ○ |
| C-57 | NFT-057 Cookie存在確認メソッドテスト | E-05 | ○ |
| C-58 | NFT-058 新規接続時クエリ発行なしテスト | E-07 | ○ |
| C-59 | NFT-059 アクティブコネクション状態管理テスト | E-07 | ○ |
| C-60 | NFT-060 HTTPBasic認証テスト | E-13 | ○ |
| C-61 | NFT-061 HTTPDigest認証テスト | E-14 | ○ |
| C-62 | NFT-062 HTTPToken認証テスト | E-15 | ○ |
| C-63 | NFT-063 ActiveRecord属性暗号化テスト | E-16 | ○ |
| C-64 | NFT-064 ActionText暗号化対応テスト | E-17 | ○ |
| C-65 | NFT-065 セッションストアキャッシュバックエンドテスト | E-18 | ○ |
| C-66 | NFT-066 Memcachedセッションストアテスト | E-20 | ○ |
| C-67 | NFT-067 Cookieセッションストアテスト | E-19 | ○ |
| C-68 | NFT-068 キャッシュフラグメントテスト | **根拠なし** | △ |
| C-69 | NFT-069 キャッシュキー生成テスト | E-21 | ○ |
| C-70 | NFT-070 クエリキャッシュテスト | E-21 | ○ |

## 4) 不足情報（Unknown / Missing）
- **NFT-045 Redisフォールトトレラント**: 設計ドキュメントに記載があるが、具体的なエラーハンドリングテストコードの特定が困難
  - 候補：RedisCacheStore内部実装 / error_reporter関連テスト / ラッパーテスト
- **NFT-047/048 ジョブリトライ機能**: 非機能要件定義書に基づく記述だが、retry_onの詳細テストケース実装の直接確認が未完了
  - 候補：activejob/test/cases/retry_job_test.rb / exceptions_test.rb
- **NFT-068 キャッシュフラグメント**: fixturesは存在するが、対応するテストコード本体の確認が必要
  - 候補：actionpack/test/controller/caching_test.rb / actionview関連テスト

## 5) リスクフラグ（レビュー観点）
- **0 (低リスク)**: SSL/TLS関連テスト - 実装コードとテストコードが明確に対応
- **0 (低リスク)**: CSP関連テスト - 包括的なテストスイートが存在
- **0 (低リスク)**: CSRF保護テスト - 複数の保護戦略に対応するテストが網羅
- **0 (低リスク)**: コネクションプールテスト - 詳細な並行処理テストが実装済み
- **1 (中リスク)**: キャッシュフォールトトレラント - 設計上は考慮されているがテスト実装の網羅性要確認
- **1 (中リスク)**: ジョブリトライ - ログテストは確認できたが、実際のリトライ動作テストの詳細確認が必要

## 6) レビュアーチェックリスト（最小）
- [ ] SSL/HSTSテストケース（NFT-011〜016）がセキュリティ要件を満たすか確認
- [ ] CSPテストケース（NFT-017〜021）が最新のCSP仕様に対応しているか確認
- [ ] CSRF保護テストケース（NFT-022〜026）が全ての保護戦略をカバーしているか確認
- [ ] コネクションプールテスト（NFT-003〜010）がスレッドセーフティを十分に検証しているか確認
- [ ] ジョブリトライテスト（NFT-047〜048）の具体的テスト実装を確認
- [ ] キャッシュフラグメントテスト（NFT-068）の実装状況を確認
- [ ] 暗号化テスト（NFT-063〜064）が最新の暗号化アルゴリズムに対応しているか確認
