"No","テストID","テスト種別","要件カテゴリ","テストケース名","テスト条件","測定項目","合格基準","優先度","備考"
"1","NFT-001","性能テスト","レスポンス","sp_Blitz実行時間テスト","100データベース環境でsp_Blitzを@CheckUserDatabaseObjects=1で実行","実行時間（秒）","5分以内に完了","高","@BringThePain=1が必要な場合あり"
"2","NFT-002","性能テスト","レスポンス","sp_BlitzCache実行時間テスト","プランキャッシュ10000件以上の環境で@Top=100で実行","実行時間（秒）","2分以内に完了","高","@SortOrder='all'使用時は時間増加"
"3","NFT-003","性能テスト","レスポンス","sp_BlitzFirst実行時間テスト","高負荷環境で@Seconds=5で実行","サンプリング精度","指定秒数±1秒以内で完了","高","リアルタイム診断用"
"4","NFT-004","性能テスト","レスポンス","sp_BlitzIndex実行時間テスト","1000テーブル以上の環境で@GetAllDatabases=1で実行","実行時間（秒）","10分以内に完了","中","@ThresholdMB設定で調整可能"
"5","NFT-005","性能テスト","レスポンス","sp_BlitzLock実行時間テスト","7日分のデッドロック履歴（1000件以上）を解析","実行時間（秒）","3分以内に完了","中","@StartDate/@EndDateで期間調整"
"6","NFT-006","性能テスト","レスポンス","sp_BlitzWho実行時間テスト","同時接続100セッション以上の環境で実行","実行時間（秒）","10秒以内に完了","高","リアルタイム監視用"
"7","NFT-007","性能テスト","リソース使用率","sp_Blitz一時テーブル使用量","大規模環境でsp_Blitz実行時のtempdb使用量","tempdb使用量（MB）","500MB以内","中","#BlitzResults等の一時テーブル"
"8","NFT-008","性能テスト","リソース使用率","sp_BlitzCacheメモリ使用量","##BlitzCacheProcs/##BlitzCacheResultsのメモリ使用量","メモリ使用量（MB）","1GB以内","中","グローバル一時テーブル使用"
"9","NFT-009","性能テスト","スループット","並行実行テスト","複数ユーザーが同時にsp_BlitzFirstを実行","同時実行数","5ユーザー同時実行可能","中","READ UNCOMMITTEDで動作"
"10","NFT-010","負荷テスト","高負荷環境","大量データベース環境テスト","500データベース環境でのsp_Blitz実行","正常完了","エラーなく完了","中","@BringThePain=1必須"
"11","NFT-011","負荷テスト","高負荷環境","大量インデックス環境テスト","10000インデックス以上の環境でsp_BlitzIndex実行","正常完了","エラーなく完了","中","@SkipPartitions=1推奨"
"12","NFT-012","負荷テスト","高負荷環境","大量プランキャッシュ環境テスト","プランキャッシュ50000件以上でsp_BlitzCache実行","正常完了","エラーなく完了","中","@Top制限推奨"
"13","NFT-013","互換性テスト","SQLServer互換性","SQL Server 2008対応テスト","SQL Server 2008環境で全プロシージャ実行","正常動作","基本機能が動作","低","一部機能制限あり（非サポート）"
"14","NFT-014","互換性テスト","SQLServer互換性","SQL Server 2012対応テスト","SQL Server 2012環境で全プロシージャ実行","正常動作","全機能が動作","高","sp_BlitzLockは2012以降"
"15","NFT-015","互換性テスト","SQLServer互換性","SQL Server 2014対応テスト","SQL Server 2014環境で全プロシージャ実行","正常動作","全機能が動作","高",""
"16","NFT-016","互換性テスト","SQLServer互換性","SQL Server 2016対応テスト","SQL Server 2016環境で全プロシージャ実行","正常動作","全機能が動作","高","Query Store関連機能追加"
"17","NFT-017","互換性テスト","SQLServer互換性","SQL Server 2017対応テスト","SQL Server 2017環境で全プロシージャ実行","正常動作","全機能が動作","高","Linux対応確認"
"18","NFT-018","互換性テスト","SQLServer互換性","SQL Server 2019対応テスト","SQL Server 2019環境で全プロシージャ実行","正常動作","全機能が動作","高",""
"19","NFT-019","互換性テスト","SQLServer互換性","SQL Server 2022対応テスト","SQL Server 2022環境で全プロシージャ実行","正常動作","全機能が動作","高",""
"20","NFT-020","互換性テスト","SQLServer互換性","SQL Server 2025対応テスト","SQL Server 2025環境で全プロシージャ実行","正常動作","全機能が動作","高","AI機能連携確認"
"21","NFT-021","互換性テスト","プラットフォーム互換性","Azure SQL DB互換性テスト","Azure SQL DB環境でInstall-Azure.sql実行","正常動作","対応プロシージャが動作","中","DMV差異により一部非対応"
"22","NFT-022","互換性テスト","プラットフォーム互換性","Amazon RDS互換性テスト","Amazon RDS SQL Server環境で全プロシージャ実行","正常動作","全機能が動作","高",""
"23","NFT-023","互換性テスト","プラットフォーム互換性","Linux SQL Server互換性テスト","SQL Server on Linux環境で対応プロシージャ実行","正常動作","sp_DatabaseRestore以外が動作","中","xp_cmdshell非対応"
"24","NFT-024","セキュリティテスト","権限確認","VIEW SERVER STATE権限テスト","VIEW SERVER STATE権限のみでsp_Blitz実行","正常動作","基本機能が動作","高","sysadmin不要の最小権限"
"25","NFT-025","セキュリティテスト","権限確認","sysadmin権限テスト","sysadmin権限でsp_Blitz実行","正常動作","全機能が動作","高","DBCC等の全機能利用可能"
"26","NFT-026","セキュリティテスト","権限確認","db_datareader権限テスト","db_datareader権限でsp_BlitzIndex実行","正常動作","読み取り系機能が動作","中",""
"27","NFT-027","セキュリティテスト","権限確認","ALTER TRACE権限テスト","ALTER TRACE権限なしでsp_Blitz実行","スキップ動作","トレース関連チェックがスキップ","中","@SkipTrace=1で動作"
"28","NFT-028","セキュリティテスト","権限確認","xp_cmdshell権限テスト","xp_cmdshell実行権限なしでsp_DatabaseRestore実行","エラーハンドリング","適切なエラーメッセージ表示","中",""
"29","NFT-029","セキュリティテスト","権限確認","xp_fixeddrives権限テスト","xp_fixeddrives実行権限なしでsp_Blitz実行","スキップ動作","ディスク関連チェックがスキップ","低",""
"30","NFT-030","セキュリティテスト","権限確認","msdb読み取り権限テスト","msdbへの読み取り権限なしでsp_Blitz実行","スキップ動作","ジョブ関連チェックがスキップ","中","@SkipMSDB_jobs=1"
"31","NFT-031","セキュリティテスト","認証","Windows認証テスト","Windows認証アカウントで全プロシージャ実行","正常動作","認証方式に依存しない動作","高",""
"32","NFT-032","セキュリティテスト","認証","SQL認証テスト","SQL認証アカウントで全プロシージャ実行","正常動作","認証方式に依存しない動作","高",""
"33","NFT-033","セキュリティテスト","入力検証","SQLインジェクション対策テスト","@DatabaseName等に悪意あるSQL文字列を入力","エラーハンドリング","インジェクション不可","高","QUOTENAME使用確認"
"34","NFT-034","可用性テスト","障害復旧","AG環境セカンダリ実行テスト","Availability Groupセカンダリレプリカでsp_BlitzCache実行","正常動作","ApplicationIntent=ReadOnly接続で動作","中","@IgnoreReadableReplicaDBs設定"
"35","NFT-035","可用性テスト","障害復旧","オフラインDB存在時テスト","オフラインデータベースが存在する環境でsp_Blitz実行","スキップ動作","オフラインDBをスキップ","高","2回目実行で正常動作"
"36","NFT-036","可用性テスト","障害復旧","sp_BlitzBackups RPO確認テスト","バックアップ履歴からRPO（Recovery Point Objective）を算出","RPO値（分）","設定目標値以内","高","@HoursBack設定で期間指定"
"37","NFT-037","可用性テスト","障害復旧","sp_BlitzBackups RTO確認テスト","バックアップ履歴からRTO（Recovery Time Objective）を算出","RTO値（分）","設定目標値以内","高","@RestoreSpeedFullMBps等で調整"
"38","NFT-038","可用性テスト","障害復旧","sp_DatabaseRestoreリカバリテスト","フルバックアップ+ログバックアップからのリストア","正常完了","データ復元成功","高","DBCC CHECKDBオプション"
"39","NFT-039","信頼性テスト","エラーハンドリング","不正パラメータエラーテスト","sp_Blitzに不正な@OutputType値を指定","エラーメッセージ","適切なエラーメッセージ表示","中","RAISERROR使用"
"40","NFT-040","信頼性テスト","エラーハンドリング","存在しないDB指定テスト","sp_BlitzIndexに存在しないデータベース名を指定","エラーメッセージ","適切なエラーメッセージ表示","中",""
"41","NFT-041","信頼性テスト","エラーハンドリング","タイムアウトハンドリングテスト","長時間実行時のタイムアウト動作確認","動作継続性","適切なタイムアウト処理","中","WITH RECOMPILE使用"
"42","NFT-042","信頼性テスト","データ整合性","sp_BlitzFirst出力テーブル整合性","@OutputTableName指定でログ出力後のデータ確認","データ完全性","全カラムに正しいデータが格納","高","ServerName/CheckDate必須"
"43","NFT-043","信頼性テスト","データ整合性","sp_BlitzCache出力整合性","@OutputTableName指定で結果出力後のデータ確認","データ完全性","クエリプラン等が正しく格納","高",""
"44","NFT-044","信頼性テスト","データ整合性","バージョン情報整合性テスト","@VersionCheckMode=1で各プロシージャのバージョン取得","バージョン一致","全プロシージャのバージョンが一致","中","8.29が現行バージョン"
"45","NFT-045","信頼性テスト","トランザクション分離","READ UNCOMMITTED動作テスト","SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED確認","ブロッキング","他トランザクションをブロックしない","高","診断ツールとして重要"
"46","NFT-046","運用性テスト","ログ機能","sp_BlitzFirstログメッセージテスト","@LogMessage指定でカスタムメッセージをテーブルに記録","ログ記録","メッセージが正しく記録","中","運用ログ用途"
"47","NFT-047","運用性テスト","ログ機能","sp_BlitzFirst定期実行テスト","Agent Jobで15分間隔の定期実行設定","継続稼働","24時間エラーなく継続","高","監視用途"
"48","NFT-048","運用性テスト","出力形式","TABLE出力形式テスト","@OutputType='TABLE'で結果セット出力","出力形式","正しいスキーマで出力","高",""
"49","NFT-049","運用性テスト","出力形式","MARKDOWN出力形式テスト","@OutputType='MARKDOWN'で結果セット出力（sp_Blitz）","出力形式","Markdown形式で出力","低",""
"50","NFT-050","運用性テスト","出力形式","XML出力形式テスト","@OutputType='XML'で結果セット出力（sp_Blitz）","出力形式","XML形式で出力","低",""
"51","NFT-051","運用性テスト","出力形式","Excel出力形式テスト","@ExportToExcel=1で結果セット出力（sp_BlitzCache）","出力形式","XMLフィールドが除外","中","コピー＆ペースト用"
"52","NFT-052","運用性テスト","ヘルプ機能","@Help=1出力テスト","各プロシージャを@Help=1で実行","ヘルプ表示","パラメータ説明が表示","低","ドキュメント機能"
"53","NFT-053","運用性テスト","デバッグ機能","@Debug=1出力テスト","各プロシージャを@Debug=1で実行","デバッグ情報","実行ステップが表示","低","トラブルシューティング用"
"54","NFT-054","運用性テスト","出力先制御","リンクサーバー経由出力テスト","@OutputServerName指定でリンクサーバー経由の出力","正常出力","リモートテーブルに記録","低","QueryPlanはNVARCHAR(MAX)"
"55","NFT-055","運用性テスト","保持期間管理","@OutputTableRetentionDaysテスト","@OutputTableRetentionDays=7で古いデータ削除確認","データ削除","7日以前のデータが削除","中","自動クリーンアップ"
"56","NFT-056","運用性テスト","フィルタリング","@IgnorePrioritiesAboveテスト","@IgnorePrioritiesAbove=50で優先度フィルタ","結果フィルタ","50以下の優先度のみ出力","中","日次報告用"
"57","NFT-057","運用性テスト","フィルタリング","@IgnoreDatabasesテスト","@IgnoreDatabases指定で特定DBを除外（sp_BlitzIndex）","結果フィルタ","指定DBが除外","中",""
"58","NFT-058","運用性テスト","スキップ機能","BlitzChecksToSkipテスト","スキップテーブルを使用したチェック除外","チェック除外","指定チェックがスキップ","中","カスタマイズ機能"
"59","NFT-059","保守性テスト","アンインストール","Uninstall.sql実行テスト","Uninstall.sqlで全プロシージャ削除","削除完了","全オブジェクトが削除","低",""
"60","NFT-060","保守性テスト","アップグレード","Install-All-Scripts.sql再実行テスト","既存環境でInstall-All-Scripts.sql再実行","更新完了","プロシージャが更新","高","冪等性確認"
