KIN03EXP: SELECT INTO → CURSOR(DECLARE/OPEN/FETCH/CLOSE) pattern; SUB01DAT: COPY ZANDATAC; 基本設計書A: KIN08DBU/KIN09CSV specs updated; 品質管理: coverage stats, keyword docs, test criteria
This commit is contained in:
+569
@@ -0,0 +1,569 @@
|
||||
# 测试基准说明
|
||||
|
||||
> 出典: 程序分类及测试基准.pdf (第2部:测试基准)
|
||||
|
||||
## 凡例
|
||||
|
||||
| 記号 | 意味 |
|
||||
|------|------|
|
||||
| ◎ | 必須テスト |
|
||||
| ○ | 推奨テスト |
|
||||
|
||||
---
|
||||
|
||||
## 2.1 通用测试基准
|
||||
|
||||
### 2.1.1 正常系通用(8项)
|
||||
|
||||
| 编号 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|--------|
|
||||
| COM-N001 | 最小数据(1条) | 各输入文件1条 | ◎ |
|
||||
| COM-N002 | 标准数据(多条) | 正常业务量 | ◎ |
|
||||
| COM-N003 | 最大数据(上限) | 定义上限(含性能) | ○ |
|
||||
| COM-N004 | 全部输出文件存在 | 期望输出文件全部生成 | ◎ |
|
||||
| COM-N005 | 输出文件内容确认 | 与期望值完全一致 | ◎ |
|
||||
| COM-N006 | 输出记录长度确认 | 与规格一致 | ◎ |
|
||||
| COM-N007 | 输出排序确认 | 键序正确 | ◎ |
|
||||
| COM-N008 | JOBLOG确认 | 日期/件数/结束码 | ◎ |
|
||||
|
||||
### 2.1.2 异常系通用(8项)
|
||||
|
||||
| 编号 | 项目 | 内容 | 期望结果 | 优先级 |
|
||||
|------|------|------|---------|--------|
|
||||
| COM-A001 | 文件不存在 | 不存在文件 | OPEN STATUS 35 ABEND | ◎ |
|
||||
| COM-A002 | 全部0件 | 所有输入为空 | 正常结束 输出0条 | ◎ |
|
||||
| COM-A003 | 部分0件 | 部分文件为空 | 正常结束 | ◎ |
|
||||
| COM-A004 | 记录长度不一致 | LRECL不匹配 | ABEND/STATUS错误 | ◎ |
|
||||
| COM-A005 | 磁盘满 | 容量不足 | 顺序文件STATUS 34,VSAM文件STATUS 24 | ○ |
|
||||
| COM-A006 | OPEN模式违反 | 只读文件WRITE | STATUS 37 | ◎ |
|
||||
| COM-A007 | 再OPEN | OPEN中再OPEN | STATUS 41 | ◎ |
|
||||
| COM-A008 | 异常结束码 | Uxxxx确认 | 与期望一致 | ◎ |
|
||||
|
||||
### 2.1.3 确认项通用(8项)
|
||||
|
||||
| 编号 | 确认项 | 确认内容 | 确认方法 |
|
||||
|------|--------|---------|---------|
|
||||
| COM-C001 | 程序开始 | 程序名/日時/版本 | JOBLOG |
|
||||
| COM-C002 | OPEN确认 | 各文件OPEN正常 | JOBLOG |
|
||||
| COM-C003 | 输入件数 | READ件数 | JOBLOG/CSV |
|
||||
| COM-C004 | 输出件数 | WRITE件数 | JOBLOG/CSV |
|
||||
| COM-C005 | 正常结束 | RETURN-CODE=0 | JOBLOG |
|
||||
| COM-C006 | 异常结束 | 错误码输出 | JOBLOG |
|
||||
| COM-C007 | 处理时间 | 作业经过时间 | JOBLOG时刻 |
|
||||
| COM-C008 | SYSOUT | 报表输出确认 | SYSOUT文件 |
|
||||
|
||||
---
|
||||
|
||||
## 2.2 类型别测试基准
|
||||
|
||||
### 匹配基础测试(1:1 / 1:N / N:1)
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| MT-N001 | 正常 | 1:1 主键完全匹配 | 双方各N件,全部匹配成功 | ◎ |
|
||||
| MT-N002 | 正常 | 1:N 主1件从N件 | 主件1件对应从件N件 | ◎ |
|
||||
| MT-N003 | 正常 | N:1 从1件主N件 | 从件1件对应主件N件 | ◎ |
|
||||
| MT-N004 | 正常 | 主件有剩余键 | 从件读完,主件剩余→WRITE W03 | ◎ |
|
||||
| MT-N005 | 正常 | 从件有剩余键 | 主件读完,从件剩余→WRITE W02 | ◎ |
|
||||
| MT-N006 | 异常 | 主键值重复 | 主件内同键出现2次 | ◎ |
|
||||
| MT-N007 | 异常 | 键值未排序 | 升序前提被违反→误匹配 | ◎ |
|
||||
| MT-R001 | 确认 | 匹配件数合计 | 正常/剩余件数之和与输入一致 | ◎ |
|
||||
|
||||
### 匹配系不平衡测试
|
||||
|
||||
| 编号 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|--------|
|
||||
| MT-N009 | R01=1条 R02=N条 | 1:N 极端不平衡 | ◎ |
|
||||
| MT-N010 | R01=N条 R02=1条 | N:1 极端不平衡 | ◎ |
|
||||
| MT-N011 | R01=100万条 R02=0条 | 极大量仅存测试 | ○ |
|
||||
| MT-N012 | R01全部匹配 R02全部匹配 | 完美匹配(实务中很少见) | ○ |
|
||||
|
||||
### 条件分支系测试(IF / EVALUATE)
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| B-N001 | 正常 | IF 2路分支(ELSE) | IF条件成立/不成立各处理 | ◎ |
|
||||
| B-N002 | 正常 | IF 3路分支(ELSE IF) | ELSE IF 链式分支 | ◎ |
|
||||
| B-N003 | 正常 | IF 复合条件 AND/OR | 多个条件组合 | ◎ |
|
||||
| B-N004 | 正常 | IF 88-level 条件名 | 88条件直接判断 | ◎ |
|
||||
| B-N005 | 正常 | IF 嵌套3层 | 内部IF引用外部IF变量 | ◎ |
|
||||
| B-N006 | 正常 | EVALUATE WHEN 多值 | 多个WHEN分支 | ◎ |
|
||||
| B-N007 | 正常 | EVALUATE ALSO | 多条件组合判断 | ◎ |
|
||||
| B-N008 | 正常 | EVALUATE TRUE/FALSE | 条件表达式判定 | ◎ |
|
||||
| B-N009 | 正常 | EVALUATE WHEN OTHER | 默认分支覆盖 | ◎ |
|
||||
| B-N010 | 正常 | CONTINUE / NEXT SENTENCE | 空分支处理 | ○ |
|
||||
| B-A001 | 异常 | IF 未闭合(缺少END-IF) | 编译错误,非运行时测试(属代码审查范畴) | ◎ |
|
||||
| B-A002 | 异常 | EVALUATE 无WHEN OTHER | 全不匹配→无操作 | ○ |
|
||||
| B-R001 | 确认 | COBOL 85 条件表达式 | 关系运算符全部覆盖 | ◎ |
|
||||
|
||||
### 内部表检索测试(SEARCH / SEARCH ALL)
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| T-N001 | 正常 | SEARCH ALL 等值查找(找到) | KEY等于目标存在 | ◎ |
|
||||
| T-N002 | 正常 | SEARCH ALL 等值查找(未找到) | KEY等于目标不存在 | ◎ |
|
||||
| T-N003 | 正常 | SEARCH ALL 多键查找 | 主键+副键组合 | ◎ |
|
||||
| T-N004 | 正常 | SEARCH 顺序查找 | KEY条件不唯一用SEARCH | ○ |
|
||||
| T-N005 | 正常 | OCCURS 1件表 | 表只有1条时检索 | ◎ |
|
||||
| T-N006 | 正常 | OCCURS DEPENDING ON | 可变长表边界检索 | ◎ |
|
||||
| T-N007 | 正常 | INDEXED BY 索引操作 | SET/SEARCH ALL 使用 INDEX | ◎ |
|
||||
| T-A001 | 异常 | SEARCH ALL 未排序表 | 二进制查找未排序→误命中 | ◎ |
|
||||
| T-A002 | 异常 | INDEX 越界 | OCCURS范围外访问 | ◎ |
|
||||
| T-A003 | 异常 | OCCURS DEPENDING ON = 0 | 空表检索 | ◎ |
|
||||
| T-R001 | 确认 | SEARCH ALL 后INDEX位置 | 找到后INDEX指向正确位置 | ◎ |
|
||||
|
||||
### 子程序调用测试(CALL / LINKAGE)
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| C-N001 | 正常 | CALL 字面量名 | CALL 'SUBPGM' USING ... | ◎ |
|
||||
| C-N002 | 正常 | CALL USING 参数传递 | CALL侧+LINKAGE侧参数对应 | ◎ |
|
||||
| C-N003 | 正常 | CALL 变量名(动态CALL) | CALL WS-PGM-NAME USING ... | ◎ |
|
||||
| C-N004 | 正常 | CALL + RETURN-CODE | RETURN-CODE设置和检查 | ◎ |
|
||||
| C-N005 | 正常 | CALL + EXIT PROGRAM | 子程序正常返回 | ◎ |
|
||||
| C-N006 | 正常 | CALL + GOBACK | GOBACK返回(含RETURN-CODE) | ◎ |
|
||||
| C-N007 | 正常 | IS INITIAL 指定程序 | 每次CALL时WS初始化确认 | ◎ |
|
||||
| C-N008 | 正常 | 非IS INITIAL 程序 | CALL跨调用WS值保持 | ◎ |
|
||||
| C-N009 | 正常 | CALL 多层嵌套(A→B→C) | 3层CALL传递参数 | ○ |
|
||||
| C-A001 | 异常 | CALL 不存在的程序 | 未加载→ABEND | ◎ |
|
||||
| C-A002 | 异常 | CALL USING 参数长度不匹配 | CALL侧与LINKAGE侧长度不同 | ◎ |
|
||||
| C-A003 | 异常 | CALL CANCEL 后再CALL | CANCEL→INITIAL状态 | ◎ |
|
||||
| C-A004 | 异常 | CALL 递归调用自身 | 需RECURSIVE编译选项(实务罕见),无RECURSIVE→ABEND | ○ |
|
||||
| C-R001 | 确认 | CALL 前STOP RUN | CALL前正常结束 | ◎ |
|
||||
| C-R002 | 确认 | CALL 后RETURN-CODE检查 | 子程序的返回码正确传递 | ◎ |
|
||||
|
||||
### SYSIN读取测试
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| SY-N001 | 正常 | SYSIN正常参数读取 | 标准参数卡片→正确解析 | ◎ |
|
||||
| SY-N002 | 正常 | SYSIN多卡连续读取 | 多张参数卡片全部正确读取 | ◎ |
|
||||
| SY-N003 | 正常 | SYSIN结束处理 | SYSIN读到文件尾后正常继续 | ◎ |
|
||||
| SY-A001 | 异常 | SYSIN参数格式错误 | 非法参数→错误处理/ABEND | ◎ |
|
||||
| SY-A002 | 异常 | SYSIN空(0件) | 无参数卡片→默认值处理 | ◎ |
|
||||
| SY-A003 | 异常 | SYSIN文件不存在 | OPEN STATUS 35 | ◎ |
|
||||
| SY-R001 | 确认 | 参数解析结果 | 确认解析后的参数值与预期一致 | ◎ |
|
||||
|
||||
### 分割系测试(50分割 / 25分割 / 100分割)
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| S-N001 | 正常 | 50分割(正好50件) | 1件ずつ50ファイル出力 | ◎ |
|
||||
| S-N002 | 正常 | 50分割(51件→余1件) | 余数文件处理 | ◎ |
|
||||
| S-N003 | 正常 | 50分割(49件→1件不足) | 最终文件不满 | ◎ |
|
||||
| S-N004 | 正常 | 25分割(25件→正好) | 整数倍 | ◎ |
|
||||
| S-N005 | 正常 | 100分割(100件→正好) | 整数倍 | ◎ |
|
||||
| S-N006 | 正常 | 分割数=1(50分割1件) | 1件入力→1ファイルのみ出力 | ◎ |
|
||||
| S-N007 | 正常 | 分割数>记录数(50分割3件) | 出力ファイル仅少数 | ○ |
|
||||
| S-A001 | 异常 | 分割文件OPEN失败 | 途中文件OPEN STATUS 35 | ◎ |
|
||||
| S-A002 | 异常 | 分割文件磁盘满 | 途中文件WRITE STATUS 34 | ○ |
|
||||
| S-R001 | 确认 | 分割文件命名规则 | 规则通りのファイル名确认 | ◎ |
|
||||
| S-R002 | 确认 | 各文件件数合计=入力件数 | 总件数一致确认 | ◎ |
|
||||
|
||||
### key切测试(汇总 / 聚合 / 非汇总)
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| KB-N001 | 正常 | 汇总型(ADD累加) | 同键多件→金额合计正确 | ◎ |
|
||||
| KB-N002 | 正常 | 聚合型(件数/最大值等) | 同键多件→件数/最大/最小正确 | ◎ |
|
||||
| KB-N003 | 正常 | 非汇总型(键变化做标记) | 键切换时仅变化检测,无累加 | ◎ |
|
||||
| KB-N004 | 正常 | 单键组(全部同键) | 全体1个键值→1次中断 | ◎ |
|
||||
| KB-N005 | 正常 | 多键组(N个不同键) | 键值变化N-1次→N组输出 | ◎ |
|
||||
| KB-N006 | 正常 | 单条记录单键组 | 1件1组→自身就是汇总值 | ◎ |
|
||||
| KB-A001 | 异常 | 前键值字段未初始化 | WS-PREV-KEY初始空格→首次误中断 | ◎ |
|
||||
| KB-A002 | 异常 | 累加器溢出 | 金额超PIC定义→SIZE ERROR | ○ |
|
||||
| KB-R001 | 确认 | 各组小计=合计 | 各组累加值之和与全局合计一致 | ◎ |
|
||||
|
||||
### SORT 类型测试
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| SR-N001 | 正常 | SORT USING/GIVING(升序) | 简单升序排序 | ◎ |
|
||||
| SR-N002 | 正常 | SORT DESCENDING | 降序 | ◎ |
|
||||
| SR-N003 | 正常 | 多键SORT | 第1键+第2键 | ◎ |
|
||||
| SR-N004 | 正常 | 重复键顺序维持 | 稳定排序确认 | ◎ |
|
||||
| SR-N005 | 正常 | 0条SORT | 空文件 | ◎ |
|
||||
| SR-N006 | 正常 | 1条SORT | 1件 | ○ |
|
||||
| SR-N007 | 正常 | INPUT PROCEDURE | 排序前筛选 | ◎ |
|
||||
| SR-N008 | 正常 | OUTPUT PROCEDURE | 排序后汇总 | ◎ |
|
||||
| SR-N009 | 正常 | INPUT PROCEDURE(编辑) | 排序前字段编辑 | ○ |
|
||||
| SR-N010 | 正常 | OUTPUT PROCEDURE(报表) | 排序后报表 | ○ |
|
||||
| SR-A001 | 异常 | SORT区不足 | 超大量 → RC=20 | ○ |
|
||||
| SR-A002 | 异常 | INPUT内未RELEASE | 数据丢失 | ◎ |
|
||||
| SR-A003 | 异常 | OUTPUT内未RETURN | 死循环 | ○ |
|
||||
| SR-R001 | 确认 | RC=0 | 正常结束 | ◎ |
|
||||
| SR-R002 | 确认 | RC=16 | SORT语法错误 | ○ |
|
||||
| SR-R003 | 确认 | RC=20 | 工作区不足 | ○ |
|
||||
|
||||
### MERGE 类型测试
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| MR-N001 | 正常 | 2文件MERGE | 两个已排序文件合并 | ◎ |
|
||||
| MR-N002 | 正常 | 3文件MERGE | 三个 | ○ |
|
||||
| MR-N003 | 正常 | 重复键MERGE | 同键顺序 | ◎ |
|
||||
| MR-A001 | 异常 | 输入未排序文件 | 未排序→误合并 | ◎ |
|
||||
|
||||
### 校验测试(含重复 / 不含重复 / 半角)
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| VF-N001 | 正常 | 字段校验通过 | 输入值在允许范围内→正常输出 | ◎ |
|
||||
| VF-N002 | 正常 | 字段校验拒绝 | 输入值异常→错误输出文件 | ◎ |
|
||||
| VF-N003 | 正常 | 重复检测(正常) | 首次出现该键→通过 | ◎ |
|
||||
| VF-N004 | 正常 | 重复检测(重复) | 同一键第二次出现→错误输出 | ◎ |
|
||||
| VF-N005 | 正常 | 半角长度20桁 | 半角20桁以内→通过 | ◎ |
|
||||
| VF-N006 | 正常 | 半角长度4桁 | 半角4桁以内→通过 | ◎ |
|
||||
| VF-A001 | 异常 | 半角超长(21桁) | 半角21桁→截断/错误 | ◎ |
|
||||
| VF-A002 | 异常 | 全角混入 | 半角字段全角文字进入PIC X(半角)域 | ◎ |
|
||||
| VF-R001 | 确认 | 错误件数计数 | 正常件+错误件=输入件数 | ◎ |
|
||||
|
||||
### 编辑输出测试
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| ED-N001 | 正常 | WRITE AFTER ADVANCING | 改页/改行的编辑输出 | ◎ |
|
||||
| ED-N002 | 正常 | 编辑字段(PIC Z,9,*) | ゼロサプレス/編集文字 | ◎ |
|
||||
| ED-N003 | 正常 | HEADING/FOOTING输出 | 报表头尾正确 | ◎ |
|
||||
| ED-N004 | 正常 | 明细行连续输出 | N条明细行正确排序 | ◎ |
|
||||
| ED-N005 | 正常 | 改页(AFTER PAGE) | 改页时HEADING重复 | ◎ |
|
||||
| ED-A001 | 异常 | 编辑字段长度不足 | 数值超PIC编辑域→*溢出 | ◎ |
|
||||
| ED-A002 | 异常 | 改页中改行 | AFTER PAGE + AFTER n 组合 | ○ |
|
||||
| ED-R001 | 确认 | 输出行数确认 | HEADING+明细+FOOTING合计 | ◎ |
|
||||
|
||||
### CSV→FB转换测试(无换行 / 有换行)
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| CF-N001 | 正常 | 无换行(STRING合并) | 複数項目を1レコードに連結 | ◎ |
|
||||
| CF-N002 | 正常 | 有换行(改行展开) | 1行入力→複数行出力(改行位置) | ◎ |
|
||||
| CF-N003 | 正常 | 項目内カンマ引用符付き | カンマ区切り | ◎ |
|
||||
| CF-N004 | 正常 | 引用符付き文字列 | "..."内のカンマ/改行を保持 | ◎ |
|
||||
| CF-N005 | 正常 | 空項目連続カンマ→空文字列処理 | ○ |
|
||||
| CF-N006 | 正常 | 全項目最大長 | 各項目がPIC定義ギリギリ | ◎ |
|
||||
| CF-A001 | 异常 | 改行位置がRECORD長超過 | 改行展開後1行が定義長超え | ◎ |
|
||||
| CF-A002 | 异常 | 引用符未閉じ | 閉じ"がない→残り全部1項目 | ◎ |
|
||||
|
||||
### ASCII→EBCDIC编码转换测试
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| AE-N001 | 正常 | ASCII→EBCDIC 全文字 | 印字可能文字全种正确转换 | ◎ |
|
||||
| AE-N002 | 正常 | EBCDIC→ASCII 全文字 | 逆方向一致确认 | ◎ |
|
||||
| AE-N003 | 正常 | 制御文字保持 | 改行/タブ等制御文字保持 | ◎ |
|
||||
| AE-A001 | 异常 | 変換表にない文字 | 未定義文字→替代文字/エラー | ◎ |
|
||||
| AE-A002 | 异常 | 往復一致性(ラウンドトリップ) | ASCII→EBCDIC→ASCII 一致 | ◎ |
|
||||
| AE-A003 | 异常 | 全角/半角混在の変換 | 全角文字がPIC X領域で化ける | ◎ |
|
||||
| AE-R001 | 确认 | 変換後レコード長 | 変換前後でレコード長一致 | ◎ |
|
||||
|
||||
### online/CICS测试
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| OL-N001 | 正常 | DFHCOMMAREA受信 | CALL側渡したデータを正しく受信 | ◎ |
|
||||
| OL-N002 | 正常 | MAP入出力 | MAPの送受信(SEND/RECEIVE MAP) | ◎ |
|
||||
| OL-N003 | 正常 | 画面入力→DB検索 | 画面入力値をキーにDB検索→結果表示 | ◎ |
|
||||
| OL-N004 | 正常 | 複数画面遷移 | 画面A→B→Cのデータ引継ぎ | ◎ |
|
||||
| OL-A001 | 异常 | DFHCOMMAREA長不一致 | CALL側と受信側の長さが異なる | ◎ |
|
||||
| OL-A002 | 异常 | トランザクションABEND | 異常発生時のROLLBACK確認 | ◎ |
|
||||
| OL-A003 | 异常 | MAP未定義項目参照 | MAPにない項目へのアクセス | ○ |
|
||||
| OL-R001 | 确认 | 応答時間 | オンライン処理の応答時間測定 | ◎ |
|
||||
|
||||
### DB操作/检索/SELECT条件测试
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| DB-N001 | 正常 | SELECT 1件 | WHERE条件で1件取得 | ◎ |
|
||||
| DB-N002 | 正常 | SELECT 複数件 | 条件に合う全件FETCH | ◎ |
|
||||
| DB-N003 | 正常 | INSERT(1件追加) | 新規レコードINSERT→SELECT確認 | ◎ |
|
||||
| DB-N004 | 正常 | UPDATE(更新) | 条件に合うレコード更新 | ◎ |
|
||||
| DB-N005 | 正常 | DELETE(削除) | 条件に合うレコード削除 | ◎ |
|
||||
| DB-N006 | 正常 | SELECT 0件 | 条件に合うレコードなし | ◎ |
|
||||
| DB-A001 | 异常 | キー重複INSERT | 一意キー違反→SQLCODEエラー | ◎ |
|
||||
| DB-A002 | 异常 | 存在しないテーブル | SELECT FROM 存在しない表 | ◎ |
|
||||
| DB-A003 | 异常 | NULL値処理 | NULL項目のMOVE/FETCH | ◎ |
|
||||
| DB-R001 | 确认 | SQLCODE確認 | 各SQL実行後のSQLCODE確認 | ◎ |
|
||||
|
||||
### 高级匹配测试(二级 / M:N组合 / 混合)
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| AM-N001 | 正常 | 二级1:1→1:1 | 第一段匹配后→中间ファイル→第二段匹配 | ◎ |
|
||||
| AM-N002 | 正常 | 二级N:1→N:1 | 两段均为N:1匹配 | ◎ |
|
||||
| AM-N003 | 正常 | M:N→M条(主件对应) | 组合匹配输出M件 | ◎ |
|
||||
| AM-N004 | 正常 | M:N→N条(从件对应) | 组合匹配输出N件 | ◎ |
|
||||
| AM-N005 | 正常 | M:N→M×N条(笛卡尔积) | 组合匹配输出全组合 | ◎ |
|
||||
| AM-N006 | 正常 | 1:N+同key切(混合) | 匹配分支内有同键值key切 | ◎ |
|
||||
| AM-N007 | 正常 | 1:N+异key切(混合) | 匹配分支内有异键值key切 | ◎ |
|
||||
| AM-N008 | 正常 | 二级M:N→M:N | 第一段M:N匹配→中间文件→第二段M:N匹配 | ◎ |
|
||||
| AM-A001 | 异常 | 中间文件OPEN失败 | 第二段匹配时中间文件STATUS 35 | ◎ |
|
||||
| AM-A002 | 异常 | 二级匹配键不一致 | 第一段与第二段的键字段不同 | ◎ |
|
||||
| AM-R001 | 确认 | 各段匹配件数 | 第一段/第二段各自输出件数确认 | ◎ |
|
||||
|
||||
### 文件编成测试
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| FO-N001 | 正常 | SEQUENTIAL順次読書 | 先頭→最終まで全件正常READ | ◎ |
|
||||
| FO-N002 | 正常 | INDEXED(KSDS)キー指定READ | 主キーで特定レコードREAD | ◎ |
|
||||
| FO-N003 | 正常 | KSDS START命令 | STARTでキー位置指定→READ | ◎ |
|
||||
| FO-N004 | 正常 | RELATIVE(RRDS)RRN指定 | RELATIVE KEYで番号指定READ | ◎ |
|
||||
| FO-N005 | 正常 | LINE SEQUENTIAL読書 | 改行区切りテキストファイルREAD | ◎ |
|
||||
| FO-A001 | 异常 | VSAM OPEN STATUS 95 | ファイル状態不一致 | ◎ |
|
||||
| FO-A002 | 异常 | KSDSキー重複WRITE | 既存キーでWRITE→STATUS 22 | ◎ |
|
||||
| FO-A003 | 异常 | RRDS範囲外 | RRN定義済みRRN範囲外アクセス | ◎ |
|
||||
| FO-A004 | 异常 | ファイル編成不一致OPEN | 順次プログラムでVSAMをOPEN | ◎ |
|
||||
| FO-R001 | 确认 | FILE STATUS確認 | 各I/O後のSTATUS値確認 | ◎ |
|
||||
|
||||
---
|
||||
|
||||
## 2.3 横跨功能测试基准
|
||||
|
||||
### 2.3.1 可变长入出力
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| VL-N001 | 正常 | RECORD IS VARYING(可变长记录) | 定义可变长记录,正常读写 | ◎ |
|
||||
| VL-N002 | 正常 | OCCURS DEPENDING ON(可变长表) | ODO表正常读写,DEPENDING值变化 | ◎ |
|
||||
| VL-N003 | 正常 | LINE SEQUENTIAL 文件读写 | 行可変长文件(LF结尾)一行ずつREAD | ◎ |
|
||||
| VL-N004 | 正常 | 固定长→可变长转换 | 固定长记录WRITE到可变长文件 | ◎ |
|
||||
| VL-N005 | 正常 | 可变长→固定长转换 | 可变长记录READ到固定长记录域 | ◎ |
|
||||
| VL-N006 | 正常 | RECORD VARYING FROM 1 TO 99 | 最小~最大件数之间的任意长度 | ◎ |
|
||||
| VL-A001 | 异常 | ODO最大值超限 | OCCURS DEPENDING ON超定义值 | ◎ |
|
||||
| VL-A002 | 异常 | 可变长记录截断 | WRITE时记录长度超文件定义 | ◎ |
|
||||
| VL-A003 | 异常 | LINE SEQUENTIAL 改行缺失 | 文件末尾无LF | ○ |
|
||||
| VL-A004 | 异常 | 可变长文件STATUS 47 | 记录长度与文件定义不一致 | ◎ |
|
||||
| VL-R001 | 确认 | RECORD LENGTH 确认 | WRITE后文件LRECL与定义一致 | ◎ |
|
||||
| VL-R002 | 确认 | ODO表件数确认 | DEPENDING ON值与实际件数一致 | ◎ |
|
||||
|
||||
### 2.3.2 循环处理
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| LP-N001 | 正常 | PERFORM VARYING(计数循环) | VARYING I FROM 1 BY 1 UNTIL I > N | ◎ |
|
||||
| LP-N002 | 正常 | PERFORM UNTIL(条件循环) | 条件达到后退出 | ◎ |
|
||||
| LP-N003 | 正常 | PERFORM TIMES(固定次数) | N回执行 | ◎ |
|
||||
| LP-N004 | 正常 | PERFORM THRU(段落跨入) | THRU指定多个段落 | ○ |
|
||||
| LP-N005 | 正常 | 内联PERFORM(END-PERFORM) | COBOL85内联循环 | ◎ |
|
||||
| LP-N006 | 正常 | 嵌套PERFORM(3层) | 内层PERFORM完整执行后外层继续 | ◎ |
|
||||
| LP-N007 | 正常 | EXIT PERFORM / EXIT PERFORM CYCLE | 中途退出/跳过本次循环 | ◎ |
|
||||
| LP-A001 | 异常 | PERFORM VARYING 0回 | 初始值已超终值→0回执行 | ◎ |
|
||||
| LP-A002 | 异常 | 无限循环(条件永不满足) | UNTIL条件永不成立→超时 | ○ |
|
||||
| LP-A003 | 异常 | PERFORM嵌套越界 | 内层PERFORM THRU跨入外层段落 | ◎ |
|
||||
| LP-A004 | 异常 | EXIT SECTION/GOBACK误用 | 循环内意外退出程序 | ◎ |
|
||||
| LP-R001 | 确认 | 循环回数确认 | 实际执行回数与期望一致 | ◎ |
|
||||
|
||||
### 2.3.3 数值精度
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| NP-N001 | 正常 | COMP-3小数位对齐 | PIC S9(7)V99与S9(9)V9的ADD对齐 | ◎ |
|
||||
| NP-N002 | 正常 | ROUNDED选项 | 计算结果四舍五入到指定小数位 | ◎ |
|
||||
| NP-N003 | 正常 | ON SIZE ERROR | 结果超过PIC定义域时触发 | ◎ |
|
||||
| NP-N004 | 正常 | 除算余数(REMAINDER) | DIVIDE...REMAINDER | ◎ |
|
||||
| NP-N005 | 正常 | COMP(二进制)符号处理 | S9(4) COMP的符号位正确 | ◎ |
|
||||
| NP-N006 | 正常 | COMPUTE中间精度 | 中间结果精度确保最终结果正确 | ◎ |
|
||||
| NP-N007 | 正常 | 符号付/符号なし混算 | S9(5)与9(5)的ADD/SUBTRACT | ○ |
|
||||
| NP-A001 | 异常 | 超过PIC定义域(无SIZE ERROR) | 高位截断→数据错误 | ◎ |
|
||||
| NP-A002 | 异常 | COMP-3符号误判 | 符号ニブル('C'/'D')不一致 | ◎ |
|
||||
| NP-A003 | 异常 | 除算0除 | DIVIDE BY ZERO→ABEND | ◎ |
|
||||
| NP-A004 | 异常 | COMP赋值溢出 | 超范围的数值MOVE到COMP字段 | ◎ |
|
||||
| NP-R001 | 确认 | 演算结果精度一致 | 同一演算反复执行→结果一致 | ◎ |
|
||||
| NP-R002 | 确认 | 小数点位置一致 | 编辑字段(PIC Z,9等)十进制位正确 | ◎ |
|
||||
|
||||
### 2.3.4 日文文字处理
|
||||
|
||||
#### 2.3.4.1 PIC N 全角字段
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| J-N001 | 正常 | PIC N全角转记 | 全角英数/汉字正确存储 | ◎ |
|
||||
| J-N002 | 正常 | PIC N比较(等值) | 同全角字符串→EQUAL | ◎ |
|
||||
| J-N003 | 正常 | PIC N比较(异值) | 异→NOT EQUAL | ◎ |
|
||||
| J-N004 | 正常 | PIC N→PIC X转记 | 全角→半角域(防乱码) | ◎ |
|
||||
| J-N005 | 正常 | PIC N DISPLAY-1 | I/O确认 | ○ |
|
||||
|
||||
#### 2.3.4.2 半角假名
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| J-K001 | 正常 | 半角假名转记 | アイウエオ正确转记 | ◎ |
|
||||
| J-K002 | 正常 | 半角假名比较 | アイウエオ比较 | ○ |
|
||||
| J-K003 | 正常 | 半角假名排序 | 排序顺序确认 | ◎ |
|
||||
| J-K004 | 异常 | 全角/半角混用 | 混用数据处理 | ◎ |
|
||||
| J-K005 | 异常 | 半角假名排序顺序差异 | EBCDIC顺序 vs SJIS顺序 vs 五十音顺序 | ◎ |
|
||||
|
||||
#### 2.3.4.3 外字(厂商别)
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| J-G001 | 正常 | JEF外字(日立) | JEF外字领域读写 | ◎ |
|
||||
| J-G002 | 正常 | KEIS外字(富士通) | KEIS外字领域 | ◎ |
|
||||
| J-G003 | 正常 | IBM外字 | IBM扩展文字 | ◎ |
|
||||
| J-G004 | 异常 | 外字转换(SJIS→EBCDIC) | 厂商间外字差异 | ◎ |
|
||||
| J-G005 | 异常 | 未定义外字 | 未定义→替代文字 | ○ |
|
||||
| J-G006 | 异常 | 中文汉字与日文外字冲突 | 中日混在环境 | ○ |
|
||||
|
||||
#### 2.3.4.4 Shift-JIS 5C/7C
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| J-D001 | 正常 | 第2字节5C | 「ソ」「噂」「能」 | ◎ |
|
||||
| J-D002 | 正常 | 第2字节7C | 「本」「問」 | ◎ |
|
||||
| J-D003 | 正常 | 5C/7C字符串长度 | 字节长度≠字符数 | ◎ |
|
||||
| J-D004 | 异常 | 5C/7C误转换 | 误转成\或\| | ◎ |
|
||||
|
||||
#### 2.3.4.5 编码转换
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| J-X001 | 正常 | EBCDIC→SJIS转换 | 全字符正确 | ◎ |
|
||||
| J-X002 | 正常 | SJIS→UTF-8转换 | UTF8转换 | ◎ |
|
||||
| J-X003 | 正常 | 3段转换一致性 | 往返对比 | ○ |
|
||||
| J-X004 | 异常 | 不可转换字符 | 替代字符/错误 | ◎ |
|
||||
| J-X005 | 异常 | 全角半角转换精度 | 全角数字→半角数字等业务数据 | ◎ |
|
||||
| J-X006 | 正常 | CODEPAGE指定转换(IBM-930→SJIS) | CODEPAGE经由的文字转换 | ◎ |
|
||||
| J-X007 | 异常 | CODEPAGE未定义文字 | 转换表中不存在的文字→替代文字 | ◎ |
|
||||
| J-X008 | 异常 | ASCII→EBCDIC映射误差 | UNISYS等ASCII系主机 | ○ |
|
||||
|
||||
#### 2.3.4.6 全角空格/编辑
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| J-S001 | 正常 | 全角空格TRIM | TRIM对全角空格 | ◎ |
|
||||
| J-S002 | 正常 | 全角空格INSPECT | INSPECT计数 | ○ |
|
||||
| J-S003 | 异常 | 含全角空格比较 | "ABC" vs "A BC" | ○ |
|
||||
|
||||
### 2.3.5 日期处理
|
||||
|
||||
#### 2.3.5.1 西历日期
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| D-N001 | 正常 | 通常日期(YYYYMMDD) | 正常日期处理 | ◎ |
|
||||
| D-N002 | 正常 | 闰年判定 | 2000/2004/2100年 | ◎ |
|
||||
| D-N003 | 正常 | 月末日 | 1月31日/2月28日/2月29日 | ◎ |
|
||||
| D-N004 | 正常 | 日期计算(±日) | FUNCTION INTEGER-OF-DATE | ◎ |
|
||||
| D-N005 | 正常 | 日期比较 | 日期前后比较 | ○ |
|
||||
| D-A001 | 异常 | 日期逻辑异常 | 2月30日/4月31日 | ◎ |
|
||||
| D-A002 | 异常 | 西历/和历混在 | YYYYMMDD与RYYMMDD混用 | ◎ |
|
||||
| D-A003 | 异常 | 2桁年(YYMMDD) | 2000年区分问题(YYMMDD不能区分2000/1900) | ◎ |
|
||||
| D-A004 | 异常 | 闰年边界 | 2000/02/28→29→03/01 | ◎ |
|
||||
|
||||
#### 2.3.5.2 和历(元号)处理
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| D-W001 | 正常 | 令和→西历 | R010501 = 2019/05/01 | ◎ |
|
||||
| D-W002 | 正常 | 平成→西历 | H010108 = 1989/01/08 | ◎ |
|
||||
| D-W003 | 正常 | 昭和→西历 | S611231 = 1986/12/31 | ◎ |
|
||||
| D-W004 | 正常 | 大正→西历 | T011231 = 1912/12/31 | ○ |
|
||||
| D-W005 | 正常 | 明治→西历 | M450129 = 1912/01/29 | ○ |
|
||||
| D-W006 | 正常 | 元号边界(令和初日) | 平成年末日→令和初日 2019/04/30→05/01 | ◎ |
|
||||
| D-W007 | 正常 | 元号边界(平成年初日) | 昭和的末日→平成年初日 1989/01/07→01/08 | ◎ |
|
||||
| D-W008 | 异常 | 不存在的和历日期 | R元年度(R元年)扱い | ○ |
|
||||
|
||||
#### 2.3.5.3 日期格式转换
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| D-F001 | 正常 | YYYYMMDD→YYMMDD | 4桁→2桁 | ◎ |
|
||||
| D-F002 | 正常 | YYYYMMDD→和历 | 西历→RYYMMDD | ◎ |
|
||||
| D-F003 | 正常 | 和历→西历 | RYYMMDD→YYYYMMDD | ◎ |
|
||||
| D-F004 | 异常 | 日期编辑文字 | 元号混じりの編集出力 | ○ |
|
||||
|
||||
### 2.3.6 RERUN / RESTART 测试
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| RR-N001 | 正常 | 同一数据再执行 | 幂等性确认(不重复更新) | ◎ |
|
||||
| RR-A001 | 异常 | 输出文件未删除 | 再执行STATUS 95 | ◎ |
|
||||
| RR-A002 | 异常 | 中间ABEND→RESTART | 中间状态重新开始 | ◎ |
|
||||
| RR-A003 | 异常 | ABEND时输出文件状态 | 中途废弃/部分输出 | ◎ |
|
||||
|
||||
### 2.3.7 排他/竞争测试
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| EX-N001 | 正常 | 同时READ | 多个JOB同时READ(DISP=SHR),正常读取,不报STATUS 47 | ◎ |
|
||||
| EX-A001 | 异常 | 同时WRITE冲突 | STATUS 48 | ◎ |
|
||||
| EX-A002 | 异常 | DISP=SHR违反 | STATUS 95 | ◎ |
|
||||
| EX-A003 | 异常 | OPEN中他JOB DELETE | STATUS 95/97 | ○ |
|
||||
|
||||
### 2.3.8 性能/容量测试
|
||||
|
||||
| 编号 | 区分 | 项目 | 内容 | 优先级 |
|
||||
|------|------|------|------|--------|
|
||||
| PV-N001 | 正常 | 10万件处理 | 批量处理性能 | ○ |
|
||||
| PV-N002 | 正常 | SORT 100万件 | SORT RC确认 | ○ |
|
||||
| PV-N003 | 正常 | VSAM大量READ | CI/CA分割性能 | ○ |
|
||||
| PV-A001 | 异常 | SORT领域不足 | RC=20 | ○ |
|
||||
|
||||
---
|
||||
|
||||
## 2.4 测试用例详细清单(部分代表性用例)
|
||||
|
||||
### SORT 用例
|
||||
|
||||
| 编号 | 目标类型 | 测试名 | 输入 | 期望结果 |
|
||||
|------|---------|-------|------|---------|
|
||||
| TC-N035 | SORT | SORT USING/GIVING | 10件升序 | 升序排序确认 |
|
||||
| TC-N036 | SORT | SORT INPUT PROCEDURE | 10件→筛选5件 | 筛选后仅5件排序 |
|
||||
| TC-N037 | SORT | SORT OUTPUT PROCEDURE | 10件→汇总 | 汇总值正确 |
|
||||
| TC-A041 | SORT | SORT区不足 | 100万件 | RC=20 |
|
||||
| TC-A042 | SORT | INPUT未RELEASE | 数据不RELEASE | 数据丢失 |
|
||||
|
||||
### MERGE 用例
|
||||
|
||||
| 编号 | 目标类型 | 测试名 | 输入 | 期望结果 |
|
||||
|------|---------|-------|------|---------|
|
||||
| TC-N044 | MERGE | MERGE 2文件合并 | 2个排序后文件 | 正确合并输出 |
|
||||
| TC-N045 | MERGE | MERGE 重复键 | 同键2件来自不同文件 | 同键顺序保持 |
|
||||
| TC-A048 | MERGE | 输入未排序 | MERGE未排序文件 | 误合并结果 |
|
||||
|
||||
### 分支/内部表/CALL/分割 用例
|
||||
|
||||
| 编号 | 目标类型 | 测试名 | 输入 | 期望结果 |
|
||||
|------|---------|-------|------|---------|
|
||||
| TC-N046 | IF分支 | IF 2路分支 | IF条件成立/不成立 | 各自处理正确 |
|
||||
| TC-N047 | IF分支 | IF 88-level条件名 | 88条件直接判断 | 正确分支 |
|
||||
| TC-N048 | EVALUATE | EVALUATE多值 | 多个WHEN覆盖 | 正确分支 |
|
||||
| TC-N049 | EVALUATE | EVALUATE WHEN OTHER | 未匹配→OTHER | 默认处理 |
|
||||
| TC-N050 | 内部表 | SEARCH ALL等值查找(找到) | KEY等于目标存在 | 找到→INDEX定位 |
|
||||
| TC-N051 | 内部表 | SEARCH ALL等值查找(未找到) | KEY等于目标不存在 | 未找到→INDEX超限 |
|
||||
| TC-N052 | CALL | CALL USING参数传递 | CALL 'SUBPGM' USING A B | 参数正确传递 |
|
||||
| TC-N053 | CALL | IS INITIAL指定 | CALL后WS值 | 每次初始状态 |
|
||||
| TC-N054 | 分割 | 50分割(正好50件) | 50件输入 | 各1文件1件 |
|
||||
| TC-A049 | IF分支 | IF未闭合 | 缺少END-IF | 语法错误编译错误 |
|
||||
| TC-A050 | 内部表 | INDEX越界 | OCCURS范围外访问 | ABEND |
|
||||
| TC-A051 | CALL | CALL不存在程序 | CALL 'NOPGM' | ABEND |
|
||||
| TC-A052 | 编码转换 | CODEPAGE未定义文字 | 转换表中不存在的文字 | 替代文字输出 |
|
||||
|
||||
### 日期处理 用例
|
||||
|
||||
| 编号 | 目标类型 | 测试名 | 输入 | 期望结果 |
|
||||
|------|---------|-------|------|---------|
|
||||
| TC-N038 | 日期 | 闰年判定 | 2000/02/29 | 正常处理 |
|
||||
| TC-N039 | 日期 | 非闰年判定 | 2100/02/29 | 错误 |
|
||||
| TC-N040 | 日期 | 和历转换(令和初日) | 2019/05/01 → R010501 | 正确转换 |
|
||||
| TC-N041 | 日期 | 和历转换(平成年末日) | 2019/04/30 → H310430 | 正确转换 |
|
||||
| TC-A043 | 日期 | 不存在的日期 | 2月30日 | 错误 |
|
||||
| TC-A044 | 日期 | 日期逻辑异常 | 4月31日 | 错误 |
|
||||
|
||||
### SYSIN/高级匹配 用例
|
||||
|
||||
| 编号 | 目标类型 | 测试名 | 输入 | 期望结果 |
|
||||
|------|---------|-------|------|---------|
|
||||
| TC-N055 | SYSIN读取 | SYSIN正常参数读取 | 标准参数卡5张 | 全部正确解析 |
|
||||
| TC-N056 | 二级M:N→M:N | 二级M:N匹配 | M:N第一段→中间文件→M:N第二段 | 正确匹配 |
|
||||
| TC-A053 | SYSIN读取 | SYSIN参数格式错误 | 非法参数 | 格式错误处理 |
|
||||
|
||||
### 不平衡/排他/RERUN 用例
|
||||
|
||||
| 编号 | 目标类型 | 测试名 | 输入 | 期望结果 |
|
||||
|------|---------|-------|------|---------|
|
||||
| TC-N042 | 匹配 | 1:N不平衡(1 vs 100万) | R01=1 R02=100万 | 正常处理 |
|
||||
| TC-N043 | 匹配 | N:1不平衡(100万 vs 1) | R01=100万 R02=1 | 正常处理 |
|
||||
| TC-A045 | 排他 | 同时WRITE | 2JOB同时WRITE同文件 | STATUS 48 |
|
||||
| TC-A046 | 排他 | 再执行(文件未删除) | 同一文件再WRITE | STATUS 95 |
|
||||
| TC-A047 | RESTART | 中途ABEND→RESTART | ABEND→再执行 | 正常RESTART |
|
||||
Reference in New Issue
Block a user