Skip to content

内部結合テスト設計 − 個別設計(ITD-D)作成ルール

本ドキュメントは、品質保証・テスト実装のために 内部結合テスト設計 − 個別設計(Internal Integration Test Design – Detailed: ITD-D) を統一形式で記述する標準ルールです。

ITD-D は、ITS-D で定義された 特定の内部連携に対して、テストケース構造を実装に落とせる粒度で設計します。


1. 全体方針

  • ITD-D は テストコード直前の最後の設計成果物です。
plaintext
TSP(戦略)
 └ ITS(内部結合テスト仕様・全体)
   └ ITS-D(内部結合テスト仕様・個別)
     └ ITD(内部結合テスト設計・全体)
       └ ITD-D(内部結合テスト設計・個別) ← 本書
         └ テスト実装(JUnit / CI)
  • ITD-D は 1ファイル = 1 内部結合対象を原則とします。
  • ITD-D は「仕様」ではなく 設計です。
    • 何を保証するか → ITS-D
    • どう切り分けて試すか → ITD-D
  • JUnit 等のコードは貼らず、そのままコードに変換できる構造で記述します。

2. 対象単位と命名ルール

対象単位(例)

  • 注文API × 在庫ドメイン
  • 決済サービス × 注文サービス
  • バッチ × 業務ロジック

ファイル名(推奨)

sh
020-内部結合テスト設計-<用語集term>.md

例:

  • 020-内部結合テスト設計-在庫.md
  • 020-内部結合テスト設計-注文API.md

<用語集term>Glossary に定義された安定語を使用します。


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

Frontmatter

項目ルール
iditd-<対象>(例: itd-inventory, itd-order-api
typetest
title内部結合テスト設計: <対象名>
statusdraft / ready / deprecated

4. 推奨 Frontmatter 項目

項目説明必須
idITD-D ID
typetest
title設計名
status状態
part_ofitd-index必須
based_onITS-D必須
supersedes置換関係任意

5. 本文構成(標準テンプレ)

ITD-D は以下の見出しを 必ずこの順序で記述します。

  1. 概要
  2. 対象連携の整理
  3. テスト観点とケース構成
  4. ケース一覧(設計)
  5. テストデータ設計
  6. 実行・自動化方法
  7. 判定基準
  8. 対象外
  9. メモ / 将来課題

6. 記述ガイド詳細

6.1 概要

  • 対象とする 内部結合1件を明確にします。
  • 対応する ITS-D を必ず明示します。

例:

本設計は、内部結合テスト仕様(ITS-inventory)に基づき、注文APIと在庫ドメイン間の結合テストケース構成を定義する。


6.2 対象連携の整理(必須)

推奨(表)

項目内容
連携元注文API
連携先在庫ドメイン
連携方式内部API
実行タイミング注文確定時
対応仕様its-inventory

※ 実装名・物理名は禁止。


6.3 テスト観点とケース構成(必須)

ITS-D で定義された 保証観点どのようなケース群に分解するかを定義します。

推奨(表)

観点ID観点ケース分解方針
II-INV-01正常引当正常系 × データ差分
II-INV-02在庫不足不足量別
II-INV-03状態整合状態遷移パターン
II-INV-04ログ成否別

6.4 ケース一覧(設計)(最重要)

ここでは ケースID・構造を定義します。 値の詳細は最小限に留めます。

推奨フォーマット

ケースID観点ID前提入力条件期待結果
ITD-INV-01II-INV-01在庫あり正常注文引当成功
ITD-INV-02II-INV-02在庫不足注文エラー
ITD-INV-03II-INV-03複数注文連続実行状態整合

ポイント:

  • 「何を変えるか」だけを書く
  • 数値・JSON・SQLは禁止

6.5 テストデータ設計

データ種別設計方針
マスタ正常/不足/境界を用意
トランザクションケースごとに初期化
IDテスト専用識別子

6.6 実行・自動化方法

項目方針
実行手段自動
ツールJUnit
実行場所CI
前後処理初期化 / ロールバック

6.7 判定基準

観点合格条件
機能全 Assertion 成功
状態状態遷移が仕様通り
例外想定外エラーなし

6.8 対象外

  • 性能・負荷
  • 外部システム

6.9 メモ / 将来課題

  • ケース追加余地
  • データ量拡張

7. 禁止事項

禁止理由
SQL全文実装依存
JSON全文可読性低下
クラス/関数名設計劣化
全値網羅保守不能

8. サンプル(最小)

yaml
---
id: itd-inventory
type: test
title: 内部結合テスト設計: 在庫
status: draft
part_of: [itd-index]
based_on:
  - its-inventory
---

9. 生成 AI 向け指示テンプレート

  • 以下のルールに従って 内部結合テスト設計 − 個別設計(ITD-D) を作成してください。
  • 対象は ITS-D で定義された 1つの内部連携です。
  • ケース構造(ID・前提・入力・期待結果)を設計してください。
  • 値の詳細、SQL、実装コードは記載しないでください。