---
generated_at: 2026-02-22 12:00:00
metrics:
  claims_total: 35
  claims_with_evidence: 32
  claims_without_evidence: 3
confidence_derived: 0.91
---

# 根拠レポート：テスト方針書

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.91**
  - 根拠あり：32 / 35、根拠なし：3
- 優先レビュー（高）
  1. **カバレッジ目標値の未設定**: プロジェクトに明示的なカバレッジ閾値が見つからない
  2. **不具合管理の詳細フロー**: GitHub Issues以外の管理プロセスの有無が不明
  3. **CIワークフローのトリガー条件詳細**: 各ワークフローの厳密なトリガー条件（ブランチフィルタ等）の確認が必要

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。

- E-01: `test/assert.rb` — テストアサーションフレームワーク
- E-02: `test/bintest.rb` — バイナリテストローダー
- E-03: `test/t/*.rb` — コア言語テストファイル群（43ファイル）
- E-04: `mrbgems/mruby-test/driver.c` — テストドライバーC実装
- E-05: `mrbgems/mruby-test/mrbgem.rake` — テストビルド設定
- E-06: `Makefile` — プロジェクトMakefile
- E-07: `Rakefile` — Rakeタスク定義
- E-08: `tasks/test.rake` — テストRakeタスク
- E-09: `tasks/benchmark.rake` — ベンチマークRakeタスク
- E-10: `.github/workflows/build.yml` — メインCI（ビルド・テスト）
- E-11: `.github/workflows/coverage.yml` — カバレッジ計測ワークフロー
- E-12: `.github/workflows/codeql-analysis.yml` — CodeQL静的解析
- E-13: `.github/workflows/oss-fuzz.yml` — ファジングテスト
- E-14: `.github/workflows/pre-commit.yml` — Pre-commitチェック
- E-15: `.github/workflows/super-linter.yml` — Super-Linter
- E-16: `.github/workflows/ls-lint.yml` — ファイル名Lint
- E-17: `build_config/default.rb` — デフォルトビルド設定
- E-18: `build_config/ci/gcc-clang.rb` — GCC/Clang CI設定
- E-19: `build_config/ci/msvc.rb` — MSVC CI設定
- E-20: `mrbgems/mruby-dir/test/dir.rb` — Dir gemテスト
- E-21: `mrbgems/mruby-dir/test/dirtest.c` — Dir gemテストヘルパーC実装
- E-22: `mrbgems/mruby-bin-mruby/bintest/mruby.rb` — mrubyバイナリテスト
- E-23: `mrbgems/mruby-bin-mrbc/bintest/mrbc.rb` — mrbcバイナリテスト
- E-24: `mrbgems/mruby-bin-mirb/bintest/mirb.rb` — mirbバイナリテスト
- E-25: `mrbgems/mruby-bin-debugger/bintest/mrdb.rb` — デバッガバイナリテスト
- E-26: `benchmark/bm_*.rb` — ベンチマークファイル群
- E-27: `benchmark/plot.gpl` — gnuplotスクリプト
- E-28: `mrbgems/mruby-test/vformat.c` — フォーマット関数

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | mrubyはカスタムテストフレームワーク（mruby-test gem）を採用 | E-04, E-05 | ○ |
| C-02 | テストアサーションフレームワークは`test/assert.rb`に実装 | E-01 | ○ |
| C-03 | テストドライバーは`driver.c`でC言語実装 | E-04 | ○ |
| C-04 | 単体テストは`test/t/`配下の43ファイル | E-03 | ○ |
| C-05 | 結合テストは各gem内`test/`ディレクトリ | E-20, E-21 | ○ |
| C-06 | バイナリテストは`mrbgems/mruby-bin-*/bintest/`配下 | E-22, E-23, E-24, E-25 | ○ |
| C-07 | バイナリテストはOpen3を使用した外部プロセステスト | E-02 | ○ |
| C-08 | ベンチマークは`benchmark/`配下8ファイル、4回反復計測 | E-09, E-26 | ○ |
| C-09 | ISO/IEC 30170仕様コードがテストに付与されている | E-03 | ○ |
| C-10 | CI環境はUbuntu 24.04/22.04, macOS 15/14, Windows 2025/2022 | E-10 | ○ |
| C-11 | 複数コンパイラ対応: GCC, Clang, MSVC, cosmocc | E-10, E-18, E-19 | ○ |
| C-12 | カバレッジ計測に`-O0 -g --coverage`フラグを使用 | E-11 | ○ |
| C-13 | gcovr + llvm-cov-18でHTMLカバレッジレポートを生成 | E-11 | ○ |
| C-14 | カバレッジ成果物は3日間保持 | E-11 | ○ |
| C-15 | CodeQLによるC/C++セキュリティ静的解析を実施 | E-12 | ○ |
| C-16 | OSS-Fuzzによるファジングテスト（10分間） | E-13 | ○ |
| C-17 | Super-Linterによる多言語Lint実施 | E-15 | ○ |
| C-18 | pre-commitフック（prek）でコード品質チェック | E-14 | ○ |
| C-19 | ls-lintによるファイル名規約チェック | E-16 | ○ |
| C-20 | `make test`でテスト実行可能 | E-06 | ○ |
| C-21 | `rake test`で`test:build`+`test:run`を順次実行 | E-08 | ○ |
| C-22 | シリアル実行オプション（`test:run:serial`）が存在 | E-08 | ○ |
| C-23 | `make composetest`でDocker Composeテスト実行可能 | E-06 | ○ |
| C-24 | テストデータはインラインリテラルが基本方式 | E-03 | ○ |
| C-25 | `MRubyTestSkip`例外による条件付きスキップ機構 | E-01 | ○ |
| C-26 | `assert_float`で浮動小数点数許容誤差比較 | E-01 | ○ |
| C-27 | テスト結果は`$ok_test`/`$ko_test`等のグローバル変数で集計 | E-01 | ○ |
| C-28 | `$mrbtest_verbose`フラグで詳細出力制御 | E-01 | ○ |
| C-29 | `conf.enable_test`等のビルド設定でテスト制御 | E-17, E-18 | ○ |
| C-30 | gnuplotでベンチマーク結果を可視化 | E-27 | ○ |
| C-31 | Dir gemテストはC実装のsetup/teardownでサンドボックス管理 | E-21 | ○ |
| C-32 | 親VM/子VM分離でテスト間の干渉を防止 | E-04 | ○ |
| C-33 | 明示的なカバレッジ目標値が未設定 | **根拠なし** | △ |
| C-34 | 不具合管理にGitHub Issuesを使用 | **根拠なし** | △ |
| C-35 | 各CIワークフローの詳細トリガー条件（ブランチフィルタ等） | **根拠なし** | △ |

## 4) 不足情報（Unknown / Missing）
- **カバレッジ目標値**: `coverage.yml`にカバレッジ計測の設定はあるが、閾値（最低○%等）の設定は確認できなかった。プロジェクトポリシーとして明示的な数値目標が定められていない可能性が高い
  - 候補：CONTRIBUTING.md / プロジェクトWiki / メーリングリスト
- **不具合管理プロセス**: GitHubリポジトリであることからIssuesの使用を推定したが、明示的なドキュメント根拠なし
  - 候補：CONTRIBUTING.md / .github/ISSUE_TEMPLATE/ / プロジェクトWiki
- **CIトリガー詳細**: ワークフローファイルを確認したが、各ワークフローの`on:`セクションの全条件を網羅的に記載していない可能性がある
  - 候補：各`.github/workflows/*.yml`の`on:`セクション再精査

## 5) リスクフラグ（レビュー観点）
- **0（低リスク）**: テストフレームワーク・ツール・ディレクトリ構造・テストパターンの記載 — ソースコードから直接確認済み
- **0（低リスク）**: CI/CD環境・ワークフロー一覧 — GitHub Actionsワークフローファイルから直接確認済み
- **1（中リスク）**: カバレッジ目標値の「未設定」との記載 — 別のドキュメントやプロジェクト設定で定義されている可能性あり
- **1（中リスク）**: 不具合管理方針 — 推定に基づく記載のため、実際のプロセスと異なる可能性あり

## 6) レビュアーチェックリスト（最小）
- [ ] カバレッジ目標値が本当にプロジェクト内で未定義か確認（CONTRIBUTING.md等）
- [ ] 不具合管理にGitHub Issues以外のツール（Jira等）を使用していないか確認
- [ ] 各CIワークフローのトリガー条件（`on:`セクション）のブランチフィルタが正確か確認
- [ ] gem数「48+」の正確な数を必要に応じて確認
- [ ] テストファイル数「43」が最新のコードベースで正確か確認
- [ ] `mruby-test/driver.c`の親VM/子VM分離に関する記述がドライバーの実装と一致するか確認
