---
generated_at: 2026-02-19 10:30:00
metrics:
  claims_total: 70
  claims_with_evidence: 70
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：sp_BlitzAnalysis 単体テストケース一覧

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：70 / 70、根拠なし：0
- 優先レビュー（高）
  1. **なし**：すべてのテストケースはソースコードから直接導出されています

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

- E-01: `sp_BlitzAnalysis.sql` - メインストアドプロシージャ定義（行1-891）
- E-02: `sp_BlitzAnalysis.sql` 行10-35 - パラメータ定義
- E-03: `sp_BlitzAnalysis.sql` 行40-45 - バージョン情報とVersionCheckMode処理
- E-04: `sp_BlitzAnalysis.sql` 行47-74 - ヘルプモード処理
- E-05: `sp_BlitzAnalysis.sql` 行88-93 - データベース名検証
- E-06: `sp_BlitzAnalysis.sql` 行118-129 - BlitzCacheSortorder検証
- E-07: `sp_BlitzAnalysis.sql` 行131-141 - Maxdop検証
- E-08: `sp_BlitzAnalysis.sql` 行143-154 - MemoryGrants/Spills列存在確認
- E-09: `sp_BlitzAnalysis.sql` 行157-184 - 日付パラメータのデフォルト値設定
- E-10: `sp_BlitzAnalysis.sql` 行186-190 - OutputSchemaNameのデフォルト値設定
- E-11: `sp_BlitzAnalysis.sql` 行192-197 - BringThePain検証
- E-12: `sp_BlitzAnalysis.sql` 行199-204 - レポート情報出力
- E-13: `sp_BlitzAnalysis.sql` 行207-292 - BlitzFirstデータ取得処理
- E-14: `sp_BlitzAnalysis.sql` 行294-365 - WaitStatsデータ取得処理
- E-15: `sp_BlitzAnalysis.sql` 行367-442 - FileStatsデータ取得処理
- E-16: `sp_BlitzAnalysis.sql` 行444-490 - PerfmonStatsデータ取得処理
- E-17: `sp_BlitzAnalysis.sql` 行492-743 - BlitzCacheデータ取得処理
- E-18: `sp_BlitzAnalysis.sql` 行747-888 - BlitzWhoデータ取得処理
- E-19: `sp_BlitzAnalysis.sql` 行262-265, 336-339, 409-412, 463-466, 706-715, 859-862 - Debugモード処理

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | UT-BLA-001: @Help=1でヘルプ情報が表示される | E-04 (行47-74) | ○ |
| C-02 | UT-BLA-002: @VersionCheckMode=1でバージョン情報のみ返す | E-03 (行42-45) | ○ |
| C-03 | UT-BLA-003: デフォルトパラメータで正常実行 | E-02, E-13-E-18 | ○ |
| C-04 | UT-BLA-004: @StartDate=NULLで1時間前設定 | E-09 (行157-161) | ○ |
| C-05 | UT-BLA-005: 両日付NULLで現在時刻設定 | E-09 (行163-168) | ○ |
| C-06 | UT-BLA-006: @EndDate=NULL、@StartDate+1時間が現在より前の場合 | E-09 (行174-178) | ○ |
| C-07 | UT-BLA-007: @EndDate=NULL、@StartDate+1時間が現在より後の場合 | E-09 (行179-183) | ○ |
| C-08 | UT-BLA-008: 明示的日付指定 | E-09 | ○ |
| C-09 | UT-BLA-009: 存在しないDB名でエラー | E-05 (行89-93) | ○ |
| C-10 | UT-BLA-010: 存在するDB名で処理継続 | E-05 (行89) | ○ |
| C-11 | UT-BLA-011: 無効なソートオプションでエラー | E-06 (行125-129) | ○ |
| C-12 | UT-BLA-012: @BlitzCacheSortorder='cpu'で正常動作 | E-06, E-17 (行649) | ○ |
| C-13 | UT-BLA-013: @BlitzCacheSortorder='reads'で正常動作 | E-06, E-17 (行650) | ○ |
| C-14 | UT-BLA-014: @BlitzCacheSortorder='writes'で正常動作 | E-06, E-17 (行651) | ○ |
| C-15 | UT-BLA-015: @BlitzCacheSortorder='duration'で正常動作 | E-06, E-17 (行652) | ○ |
| C-16 | UT-BLA-016: @BlitzCacheSortorder='executions'で正常動作 | E-06, E-17 (行653) | ○ |
| C-17 | UT-BLA-017: @BlitzCacheSortorder='memory grant'で正常動作 | E-06, E-08, E-17 (行654) | ○ |
| C-18 | UT-BLA-018: @BlitzCacheSortorder='spills'で正常動作 | E-06, E-08, E-17 (行655) | ○ |
| C-19 | UT-BLA-019: @BlitzCacheSortorder='all'で全ソート取得 | E-06, E-17 (行662) | ○ |
| C-20 | UT-BLA-020: @BlitzCacheSortorder=NULLでデフォルト'cpu' | E-06 (行118-121) | ○ |
| C-21 | UT-BLA-021: 4時間超、'all'、@BringThePain=0でエラー | E-11 (行193-197) | ○ |
| C-22 | UT-BLA-022: 4時間超、'all'、@BringThePain=1で正常実行 | E-11 (行193) | ○ |
| C-23 | UT-BLA-023: 4時間ちょうど、'all'、@BringThePain=0で正常 | E-11 (行193: DATEDIFF > 4) | ○ |
| C-24 | UT-BLA-024: @Maxdop=1で正常実行 | E-07 | ○ |
| C-25 | UT-BLA-025: @Maxdop=NULLでデフォルト1 | E-07 (行132-135) | ○ |
| C-26 | UT-BLA-026: @Maxdop>CPU数で0に設定 | E-07 (行138-141) | ○ |
| C-27 | UT-BLA-027: @OutputSchemaName=NULLで'dbo' | E-10 (行187-190) | ○ |
| C-28 | UT-BLA-028: BlitzFirstテーブル不存在でスキップ | E-13 (行274-278) | ○ |
| C-29 | UT-BLA-029: @OutputTableNameBlitzFirst=NULLでスキップ | E-13 (行269-273) | ○ |
| C-30 | UT-BLA-030: WaitStatsテーブル不存在でスキップ | E-14 (行347-352) | ○ |
| C-31 | UT-BLA-031: @OutputTableNameWaitStats=NULLでスキップ | E-14 (行343-347) | ○ |
| C-32 | UT-BLA-032: FileStatsテーブル不存在でスキップ | E-15 (行420-425) | ○ |
| C-33 | UT-BLA-033: @OutputTableNameFileStats=NULLでスキップ | E-15 (行416-420) | ○ |
| C-34 | UT-BLA-034: PerfmonStatsテーブル不存在でスキップ | E-16 (行474-479) | ○ |
| C-35 | UT-BLA-035: @OutputTableNamePerfmonStats=NULLでスキップ | E-16 (行470-474) | ○ |
| C-36 | UT-BLA-036: BlitzCacheテーブル不存在でスキップ | E-17 (行724-728) | ○ |
| C-37 | UT-BLA-037: @OutputTableNameBlitzCache=NULLでスキップ | E-17 (行719-723) | ○ |
| C-38 | UT-BLA-038: BlitzWhoテーブル不存在でスキップ | E-18 (行871-875) | ○ |
| C-39 | UT-BLA-039: @OutputTableNameBlitzWho=NULLでスキップ | E-18 (行866-870) | ○ |
| C-40 | UT-BLA-040: BlitzFirstデータ取得 | E-13 (行207-292) | ○ |
| C-41 | UT-BLA-041: BlitzFirstデータなしでメッセージ | E-13 (行236-239) | ○ |
| C-42 | UT-BLA-042: @MaxBlitzFirstPriorityでフィルタ | E-13 (行219, 253) | ○ |
| C-43 | UT-BLA-043: @MaxBlitzFirstPriority=1で優先度1のみ | E-13 (行219: BETWEEN 1 AND @MaxBlitzFirstPriority) | ○ |
| C-44 | UT-BLA-044: WaitStatsデータ取得 | E-14 (行294-365) | ○ |
| C-45 | UT-BLA-045: @WaitStatsTopで件数制限 | E-14 (行328) | ○ |
| C-46 | UT-BLA-046: @WaitStatsTop=1で1件 | E-14 (行328) | ○ |
| C-47 | UT-BLA-047: FileStatsデータ取得 | E-15 (行367-442) | ○ |
| C-48 | UT-BLA-048: @ReadLatencyThreshold超過でYes | E-15 (行373-376) | ○ |
| C-49 | UT-BLA-049: @WriteLatencyThreshold超過でYes | E-15 (行374-376) | ○ |
| C-50 | UT-BLA-050: 両閾値以下でNo | E-15 (行375-376) | ○ |
| C-51 | UT-BLA-051: PerfmonStatsデータ取得 | E-16 (行444-490) | ○ |
| C-52 | UT-BLA-052: BlitzCacheデータ取得 | E-17 (行492-743) | ○ |
| C-53 | UT-BLA-053: 各CheckDateでTOP 5取得 | E-17 (行573) | ○ |
| C-54 | UT-BLA-054: BlitzWhoデータ取得 | E-18 (行747-888) | ○ |
| C-55 | UT-BLA-055: CheckDateとstart_timeでフィルタ | E-18 (行847) | ○ |
| C-56 | UT-BLA-056: @DatabasenameでBlitzCacheフィルタ | E-17 (行505-507, 632-633) | ○ |
| C-57 | UT-BLA-057: @DatabasenameでFileStatsにtempdb含む | E-15 (行394-398) | ○ |
| C-58 | UT-BLA-058: @DatabasenameでBlitzWhoフィルタ | E-18 (行849-853) | ○ |
| C-59 | UT-BLA-059: @Databasename=NULLで全DBデータ | E-15, E-17, E-18 | ○ |
| C-60 | UT-BLA-060: @Servernameでフィルタ | E-13 (行218), E-14 (行325), E-15 (行391), E-16 (行454), E-17 (行627), E-18 (行846) | ○ |
| C-61 | UT-BLA-061: @Servername省略で@@SERVERNAME | E-02 (行22) | ○ |
| C-62 | UT-BLA-062: @Debug=1でSQLがPRINT | E-19 | ○ |
| C-63 | UT-BLA-063: @Debug=0でSQLがPRINTされない | E-19 | ○ |
| C-64 | UT-BLA-064: レポートウィンドウ情報出力 | E-12 (行200-204) | ○ |
| C-65 | UT-BLA-065: MemoryGrant列サポート確認 | E-08 (行144-148) | ○ |
| C-66 | UT-BLA-066: Spills列サポート確認 | E-08 (行150-154) | ○ |
| C-67 | UT-BLA-067: QUOTENAMEでテーブル名修飾 | E-01 (行96-101) | ○ |
| C-68 | UT-BLA-068: #BlitzFirstCountsの再作成 | E-01 (行103-115) | ○ |
| C-69 | UT-BLA-069: @Version, @VersionDate出力パラメータ | E-02 (行29-30), E-03 (行40) | ○ |
| C-70 | UT-BLA-070: @BlitzCacheSortorderの大文字小文字変換 | E-06 (行123) | ○ |

## 4) 不足情報（Unknown / Missing）
- なし - すべてのテストケースはソースコード `sp_BlitzAnalysis.sql` から直接導出されています。

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - すべてのテストケースがソースコードの実装に基づいており、根拠が明確です。

## 6) レビュアーチェックリスト（最小）
- [ ] 高優先度テストケース（UT-BLA-003, 004, 005, 008, 009, 010, 011, 019, 021, 022, 040, 042, 044, 047, 048, 049, 052, 054, 056, 057, 060, 067）が網羅的であることを確認
- [ ] パラメータ検証テストケース（UT-BLA-009, 011）のエラーメッセージが実装と一致していることを確認
- [ ] 境界値テストケース（UT-BLA-020, 023, 025, 026, 027, 043, 046, 059）の条件が正確であることを確認
- [ ] テーブル存在検証テストケース（UT-BLA-028-039）が全テーブルを網羅していることを確認
- [ ] データ取得テストケース（UT-BLA-040-058）がフィルタ条件を正しく検証していることを確認
- [ ] SQL Serverバージョン依存機能（UT-BLA-065, 066）の動作確認テストが適切であることを確認
