Files
cobol-java-v3/benchmark-programs/cross-cutting/edge-cases/README.md
T
NB-076 94400d50d4 feat: add benchmark-programs — 58 telecom COBOL test programs
作为子目录纳入系统,与核心测试管道协同

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-25 09:53:21 +08:00

33 lines
1.4 KiB
Markdown

# 境界条件テスト (Edge Case Tests)
## 概要
COBOL プログラムの型判定システムの検証に特化した境界条件テスト集。
通常のテストパターンではカバーできない特殊ケースを網羅。
## テスト一覧
| プログラム | カバー内容 | 件数 |
|-----------|-----------|------|
| `prog-struct-edge.cbl` | PERFORM THRU, GO TO DEPENDING, 段落スルー, ALTER | 6 |
| `data-type-edge.cbl` | REDEFINES連鎖, ODO=0, JUSTIFIED, BLANK ZERO, SIGN, 編集記号 | 8 |
| `file-status-edge.cbl` | STATUS 35/37/41/44/47/48 | 5 |
| `numeric-edge.cbl` | COMP-3符号, SIZE ERROR, ROUNDED, 桁あふれ, 混算, ゼロ除算 | 9 |
| `level88-edge.cbl` | 88-level THRU範囲, 複数値, 境界値 | 10 |
| `matching-edge.cbl` | 0%一致, 100%一致, 全同キー, 降順 | 4 |
| `ambiguous-type-edge.cbl` | matching+key切混淆, IF+EVALUATE hybrid | 2 |
## 追加境界データ
既存の各プログラムディレクトリに `*-empty.dat` (0バイト空ファイル) 追加:
01~08, 10~12, 24, 30, 31, 34, 35
## 実行方法
```bash
cd cross-cutting/edge-cases && bash run.sh
```
## 判定エンジン検証
以下の混淆パターンは型判定エンジンの正しさを検証する:
- `ambiguous-type-edge.cbl`: 2入力+WS-PREV-KEY+累算器 → matching? key切?
- IF + EVALUATE 両方 → 分岐種別の判定
- 降順入力 → 「ソート済み」前提への違反検出