内部結合テスト仕様 全体構成 作成ルール
Internal Integration Test Specification Index (ITS Index) Documentation Rules
本ドキュメントは、内部結合テスト仕様(ITS)の 全体構成(its-index) を 統一形式で記述するための標準ルールです。
its-index は、TPC で整理された観点・条件を 内部結合(自組織管理範囲内の連携)という責務に解釈・分配し、 対象別仕様(its-<term>)へ導く 唯一のナビゲーション起点 となります。
ITS はテストコードでも、手順書でもありません。 内部結合で「何をどこまで保証するか(What)」を定義する仕様文書です。
1. 全体方針
its-indexは、内部結合テストレベルにおける 責務・境界・分配方針・共通合格基準・エビデンス方針 を定義する。- TPC の観点・条件を、
its-<term>に 重複なく分配するための入口とする。 - ケースの網羅(TP×TC→期待)は 原則テストコードで表現する。
- 文書では 代表ケースのみを最小限で許容する(詳細は 6.5)。
- ITS は「仕様」であり、「設計」や「実装詳細」を独立文書として分離しない。
- トレースの一次情報(SSOT)は TPC とし、ITS は Frontmatter の
based_onを追跡起点とする。 - 曖昧表現(「十分に」「適切に」など)は禁止し、判定可能な表現で記述する。
2. 位置づけ(他ドキュメントとの関係)
3. ファイル命名・ID規則
- 本ドキュメントの
idはits-index固定。 - 対象別仕様は
its-<term>(例:its-order-api,its-inventory-db)。 - ファイル名はプロジェクト内で一意となるように命名する。
- 例:
its-010-内部結合テスト仕様-全体構成.md - 例:
its-020-内部結合テスト仕様-order-api.md
- 例:
4. 推奨 Frontmatter 項目
Frontmatter は共通スキーマに従う。
| 項目 | 説明 | 必須 |
|---|---|---|
| id | its-index(固定) | ○ |
| type | test 固定 | ○ |
| title | 内部結合テスト仕様: 全体構成 | ○ |
| status | draft / ready / deprecated | ○ |
| part_of | [] | 任意 |
| based_on | 根拠仕様ID(例: tsp-*, tpc-*) | 任意 |
| supersedes | 置き換え関係 | 任意 |
4.1. 推奨ルール
based_onには最低限、関連するtpc-*を含める。- BAC/NFR/BR 等は 方針判断に直接使ったもののみ列挙する。
- トレースの網羅表は TPC に集約する。
5. 本文構成(標準テンプレ)
its-index は以下の構成を 順序固定で記載する。
| No | 見出し | 必須 |
|---|---|---|
| 1 | 概要 | ○ |
| 2 | 対象単位の定義 | ○ |
| 3 | 内部結合テストの対象範囲と境界 | ○ |
| 4 | 分配方針(TPC → its-<term>) | ○ |
| 5 | ケース分解・記述方針(重要) | ○ |
| 6 | 対象単位一覧(統合表) | ○ |
| 7 | 合格基準とエビデンス(共通) | ○ |
| 8 | 対象外・除外理由 | ○ |
| 9 | メモ / 将来課題 | 任意 |
6. 記述ガイド
6.1. 概要
- 内部結合テストで どの連携を、何のために保証するか を簡潔に記載する。
- TPC を
its-<term>に分配する入口であることを明示する。
6.2. 対象単位の定義(必須)
its-<term>は 内部連携の責務単位で定義する。- 分割・統合は以下で判断する:
- I/F 境界
- 観測点(どこで合否を判定するか)
- 責務の独立性
実装構造(クラス名、物理テーブル名等)には依存しない。
6.3. 内部結合テストの対象範囲と境界(必須)
| 観点 | 方針例 |
|---|---|
| 対象範囲 | API↔Domain、Domain↔DB(論理)、内部イベント |
| 外部I/F | 原則スタブ/隔離 |
| 内部I/F | 原則実接続 |
| 観測点 | レスポンス、DB状態、イベント、ログ |
6.4. 分配方針(TPC → its-<term>)(必須)
- 各 TPC の観点・条件は 必ず1つ以上の
its-<term>に割り当てる。 - 同一観点・条件を 複数の
its-<term>で重複して担保しない。 - 例外・境界条件は「判断責務を持つ連携単位」に割り当てる。
6.5. ケース分解・記述方針(重要)
6.5.1. 原則
TP×TC→期待結果の網羅はテストコードで表現する
- parameterized / table-driven / property-based 等を利用する
ITS 文書では ケース網羅表を作らない
6.5.2. 文書で許可する内容(代表ケース)
ITS 文書で記載してよいのは、以下を満たす 代表ケースのみ。
- 参照TPC(観点ID/条件IDの範囲)
- 観測点(合否を判断する箇所)
- 期待結果の要点(分類レベル)
- エビデンス参照先(CI成果物、ログ等)
6.5.3. 例外(記述を許容する条件)
以下の場合に限り、最小限の手順・観測点チェックリストを追加してよい。
- 非同期・順序依存などでフレークが発生しやすい
- 環境・データ準備が重い
- 監査・外部委託等で人が読む説明が必要
- テストコードが別リポジトリ/別組織管理
6.6. 対象単位一覧(統合表)(必須)
its-<term> | 対象の要約(連携境界) | 担当TPC(例) | 観測点(要約) |
|---|---|---|---|
its-order-api | Order API ↔ Inventory Domain | tpc-sale-* | HTTP/DB/ログ |
its-order-db | Order API ↔ Data Store | tpc-order-* | DB状態 |
its-internal-evt | Domain ↔ Internal Event | tpc-event-* | イベント/ログ |
6.7. 合格基準とエビデンス(共通)
| 項目 | 合格基準(例) | エビデンス |
|---|---|---|
| 実行結果 | 失敗 0 件 | CI テストレポート |
| 重大不具合 | Blocker/Critical 0 | 不具合管理票 |
6.8. 対象外・除外理由
- 外部サービス実接続 → 外部結合テスト
- 性能・負荷 → 非機能テスト
- 画面E2E → 総合/受入テスト
6.9. メモ / 将来課題
- 内部連携構造変更時の再分配方針
- フレーク抑制策の継続改善
7. 禁止事項
| 禁止事項 | 理由 |
|---|---|
| TP×TC の網羅表の記載 | SSOT重複/保守不能 |
| テスト手順・具体値の逐語列挙 | テストコードと二重管理 |
| SQL/物理構造の貼付 | 実装依存 |
| 未定義メタ情報の追加 | スキーマ違反 |
了解です 👍 では its-index-rules に追加する「サンプル(最小)」部分だけ を記述します。 (本文・方針には一切触れません。そのまま末尾に貼れる形です)
8. サンプル(最小)
8.1 メタ情報(Frontmatter)
yaml
---
id: its-index
type: test
title: 内部結合テスト仕様: 全体構成(駄菓子屋販売管理システム)
status: draft
part_of: []
based_on:
- tsp-overview
- tpc-sale-checkout
- tpc-inventory
supersedes: []
---8.2 概要
本ドキュメント(its-index)は、内部結合(システム内部の連携)において 何をどこまで保証するか を定義し、 TPC の観点・条件を対象単位(its-<term>)へ分配するための ナビゲーション起点 とする。
8.3 対象単位の定義
its-<term>は 内部連携の責務単位 を表す。- 分割・統合は「連携境界」「観測点」「責務の独立性」で判断する。
8.4 内部結合テストの対象範囲と境界
| 観点 | 内容例 |
|---|---|
| 対象範囲 | API ↔ Domain、Domain ↔ DB(論理)、内部イベント |
| 外部I/F | 決済・配送などはスタブ/隔離 |
| 観測点 | HTTP 応答、DB 状態、イベント、ログ |
8.5 ケース分解・記述方針(要点)
- TP×TC→期待結果の網羅は テストコードで表現する。
- 本ドキュメントでは 代表ケースのみを最小限で記述する。
- 代表ケースには以下を含める:
- 参照TPC
- 観測点
- 期待結果の要点
- エビデンス参照先(CI成果物)
8.6 対象単位一覧(統合表)
its-<term> | 対象の要約(連携境界) | 担当TPC(例) | 観測点(要約) |
|---|---|---|---|
its-sale-api | 会計API ↔ 在庫ドメイン | tpc-sale-* | HTTP/DB/ログ |
its-inventory-db | 在庫ドメイン ↔ データストア | tpc-inventory-* | DB状態 |
its-internal-evt | ドメイン ↔ 内部イベント | tpc-event-* | イベント/ログ |
8.7 合格基準とエビデンス(共通)
| 項目 | 合格基準(例) | エビデンス |
|---|---|---|
| 実行結果 | 失敗 0 件 | CI テストレポート |
8.8 対象外・除外理由
- 外部決済・配送システムとの実接続:外部結合テストで担保する。
- 性能・負荷:非機能テストで担保する。
8.9 メモ / 将来課題
- 内部イベント増加時の対象単位再分割ルール整理
- フレーク対策(非同期処理)の継続改善
9. 生成AIへの指示テンプレート
生成AIに its-index を作成させる場合はits-index-instruction.md を参照すること。