Skip to content

内部結合テスト仕様 全体構成 作成ルール

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. 位置づけ(他ドキュメントとの関係)

mermaid diagram

3. ファイル命名・ID規則

  • 本ドキュメントの idits-index 固定。
  • 対象別仕様は its-<term>(例: its-order-api, its-inventory-db)。
  • ファイル名はプロジェクト内で一意となるように命名する。
    • 例: its-010-内部結合テスト仕様-全体構成.md
    • 例: its-020-内部結合テスト仕様-order-api.md

4. 推奨 Frontmatter 項目

Frontmatter は共通スキーマに従う。

項目説明必須
idits-index(固定)
typetest 固定
title内部結合テスト仕様: 全体構成
statusdraft / 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-apiOrder API ↔ Inventory Domaintpc-sale-*HTTP/DB/ログ
its-order-dbOrder API ↔ Data Storetpc-order-*DB状態
its-internal-evtDomain ↔ Internal Eventtpc-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 を参照すること。