Skip to content

外部結合テスト仕様 − 個別仕様(ETS-D)作成ルール

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

ETS-D は、

  • 特定の外部システム/特定の外部連携
  • に対して
  • どの連携を、どの観点で、どこまで保証するか

レビュー・合意可能な粒度で明文化することを目的とします。


0. 位置づけ(必読)

ETS-D は「外部結合テスト仕様(全体)」を具体化する 中核ドキュメントです。

plaintext
TSP(テスト戦略・方針)
 └ ETS(外部結合テスト仕様・全体)
    └ ETS-D(外部結合テスト仕様・個別) ← 本書
       └ ETD(外部結合テスト設計)
          └ テスト実装・実行
観点ETS(全体)ETS-D(個別)
対象外部結合の全体像1 外部システム / 1 連携群
粒度横断・共通契約単位・連携単位
主眼方針・境界保証内容の明確化
ケース書かない代表条件のみ

1. 全体方針

  • ETS-D は 1ファイル = 1 外部連携対象 を原則とします。

  • 「外部結合テストの単体テスト版」ではありません。

    • 外部結合の本質は 契約・境界・障害時・運用 です。
  • ETS-D では以下を必ず明確にします。

    • 対象外部システム
    • 契約I/F
    • 連携パターン
    • 保証観点(特に例外・補償・冪等性)

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

対象単位(例)

  • 決済サービス連携
  • 仕入先システム連携
  • 外部IdP連携
  • 配送会社システム連携

ファイル名(推奨)

sh
010-外部結合テスト仕様-<用語集term>.md

例:

  • 010-外部結合テスト仕様-決済.md
  • 010-外部結合テスト仕様-仕入先.md

<用語集term>Glossary に登録された正式名称を使用します。


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

Frontmatter

項目ルール
idets-<external>(例: ets-payment, ets-supplier
typetest
title外部結合テスト仕様: <外部システム名>
statusdraft / ready / deprecated

4. 推奨 Frontmatter 項目

項目説明必須
idETS-D ID
typetest 固定
title仕様名
status状態
part_ofETS(全体)(ets-index必須
based_onESIL, EAPIS / EMS / EFES, NFR, SAC, ADR必須
supersedes置換関係任意

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

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

  1. 概要
  2. 対象外部システムと契約境界
  3. 連携パターン
  4. 保証観点
  5. テスト条件(代表条件)
  6. 障害・例外時の期待挙動
  7. 合格基準とエビデンス
  8. 対象外
  9. メモ / 将来課題

6. 記述ガイド詳細

6.1 概要

  • 対象となる 外部システム 1 つを明確にします。
  • 業務的な位置づけを 1〜2 文で記述します。

例:

本仕様は、決済サービスとの外部連携について、契約I/F遵守および障害時の挙動を保証する。


6.2 対象外部システムと契約境界(必須)

推奨(表)

項目内容
外部システム名決済サービス
連携種別外部API
契約I/Feapis-payment
接続環境sandbox / 検証
認証方式OAuth(方式のみ)
管理境界API 受付以降は外部責任

※ 「どこまでが自システムか」を明確にします。


6.3 連携パターン(必須)

パターンID呼称方向概要
EIT-PAY-01支払要求自 → 外決済要求送信
EIT-PAY-02結果取得自 → 外決済結果取得
EIT-PAY-03失敗通知外 → 自Webhook

6.4 保証観点(最重要)

ETS-D の中心です。 内部結合よりも「例外・運用」比重を高くします。

観点ID分類観点保証内容根拠
EE-PAY-01契約入力妥当契約I/Fに準拠した送信EAPIS
EE-PAY-02契約応答解釈応答を正しく業務状態へ反映BAC
EE-PAY-03例外タイムアウトタイムアウト時の遷移が正しいADR
EE-PAY-04例外再送冪等性が保証されるADR
EE-PAY-05運用追跡相関IDで追跡可能NFR
EE-PAY-06セキュリティ認証認証方式が守られるNFR

6.5 テスト条件(代表条件)

値・全列挙は禁止。 「どの方向を確認するか」のみ記述します。

観点ID条件ID条件期待結果
EE-PAY-01EC-01正常支払決済成功
EE-PAY-02EC-02失敗応答業務エラー
EE-PAY-03EC-03応答なし再送/保留
EE-PAY-04EC-04同一要求再送二重決済なし

6.6 障害・例外時の期待挙動(必須)

事象検知期待挙動補償/復旧エビデンス
タイムアウト応答なし保留再送実行ログ
4xx応答入力不備扱い業務修正エラーログ
5xx応答リトライ後続再送再送履歴
Webhook未着時間超過手動確認運用対応監査記録

6.7 合格基準とエビデンス

観点合格条件エビデンス
契約主要パターン合格リクエスト/レスポンス
例外全例外確認済ログ/履歴
冪等二重処理なし状態確認
未解決Critical 0不具合票

6.8 対象外

  • 外部サービスの内部処理
  • SLA 違反検証(契約対応)

6.9 メモ / 将来課題

  • 外部仕様変更の監視方法
  • 本番限定検証の代替策

7. 禁止事項

禁止理由
秘密情報(キー・トークン)セキュリティ
SQL / JSON 全文実装依存
実装クラス/関数名設計破壊
個別ケース大量列挙下位設計へ

8. サンプル(最小)

yaml
---
id: ets-payment
type: test
title: 外部結合テスト仕様: 決済
status: draft
part_of: [ets-index]
based_on:
  - esil-payment
  - eapis-payment
  - nfr-security
  - adr-payment-retry
---

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

  • 以下のルールに従って 外部結合テスト仕様 − 個別仕様(ETS-D) を 1 ファイル作成してください。
  • 対象は 1つの外部システムです。
  • 契約境界・保証観点・障害時挙動・合格基準を必ず含めてください。
  • 値の総当たり、実装依存情報、秘密情報は禁止です。