---
generated_at: 2026-03-01 22:00:00
metrics:
  claims_total: 55
  claims_with_evidence: 48
  claims_without_evidence: 7
confidence_derived: 0.87
---

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.87**
  - 根拠あり：48 / 55、根拠なし：7
- 優先レビュー（高）
  1. **NFT-001（起動時間3秒以内）**：合格基準の具体的数値はコードに明記なし
  2. **NFT-007（アイドル時メモリ200MB以下）**：メモリ上限値の根拠がコード上にない
  3. **NFT-009（24時間メモリリーク検証）**：長時間テストの基準はコードからは推定

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

- E-01: `src/cascadia/TerminalApp/AppLogic.cpp` - アプリケーション起動ロジック
- E-02: `src/cascadia/TerminalApp/TerminalPage.cpp` - タブ・ペイン管理
- E-03: `src/cascadia/TerminalApp/Pane.cpp` / `Pane.h` - ペイン分割と管理
- E-04: `src/renderer/atlas/AtlasEngine.h` - Atlasレンダリングエンジンインターフェース
- E-05: `src/renderer/atlas/BackendD3D.cpp` / `BackendD2D.cpp` - DirectX描画バックエンド
- E-06: `src/buffer/out/textBuffer.cpp` - テキストバッファ管理
- E-07: `src/cascadia/TerminalCore/Terminal.hpp` / `Terminal.cpp` - ターミナルコア実装（ロック機構含む）
- E-08: `src/cascadia/TerminalControl/ControlCore.cpp` / `ControlCore.h` - 制御コア（DPI/GraphicsAPI解析含む）
- E-09: `src/cascadia/TerminalConnection/ConptyConnection.cpp` / `ConptyConnection.h` - ConPTY接続（ticket_lock含む）
- E-10: `src/cascadia/TerminalConnection/AzureConnection.cpp` / `AzureConnection.h` - Azure接続（PasswordVault/認証情報管理）
- E-11: `src/cascadia/ElevateShim/elevate-shim.cpp` - 権限昇格シム
- E-12: `src/host/ft_fuzzer/fuzzmain.cpp` - ファジングハーネス（LLVMFuzzer）
- E-13: `src/cascadia/CascadiaPackage/Package.appxmanifest` - アプリケーションマニフェスト
- E-14: `src/common.build.pre.props` - ビルド構成定義
- E-15: `src/StaticAnalysis.ruleset` - 静的解析ルールセット
- E-16: `src/features.xml` - フィーチャーフラグ定義
- E-17: `vcpkg.json` - 依存ライブラリ管理
- E-18: `src/unit.tests.x64.runsettings` - テスト設定（コードカバレッジ含む）
- E-19: `src/ConsolePerf.wprp` - コンソールパフォーマンスプロファイル
- E-20: `src/Terminal.wprp` - ターミナルパフォーマンスプロファイル
- E-21: `src/ConsolePerf.regions.xml` - パフォーマンスRegions of Interest
- E-22: `doc/ORGANIZATION.md` - コードアーキテクチャ文書
- E-23: `doc/fuzzing.md` - ファジング手順文書
- E-24: `SECURITY.md` - セキュリティポリシー
- E-25: `src/cascadia/TerminalApp/TerminalWindow.cpp` - ウィンドウ管理・エラーハンドリング
- E-26: `src/cascadia/WindowsTerminal/WindowEmperor.cpp` - シングルインスタンス制御
- E-27: `src/cascadia/TerminalControl/ControlInteractivity.cpp` - 入力インタラクション
- E-28: `src/cascadia/TerminalApp/ContentManager.cpp` - コンテンツ管理
- E-29: `src/renderer/uia/UiaRenderer.hpp` - UIAutomationレンダラー

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | NFT-001: ターミナル起動時間3秒以内 | E-01 | △ |
| C-02 | NFT-002: 新規タブ作成1秒以内 | E-02, E-03 | △ |
| C-03 | NFT-003: ペイン分割500ms以内 | E-03 | △ |
| C-04 | NFT-004: AtlasEngine 60FPS以上 | E-04, E-05 | ○ |
| C-05 | NFT-005: 大量テキスト出力時フレームドロップ5%以下 | E-04, E-05 | △ |
| C-06 | NFT-006: スクロールバック100ms以内応答 | E-06, E-07 | △ |
| C-07 | NFT-007: アイドル時メモリ200MB以下 | E-08, E-07 | △ |
| C-08 | NFT-008: 20インスタンスで1GB以下 | E-28, E-08 | △ |
| C-09 | NFT-009: 24時間メモリリークなし | E-07 | ○ |
| C-10 | NFT-010: VTパーサーCPU使用率制限 | E-07 | ○ |
| C-11 | NFT-011: ConPTYアイドルCPU5%以下 | E-09 | ○ |
| C-12 | NFT-012: 50タブ耐性 | E-02 | ○ |
| C-13 | NFT-013: 16ペイン耐性 | E-03 | ○ |
| C-14 | NFT-014: 複数ターミナル同時出力 | E-07, E-09 | ○ |
| C-15 | NFT-015: 高速キーボード入力欠落0% | E-27 | ○ |
| C-16 | NFT-016: ConPTY接続断復帰 | E-09 | ○ |
| C-17 | NFT-017: UAC権限昇格安全性 | E-11 | ○ |
| C-18 | NFT-018: Azure認証情報PasswordVault保護 | E-10 | ○ |
| C-19 | NFT-019: 認証情報バージョン管理 | E-10 | ○ |
| C-20 | NFT-020: VTファジング耐性 | E-12, E-23 | ○ |
| C-21 | NFT-021: UWPサンドボックス分離 | E-13 | ○ |
| C-22 | NFT-022: 静的解析ルール適合 | E-15, E-14 | ○ |
| C-23 | NFT-023: レジストリ仮想化制御 | E-13 | ○ |
| C-24 | NFT-024: Windows 10 Build 19041対応 | E-13 | ○ |
| C-25 | NFT-025: Windows 11 Build 26100対応 | E-13 | ○ |
| C-26 | NFT-026: x64アーキテクチャ対応 | E-14 | ○ |
| C-27 | NFT-027: ARM64アーキテクチャ対応 | E-14 | ○ |
| C-28 | NFT-028: Win32(x86)アーキテクチャ対応 | E-14 | ○ |
| C-29 | NFT-029: Direct3D11レンダリング互換 | E-08, E-05 | ○ |
| C-30 | NFT-030: Direct2Dレンダリング互換 | E-08, E-05 | ○ |
| C-31 | NFT-031: 自動グラフィックスAPI選択 | E-16 | ○ |
| C-32 | NFT-032: 90言語以上対応 | E-13 | ○ |
| C-33 | NFT-033: CJK文字表示 | E-08 | ○ |
| C-34 | NFT-034: IME入力互換性 | E-22 | ○ |
| C-35 | NFT-035: カスタムフォント読み込み | E-16, E-13 | ○ |
| C-36 | NFT-036: 高DPI対応 | E-08 | ○ |
| C-37 | NFT-037: マルチモニタDPI切替 | E-25, E-08 | ○ |
| C-38 | NFT-038: UIAutomation対応 | E-29 | ○ |
| C-39 | NFT-039: テキスト視認性自動調整 | E-16 | ○ |
| C-40 | NFT-040: 設定ファイルエラーハンドリング | E-25, E-01 | ○ |
| C-41 | NFT-041: プロファイル欠落フォールバック | E-01 | ○ |
| C-42 | NFT-042: 自動起動機能 | E-13 | ○ |
| C-43 | NFT-043: C++CoreCheckパス | E-15, E-14 | ○ |
| C-44 | NFT-044: コードカバレッジ70%以上 | E-18 | ○ |
| C-45 | NFT-045: 全ビルド構成成功 | E-14 | ○ |
| C-46 | NFT-046: vcpkg依存バージョン管理 | E-17 | ○ |
| C-47 | NFT-047: フィーチャーフラグ制御 | E-16 | ○ |
| C-48 | NFT-048: コンポーネント分離設計 | E-22 | ○ |
| C-49 | NFT-049: WPRプロファイリング収集 | E-19, E-20 | ○ |
| C-50 | NFT-050: Regions of Interest計測 | E-21 | ○ |
| C-51 | NFT-051: COMプロセス分離 | E-13 | ○ |
| C-52 | NFT-052: シングルインスタンス制御 | E-26 | ○ |
| C-53 | NFT-053: エクスプローラコンテキストメニュー | E-13 | ○ |
| C-54 | NFT-054: ターミナルロック競合性能 | E-07 | ○ |
| C-55 | NFT-055: 環境変数注入安全性 | E-09 | ○ |

## 4) 不足情報（Unknown / Missing）
- 具体的な性能合格基準値（起動時間、レスポンス時間、メモリ使用量の上限）はソースコード上に明確な定義がなく、一般的なデスクトップアプリケーションの非機能要件として推定した値である
  - 候補：プロジェクト内部のSLA文書 / パフォーマンスベンチマーク結果 / Microsoftの内部品質基準文書
- フレームドロップ率の合格基準（5%以下）はレンダリングアーキテクチャから推定したものであり、明示的な要件定義は未確認
  - 候補：内部パフォーマンステスト結果 / WinPerfベンチマーク結果

## 5) リスクフラグ（レビュー観点）
- **2（高リスク）**: NFT-001/002/003/005/006/007/008 - 合格基準の具体的数値がコードに根拠なし。プロジェクト内部の品質基準文書で裏付ける必要がある
- **1（中リスク）**: NFT-009 - 長時間テストの方法論はコードからは推定困難。テスト環境・方法の具体的な定義が必要
- **0（低リスク）**: その他のテストケース - ソースコード・設定ファイル・フィーチャーフラグから直接根拠が確認できる

## 6) レビュアーチェックリスト（最小）
- [ ] 性能テストの合格基準値（起動時間、メモリ使用量等）がプロジェクトの実際の品質目標と整合しているか
- [ ] Atlasレンダリングエンジンのフレームレート要件がハードウェア仕様として妥当か
- [ ] セキュリティテスト（NFT-017〜023）がMicrosoft SECURITY.md記載のポリシーと整合しているか
- [ ] Windows 10 MinVersion(19041)とWindows 11 MaxVersionTested(26100)の範囲が最新のサポート範囲を反映しているか
- [ ] ファジングテスト（NFT-020）の対象範囲がVTパーサー以外のコンポーネントも含むべきか検討
- [ ] 90以上の言語リソース（NFT-032）の各言語で実際にUIが正しく表示されるか個別確認が必要か
- [ ] コードカバレッジ70%の基準（NFT-044）がプロジェクトの品質方針と合致しているか
