内部結合テスト仕様 作成ルール
Internal Integration Test Specification (ITS) Documentation Rules
本ドキュメントは、品質保証・テスト設計のために**内部結合テスト仕様(its-<term>)**を統一形式で記述する標準ルールです。
ITS は、特定の内部連携単位(API/コンテナ/コンポーネント/業務機能)に対してどの連携を、どの観点で保証するか を レビュー可能な粒度で明文化することを目的とします。
1. 全体方針
ITS-D は 1ファイル = 1 内部連携単位 を原則とします。
「単体テスト仕様の個別版」ではありません。
- “部品の中”ではなく、“部品と部品の間” に注目します。
実装手順・値の網羅は ITD(設計)へ委譲します。
仕様としての役割は以下に限定します。
- 対象連携の特定
- 保証すべき観点の明確化
- 代表的なテスト条件(方向性)
0. 位置づけ(重要)
ITS-D は次の階層に位置します。
plaintext
TSP(テスト戦略・方針)
└ ITS(内部結合テスト仕様・全体)
└ ITS-D(内部結合テスト仕様・個別) ← 本ドキュメント
└ ITD(内部結合テスト設計)
└ テスト実装・実行(コード/CI)| 観点 | ITS(全体) | ITS-D(個別) |
|---|---|---|
| 対象 | 内部結合の全体像 | 特定の連携単位 |
| 粒度 | 横断・共通 | 連携ごとの保証内容 |
| 書くこと | 何を結合で保証するか | その連携で何を保証するか |
| 書かないこと | ケース・値 | ケース詳細・実装 |
2. 対象と命名ルール
対象単位(例)
- API × Domain
- UI × API
- Batch × Domain
- Service × Internal Queue
- Container A × Container B
ファイル名(推奨)
sh
010-内部結合テスト仕様-<用語集term>.md例:
010-内部結合テスト仕様-在庫.md010-内部結合テスト仕様-注文API.md
※ サフィックスは 用語集(Glossary)の term を必ず使用し、将来も安定する名前を選びます。
3. ファイル命名・ID規則
Frontmatter
| 項目 | ルール |
|---|---|
| id | its-<対象>(例: its-inventory, its-order-api) |
| type | test |
| title | 内部結合テスト仕様: <対象名> |
| status | draft / ready / deprecated |
4. 推奨 Frontmatter 項目
| 項目 | 説明 | 必須 |
|---|---|---|
| id | ITS-D ID | ○ |
| type | test 固定 | ○ |
| title | 仕様名 | ○ |
| status | 状態 | ○ |
| part_of | ITS(全体)(its-main) | 推奨 |
| based_on | TPC、UIS、EAPIS、BR、ADR 等 | 推奨 |
| supersedes | 置換関係 | 任意 |
5. 本文構成(標準テンプレ)
ITS-D は以下の見出しを 必ずこの順序で構成します。
- 概要
- 対象連携の概要
- 連携パターン
- 保証観点
- テスト条件(代表)
- 合格基準
- 対象外
- メモ / 将来課題
6. 記述ガイド詳細
6.1 概要
- 対象となる 内部連携1つを明示します。
- 1〜2文で十分です。
例:
本仕様は、注文APIと在庫ドメイン間の内部連携について、業務的に保証すべき観点を定義する。
6.2 対象連携の概要(必須)
推奨(表)
| 項目 | 内容 |
|---|---|
| 連携元 | 注文API |
| 連携先 | 在庫ドメイン |
| 連携方式 | 内部API呼出 |
| タイミング | 注文確定時 |
| 関連仕様 | EAPIS-xxx, BR-xxx |
※ 物理名は禁止。必ず論理名・用語集用語を使用。
6.3 連携パターン(必須)
連携の 意味的なパターンを列挙します。
| パターンID | 呼称 | 概要 |
|---|---|---|
| IIT-INV-01 | 在庫引当 | 注文確定時に在庫を引き当てる |
| IIT-INV-02 | 引当失敗 | 在庫不足時の分岐 |
6.4 保証観点(最重要)
ITS-D の中心です。
| 観点ID | 分類 | 観点 | 保証内容 | 根拠 |
|---|---|---|---|---|
| II-INV-01 | 正常 | 引当成功 | 正常入力時に在庫が正しく引当される | BR-xx |
| II-INV-02 | 例外 | 在庫不足 | 不足時は確定せずエラーとなる | BAC-xx |
| II-INV-03 | 状態 | 状態整合 | 注文・在庫の状態が矛盾しない | CSTD-xx |
| II-INV-04 | 監査 | ログ | 引当結果が監査ログに残る | NFR-xx |
6.5 テスト条件(代表条件)
値やケースの網羅は禁止。 あくまで「方向性」を示します。
| 観点ID | 条件ID | 条件 | 期待結果 |
|---|---|---|---|
| II-INV-01 | IC-01 | 正常注文 | 引当成功 |
| II-INV-02 | IC-02 | 在庫不足 | エラー、状態変更なし |
6.6 合格基準
| 観点 | 合格条件 |
|---|---|
| 機能 | 全保証観点が確認済 |
| 不具合 | Critical / High が 0 |
| 状態 | データ不整合がない |
6.7 対象外
例:
- 在庫数量の性能限界 → 非機能試験
- 外部倉庫連携 → ETS
6.8 メモ / 将来課題
- IF変更予定
- 将来の連携拡張
7. 禁止事項
| 禁止 | 理由 |
|---|---|
| SQL全文 | 実装依存 |
| クラス/メソッド名 | 実装依存 |
| ケース全列挙 | ITDの責務 |
| 「問題なく」 | 判定不能 |
8. サンプル(最小)
yaml
---
id: its-inventory
type: test
title: 内部結合テスト仕様: 在庫
status: draft
part_of: [its-main]
based_on:
- tpc-order-process
---9. 生成AI向け指示テンプレート
- 以下のルールに従って 内部結合テスト仕様−個別仕様(ITS-D) を1ファイル作成してください。
- 対象は「1つの内部連携単位」です。
- 個別ケースや値は書かず、保証観点と代表条件に留めてください。
- 実装依存情報(SQL、クラス名等)は禁止です。
出力構成
- 概要
- 対象連携の概要
- 連携パターン
- 保証観点
- テスト条件(代表)
- 合格基準
- 対象外
- メモ / 将来課題