---
generated_at: 2026-02-25 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. **セキュリティテスト・性能テストの実施タイミング**: コード上に自動実行の設定が見当たらず、手動実施を推測
  3. **受入テストの担当**: リリースマネージャーという担当はコードから特定不可

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

- E-01: `jest.config.js`（ルート）- Jest設定: testEnvironment, moduleNameMapper, snapshotSerializers, setupFilesAfterEnv
- E-02: `packages/decap-server/jest.config.js` - ts-jest preset, node環境
- E-03: `cypress.config.ts` - projectId, retries, baseUrl, specPattern, video設定
- E-04: `package.json` - scripts（test, test:ci, test:unit, test:e2e等）, devDependencies
- E-05: `.github/workflows/nodejs.yml` - build-unit ジョブ（OSマトリックス, Node.jsバージョン, test:ci実行）
- E-06: `.github/workflows/nodejs.yml` - e2e ジョブ（4並列, build:demo, test:e2e:run-ci, アーティファクト保存）
- E-07: `.github/workflows/publish.yml` - タグトリガー, test:ci実行, lerna:publish
- E-08: `setupTestFramework.js` - window.fetch, URL.createObjectURL, pathモジュールモック
- E-09: `__mocks__/styleMock.js` - CSSモジュールスタブ
- E-10: `cypress/support/commands.js` - fetchスタブ, matchRoute, Base64対応（12,370行）
- E-11: `cypress/utils/steps.js` - 共有E2Eテストステップ（20,832行）
- E-12: `cypress/utils/mock-server.js` - localhost:1080 モックサーバー
- E-13: `cypress/utils/config.js` - バックエンド構成切替
- E-14: `cypress/plugins/` - github.js, gitlab.js, bitbucket.js, gitGateway.js, proxy.js, testBackend.js, common.js
- E-15: `cypress/fixtures/` - 141個のJSONフィクスチャファイル
- E-16: `cypress/snapshots/` - 4件のイメージスナップショット
- E-17: `.eslintrc.js` - parser, extends, plugins, environments (jest, cypress/globals)
- E-18: `.prettierrc` - arrowParens, trailingComma, singleQuote, printWidth
- E-19: `.stylelintrc` - extends, customSyntax, rules
- E-20: `tsconfig.json` - strict: true, exclude: **/*.spec.ts
- E-21: `babel.config.js` - test環境設定, @emotion/babel-preset-css-prop
- E-22: `commitlint.config.js` - @commitlint/config-conventional
- E-23: `.husky/commit-msg` - commitlintフック
- E-24: `lerna.json` - independent versioning, allowBranch, conventionalCommits, ignoreChanges
- E-25: `nx.json` - targetDefaults, build caching
- E-26: `cypress/run.mjs` - Cypress分散実行スクリプト
- E-27: `cypress/e2e/` - 51個のE2Eテストファイル
- E-28: `packages/*/src/__tests__/`, `packages/*/src/*.spec.ts` - 約80個のユニットテストファイル

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | Jestが単体テストフレームワークとして使用されている（v27, jsdom環境） | E-01, E-04 | ○ |
| C-02 | Cypressが E2Eテストフレームワークとして使用されている（v12.17.4） | E-03, E-04 | ○ |
| C-03 | @testing-library/react（v16）がコンポーネントテストに使用されている | E-04 | ○ |
| C-04 | @testing-library/jest-domがカスタムマッチャーとして使用されている（v5.11.1） | E-04, E-08 | ○ |
| C-05 | @emotion/jestがスナップショットシリアライザとして使用されている（v11.11.0） | E-01, E-04 | ○ |
| C-06 | ts-jestがTypeScriptテストのトランスパイルに使用されている | E-02, E-04 | ○ |
| C-07 | E2Eテストは4マシン並列で分散実行される | E-06, E-26 | ○ |
| C-08 | CIでOSマトリックス（Ubuntu・macOS・Windows）× Node.js（22.x・24.x）のテストが実行される | E-05 | ○ |
| C-09 | Cypressリトライは runMode で4回に設定されている | E-03 | ○ |
| C-10 | E2Eテスト失敗時にスクリーンショット・ビデオがアーティファクトとして保存される | E-06 | ○ |
| C-11 | フィクスチャベースのHTTPスタブにより外部サービス非依存でE2Eテストを実行可能 | E-10, E-15 | ○ |
| C-12 | 141個のJSONフィクスチャが各バックエンド用に存在する | E-15 | ○ |
| C-13 | テストフィクスチャのレコーディング機能が存在する（test:e2e:record-fixtures:dev） | E-04 | ○ |
| C-14 | モックサーバーがlocalhost:1080で動作する | E-12 | ○ |
| C-15 | setupTestFramework.jsでwindow.fetch、URL.createObjectURL、pathモジュールをモックしている | E-08 | ○ |
| C-16 | styleMock.jsでCSS/LESSモジュールを空オブジェクトでスタブしている | E-09 | ○ |
| C-17 | GitHub（REST/GraphQL）・GitLab・Bitbucket・Git Gateway・Proxy・Test Backendに対するE2Eテストが存在する | E-14, E-27 | ○ |
| C-18 | ESLintでjest・cypress/globals環境が設定されている | E-17 | ○ |
| C-19 | Prettier設定（singleQuote, trailingComma等）が適用されている | E-18 | ○ |
| C-20 | TypeScript strict modeが有効で、テストファイルはコンパイル対象から除外されている | E-20 | ○ |
| C-21 | CommitLint + Huskyによりconventional commitsが強制されている | E-22, E-23 | ○ |
| C-22 | Lernaのindependent versioningでテスト関連ファイルの変更はバージョン変更から除外されている | E-24 | ○ |
| C-23 | Nxによるビルドキャッシュが有効である | E-25 | ○ |
| C-24 | パブリッシュ前にtest:ciが実行される | E-07 | ○ |
| C-25 | CI実行時にwebsite/**配下の変更は除外される | E-05 | ○ |
| C-26 | 同一ブランチの古いCI実行は自動キャンセルされる（concurrency設定） | E-05 | ○ |
| C-27 | E2Eテスト環境のタイムゾーンはEurope/Amsterdamに統一されている | E-06 | ○ |
| C-28 | Babel設定でtest環境ではbabel-plugin-inline-react-svgのみ適用される | E-21 | ○ |
| C-29 | ユニットテストファイルは約80ファイル、E2Eテストは51ファイル存在する | E-27, E-28 | ○ |
| C-30 | イメージスナップショットが4件管理されている | E-16 | ○ |
| C-31 | start-server-and-test（v2.1.3）でサーバー起動後にE2Eテストが実行される | E-04 | ○ |
| C-32 | nock（v13）がHTTPリクエストモックに使用されている | E-04 | ○ |
| C-33 | カバレッジ目標が明示的に設定されていない | **根拠なし** | △ |
| C-34 | セキュリティテストはリリース前に手動で実施される | **根拠なし** | △ |
| C-35 | 受入テストはリリースマネージャーが実施する | **根拠なし** | △ |

## 4) 不足情報（Unknown / Missing）
- **カバレッジ閾値設定**: jest.config.js に `collectCoverage` / `coverageThreshold` の設定が存在しない。CI/CDパイプラインにもカバレッジ強制の設定が見当たらない。プロジェクトのカバレッジ目標は別途ドキュメントまたはチーム合意で管理されている可能性がある
  - 候補: CONTRIBUTING.md / チーム内Wiki / Issue議論
- **セキュリティテスト・性能テスト**: 自動化されたセキュリティテスト・性能テストの設定ファイルが見当たらない。GitHub Actions ワークフローにも該当ジョブが存在しない
  - 候補: 外部CI/CDツール / 手動実行プロセス / セキュリティスキャンサービス
- **受入テストの具体的プロセス**: リリースフローにおける受入テストの手順やチェックリストがコードベースから特定できない
  - 候補: リリースチェックリスト / CONTRIBUTING.md / チーム内プロセス文書

## 5) リスクフラグ（レビュー観点）
- **1: 中リスク** - カバレッジ目標未設定: テスト品質の定量的な基準が不明。プロジェクトの成熟度に対してカバレッジ閾値の設定を検討すべき
- **0: 低リスク** - セキュリティテスト記載: 手動実施と推測で記載しているため、実際の運用と乖離する可能性がある
- **0: 低リスク** - 受入テスト担当: 「リリースマネージャー」はコードから特定できない推測であり、実際の組織体制と異なる可能性がある

## 6) レビュアーチェックリスト（最小）
- [ ] カバレッジ目標が実際のチーム方針と一致しているか確認
- [ ] セキュリティテスト・性能テストの実際の実施方法を確認
- [ ] 受入テストの担当者・プロセスが正しいか確認
- [ ] 各テストツールのバージョンが最新のpackage.jsonと一致しているか確認
- [ ] E2Eテストの並列実行設定（4マシン）が現在のCI設定と一致しているか確認
- [ ] マルチバックエンド対応のテストカバレッジが十分か確認
