Files
cobol-java-v3/black-box-data-create/rules/pgm_pattern/MERGE.md
T
2026-08-24 18:34:17 +08:00

3.4 KiB
Raw Blame History

MERGE(複数ファイル結合) データ生成規則

概要

複数の入力ファイルをキーでソート・マージし、統合された1つの出力ファイルを生成するプログラムのテストデータ。

本规则定义4组数据,覆盖全文件合并、键边界、重复键、未排序输入。

输入

  • 詳細設計書のキー項目一覧(マージキー)
  • 各入力ファイルのCOPYBOOKフィールド定義
  • キー条件:正常系は昇順ソート済み入力、異常系(组4)は故意に乱序

生成データ組

用途 内容
1 全ファイルカバー 全入力ファイルのデータが出力に反映されるデータ + 末尾多keyテスト
2 キー境界 同一キー値が複数ファイルに分散しているケース + 末尾多keyテスト
3 重复键(MR-N003 同一キーが複数ファイルに同値で出現するケース(同キー順序保持確認)+ 末尾多keyテスト
4 未排序输入(MR-A001 入力ファイルが昇順でないデータ(誤マージ確認)

组1:全ファイルカバー(MR-N001)

R01: a001→a003→a004 R02: a001→a002→a003

マージ後キー順序(期待): a001→a002→a003→a004

组2:キー境界(MR-N002

R01: a001→a002→a003 R02: a002

同一キーa002が両ファイルに存在(境界でのマージ順序確認)。

组3:重复键(MR-N003

R01: a001→a002→a002→a003 R02: a002→a002→a004

同一キーa002が両ファイルに計4件(同キーの順序保持を確認)。

组4:未排序输入(MR-A001

R01: a001→a003→a002→a004a003先于a002,违反升序) R02: a001→a002→a003→a004(正常升序)

说明:昇順前提が破られた入力でプログラムの誤マージ/未期待動作を確認する(不要求"正确合并")。

多keyテスト

キーが複数項目の場合、各組末尾に追加。各キー項目のみ異なるN件を生成し、正しいキーでマージされることを検証。

需要注意当key为n个项目组合而成时,需要在各組末尾追加n条数据。以基准数据的所有key为准,只有当前第n个key与基准不一致。保证key的比较没有问题。

例(n=3,基准 (a001, b001, c001)):

  • 追加1: (a002, b001, c001) → 仅第1个key不同
  • 追加2: (a001, b002, c001) → 仅第2个key不同
  • 追加3: (a001, b001, c002) → 仅第3个key不同

n为实际解析出的key项目数(例中n=3仅为示意,追加条数必须等于实际key项目数)。键项目数n=1时不追加多key测试数据。追加的每条记录必须恰好只改变一个key项目,且不得与既有记录完全重复。

データ生成手順

  1. マージキー項目を特定(キー項目一覧から)
  2. 各組のキー構成に従いレコードを生成(键值升序,组4除外)
  3. 非キーフィールドはPIC定義に従い実在しそうな値を生成し、隣接レコード間で異なる値を設定
  4. 組1〜組3末尾に多keyテストデータを追加
  5. 生成後自检(MR-R001相当):マージ後件数 = 全入力ファイル件数の合計 を確認

出力

每组输出1个JSON文件:{プログラムID}_g{groupId}.json

组数约束:输出组数必须与本规则定义的4组一致(g1〜g4),组号连续从1开始。禁止添加本规则未定义的组,禁止缺组。