3.4 KiB
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→a004(a003先于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项目,且不得与既有记录完全重复。
データ生成手順
- マージキー項目を特定(キー項目一覧から)
- 各組のキー構成に従いレコードを生成(键值升序,组4除外)
- 非キーフィールドはPIC定義に従い実在しそうな値を生成し、隣接レコード間で異なる値を設定
- 組1〜組3末尾に多keyテストデータを追加
- 生成後自检(MR-R001相当):マージ後件数 = 全入力ファイル件数の合計 を確認
出力
每组输出1个JSON文件:{プログラムID}_g{groupId}.json
组数约束:输出组数必须与本规则定义的4组一致(g1〜g4),组号连续从1开始。禁止添加本规则未定义的组,禁止缺组。