Files
cobol-tna-system/品質管理/カバレッジ統計.md
T

16 KiB
Raw Blame History

カバレッジ統計

本ファイルは全コードベース(KIN + ZAN + SUB)を統合したカバレッジ状況を集計する。 定義ファイル(COBOLキーワード網羅定義書.md)の Part 1(予約語一覧)・Part 3.1(カテゴリ定義)を参照して集計する。 凡例:◎=使用済、○=使用あり(一部構文のみ)、×=未使用、△=調査中


1. プログラムタイプカバレッジ

1.1 全35タイプ内訳

No. 名称 分類 対応プログラム 状態
01 マッチング(11 匹配 ZAN04MAT
02 マッチング(1N 匹配 KIN05MAT, KIN03EXP
03 マッチング(N1 匹配 ZAN03CHK
04 レイアウト編集のみ(GETPUT 编辑 KIN06CLD
05 振り分け(IF文) 分支 全メインプログラム(12本)
06 振り分け(EVALUATE文) 分支 12本中11本(KIN04/KIN06以外)
07 キーブレイク(集計) key切 ZAN05CAL
08 キーブレイク(集約) key切 ZAN05CAL
09 DB更新 数据库 KIN02UPD, ZAN06UPD
10 50分割 分割 ×
11 25分割 分割 ×
12 100分割 分割 ×
13 項目チェック(重複含まず) 校验 ZAN01CHK, ZAN03CHK, KIN01INP, KIN04CHK, SUB04CHK
14 オンラインPGM online ×
15 CSV→FB変換(改行なし) 文件转换 ZAN01CHK(UNSTRING), KIN01INP(UNSTRING)
16 2段階マッチング(11⇒11 匹配 ×
17 2段階マッチング(N1⇒N1 匹配 ×
18 マッチングMN⇒出力M件 匹配 ×
19 マッチングMN⇒出力N件 匹配 ×
20 マッチングMN⇒出力M×N件 匹配 ×
21 CSV→FB変換(改行あり) 文件转换 ×
22 2段階マッチング(MN⇒MN 匹配 ×
23 SELECT条件 数据库 ×
24 内部テーブル検索 内部处理 KIN01INP(SEARCH), KIN03EXP(SEARCH ALL), ZAN03CHK(SEARCH ALL)
25 サブプログラム使用 内部处理 SUB01DATSUB05TIM
26 DB検索 数据库 KIN03EXP, KIN06CLD
27 項目チェック(半角20桁/4桁) 校验 ×
28 SYSIN読込 内部处理 KIN08DBU
29 ASCII→EBCDIC変換 文件转换 ×
30 キーブレイク(集計集約以外) key切 KIN03EXP(社員小計), ZAN02CHK(重複検出), KIN05MAT(N:1ループ)
31 項目チェック(重複含む) 校验 ZAN02CHK(時間帯重複)
32 1:N+キーブレイク(同キー) 混合 ×
33 1:N+キーブレイク(異キー) 混合 ×
34 SORTINPUT/OUTPUT PROCEDURE 排序 ×
35 MERGE(複数ファイル結合) 排序 ×

1.2 集計

指標
全タイプ数 35
◎(使用済) 15
○(一部使用) 1
△(調査中) 0
×(未使用) 19
カバレッジ率(◎/35 42.9%
カバレッジ率(◎+○/35 45.7%

2. カテゴリカバレッジ

2.1 カテゴリ別使用状況

カテゴリ 全文数 使用文数 使用文一覧 未使用文 カバレッジ率
入出力(ファイル) 7 6 READ, WRITE, OPEN, CLOSE, WRITE FROM, WRITE ADVANCING DELETE(SEQ), REWRITE, START 85.7%
入出力(ソート) 4 0 SORT, MERGE, RELEASE, RETURN 0.0%
入出力(画面/システム) 3 2 ACCEPT, DISPLAY STOP RUN(SUB03END使用), STOP literal 66.7%
算術演算 5 5 ADD, SUBTRACT, MULTIPLY, DIVIDE, COMPUTE —(CORRESPONDING/REMAINDERは一部使用) 100%
制御(条件分岐) 4 4 IF, EVALUATE, SEARCH, CONTINUE 100%
制御(繰返し) 1 1 PERFORM(UNTIL/VARYING/THRU/TEST AFTER) 100%
制御(分岐/呼出) 7 4 CALL, GOBACK, EXIT, GO TO CANCEL, ENTRY, ALTER, EXIT PROGRAM 57.1%
文字操作 4 4 STRING, UNSTRING, INSPECT, INITIALIZE —(MOVE含む) 100%
埋込み言語 1 1 EXEC SQL ... END-EXEC —(EXEC CICS未使用) 100%
合計 38 27 (上記参照) 11件(ALTER,CANCEL,ENTRY,EXEC CICS,EXIT PROGRAM,MERGE,RELEASE,RETURN,REWRITE,SORT,START) 71.1%

2.2 未カバーカテゴリ

カテゴリ 未使用文 備考
入出力(ソート) SORT, MERGE, RELEASE, RETURN JCL PGM=SORTに委譲。COBOL SORT不使用
制御(分岐/呼出) CANCEL, ENTRY, ALTER, EXIT PROGRAM GOBACKで代用。ALTERは非推奨
入出力(ファイル) REWRITE, START VSAM/INDEXED非対応。DELETEはEXEC SQLのみ

3. 予約語・構文パターンカバレッジ

定義ファイル(COBOLキーワード網羅定義書.md Part 1)の「対応するCOBOL節/文」列に基づき、各構文パターンの使用状況を記録する。 優先度:高=当該プログラムタイプで必須、中=使用頻度高い、低=特殊用途 凡例:◎=使用済(複数PGM)、○=使用あり(単一PGM)、×=未使用

3.1 入出力(ファイル)

READ

構文パターン 説明 使用状況 優先度 備考
READ INTO レコード読込+データ移動 全ファイル読込PGMKIN03EXP/KIN06CLDを除く)
READ KEY IS キー指定読込 × 逐次読込のみ、キー指定不要
READ AT END 終了条件処理 READ AT END / NOT AT END / END-READ
READ NEXT 順次読込 全READ文は順次読込
READ PREVIOUS 逆方向読込 × 動的アクセス時のみ
READ NOT AT END 終了条件否定処理 ZAN01CHKなど
READ WITH WAIT ファイル解放待ち ×
READ LOCK/IGNORE LOCK ロック制御 ×

WRITE

構文パターン 説明 使用状況 優先度 備考
WRITE FROM 転記書出 KIN04CHK(2050NORMSOR)のみ
WRITE ADVANCING 改行・改ページ制御 KIN09CSVPAGE/2 LINES/1 LINE
WRITE END-OF-PAGE ページ終了処理 ×
WRITE INVALID KEY キー異常処理 × 索引ファイル時

OPEN

構文パターン 説明 使用状況 優先度 備考
OPEN INPUT 入力オープン 全ファイル入力PGM
OPEN OUTPUT 出力オープン 全ファイル出力PGM
OPEN I-O 入出力オープン × VSAM非対応
OPEN EXTEND 追加オープン ×
OPEN WITH NO REWIND 巻戻しなし × テープ時のみ

CLOSE

構文パターン 説明 使用状況 優先度 備考
CLOSE WITH LOCK ロック付きクローズ ×
CLOSE FOR REMOVAL テープリール取外し ×

DELETE, REWRITE, START

構文パターン 説明 使用状況 優先度 備考
DELETE(SEQ FILE) 逐次ファイル削除 × EXEC SQL DELETEはKIN02UPDで使用
REWRITE FROM 書換え+転記 ×
REWRITE INVALID KEY 書換え+キー異常処理 ×
START KEY IS 開始位置指定 ×
START INVALID KEY 位置指定+異常処理 ×

3.2 入出力(ソート)

構文パターン 説明 使用状況 優先度 備考
SORT ON KEY 整列キー指定 × 現状未使用
SORT USING 入力ファイル指定 ×
SORT GIVING 出力ファイル指定 ×
SORT INPUT PROCEDURE 入力手続き ×
SORT OUTPUT PROCEDURE 出力手続き ×
MERGE ON KEY 結合キー指定 ×
RELEASE FROM SORTへの引渡し ×
RETURN INTO SORTからの受取り ×

3.3 入出力(画面/システム)

構文パターン 説明 使用状況 優先度 備考
ACCEPT FROM DATE/DAY/TIME システム日付時刻取得 KIN06CLDでACCEPT FROM COMMAND-LINE使用(DATE系はSUB01DAT委譲)
DISPLAY UPON 出力先指定表示 × DISPLAYはあるがUPON句不使用
DISPLAY WITH NO ADVANCING 改行なし表示 ×
STOP RUN プログラム終了 SUB03ENDのみ(STOP RUN RETURN-CODE
STOP literal 一時停止 ×

3.4 算術演算

構文パターン 説明 使用状況 優先度 備考
ADD TO/GIVING 加算 ADD 1 TO CUN-xxx(全メインプログラム)
ADD CORRESPONDING 対応項目加算 × 未使用
SUBTRACT FROM/GIVING 減算 KIN07DAI6100/6300)、ZAN06UPD
SUBTRACT CORRESPONDING 対応項目減算 × 未使用
MULTIPLY BY/GIVING 乗算 KIN07DAI、ZAN06UPD(時間→分変換)
DIVIDE INTO/BY 除算 ZAN01CHK、ZAN05CAL、SUB05TIM、KIN07DAI
DIVIDE REMAINDER 商と余り DIVIDE...GIVING...REMAINDERZAN01, ZAN05, SUB05, KIN07
COMPUTE 計算代入 ZAN01, ZAN03, ZAN05, KIN03, KIN06, SUB05
ROUNDED 丸め指定 COMPUTE ROUNDED(上記PGM
SIZE ERROR サイズ異常処理 COMPUTE ON SIZE ERRORZAN01, ZAN03

3.5 制御(条件分岐)

構文パターン 説明 使用状況 優先度 備考
IF THEN/ELSE/END-IF 条件分岐 全メインプログラム + SUB04CHK, SUB05TIM
EVALUATE ALSO/WHEN/OTHER 多分岐 12本中11本(KIN04/KIN06以外)
SEARCH ALL バイナリサーチ KIN03EXP(休日), ZAN03CHK(休日)
SEARCH VARYING 変数変化付探索 × SEARCH(非ALL)はKIN01INPのみ
CONTINUE 無操作 SEARCH ALL AT END, EVALUATE WHEN OTHER

3.6 制御(繰返し)

構文パターン 説明 使用状況 優先度 備考
PERFORM 外部段落 段落呼出 全メインプログラム
PERFORM THRU 段落範囲呼出 KIN03EXP2100 THRU ...-EXIT
PERFORM TIMES 回数指定 × 未使用
PERFORM UNTIL 条件指定 全メインプログラム
PERFORM VARYING/AFTER 変数変化付 ZAN06UPD, KIN06CLD(線形探索)
PERFORM インライン インライン記述 × 全PERFORMは外部段落呼出し
PERFORM TEST BEFORE/AFTER 判定タイミング指定 ZAN06UPDPERFORM TEST AFTER VARYING

3.7 制御(分岐/呼出)

構文パターン 説明 使用状況 優先度 備考
CALL USING 引数付呼出 全メインプログラム(CALL SUB01-05
CALL RETURNING 戻値付呼出 × RETURN-CODEは使用するがCALL RETURNING不使用
CALL ON EXCEPTION 呼出異常処理 ×
GOBACK プログラム終了 全14プログラム
EXITplain 段落・節の共通終点 全14プログラム(xxx-EXT. EXIT.
EXIT PROGRAM 呼出元復帰 × GOBACKで代用
EXIT PARAGRAPH/SECTION 段落・節終了 ×
EXIT PERFORM/CYCLE PERFORM脱出 ×
GO TO 制御移行 ZAN01CHK, KIN01INP, KIN04CHK, SUB04CHK, KIN08DBU(DEPENDING ON)
CANCEL ON EXCEPTION プログラム解放 ×
ALTER TO PROCEED TO 分岐先変更 × 廃止予定
ENTRY USING 別エントリポイント ×

3.8 文字操作

構文パターン 説明 使用状況 優先度 備考
STRING DELIMITED BY/INTO 文字列連結 KIN01,02,04,06, ZAN01-04,06, SUB02MSG
STRING WITH POINTER 位置指定連結 KIN09CSV2000MAJSOR/2500-SHORT-MODE
UNSTRING DELIMITED BY/INTO 文字列分解 KIN01INP, KIN04CHK, ZAN01CHK
UNSTRING WITH POINTER 位置指定分解 ×
UNSTRING TALLYING 分解数計数 KIN01INP, KIN04CHK, ZAN01CHKTALLYING IN CNT
INSPECT TALLYING 文字計数 ZAN01CHK, KIN04CHK, SUB04CHK
INSPECT REPLACING 文字置換 KIN09CSV(CSVカンマ・改行サニタイズ)
INSPECT CONVERTING 文字変換 ×
INITIALIZE REPLACING カテゴリ別初期化 KIN08DBU1110-TARGETSOR
MOVE TO 基本代入 全14プログラム
MOVE CORRESPONDING 対応項目代入 ×

3.9 埋込み言語

構文パターン 説明 使用状況 優先度 備考
EXEC SQL ... END-EXEC DB2アクセス KIN02UPD, KIN03EXP, ZAN06UPD
EXEC CICS ... END-EXEC CICSコマンド × 現状バッチのみ

4. 全体サマリ

指標
プログラムタイプカバレッジ(35タイプ)
◎(使用済) 14 / 35
○(一部使用) 1 / 35
×(未使用) 20 / 35
△(調査中) 0 / 35
カバレッジ率(◎/35 40.0%
カバレッジ率(◎+○/35 42.9%
実装対象限定(1-9,13-15,24-26,28,30-31= 20種中 16件 = 80.0%
カテゴリカバレッジ(9カテゴリ)
全カテゴリ数 9
カバー済カテゴリ(使用文あり) 8 / 9
未カバーカテゴリ 入出力(ソート)(4文すべて未使用)
カテゴリカバレッジ率 88.9%
ステートメントカバレッジ(45ユニーク)
全ステートメント数 45
使用済ステートメント 37
未使用ステートメント 8
カバレッジ率 82.2%
予約語カバレッジ
全予約語数(COBOLキーワード網羅定義書.md準拠) 193
使用予約語数 137
カバレッジ率 71.0%
TYPE定義カバレッジ(11種)
全TYPE定義数 11
使用済TYPE 7X, 9, 9V9, S9V9, S9V9 COMP-3, S9 COMP-3, S9 COMP
特殊形式(補足) 39(004).9(001), S9 DISPLAY, +9(009)
未使用TYPE 4G, N, BINARY, ZZZ9
TYPEカバレッジ率 63.6%(特殊含め90.9%

5. サブシステムA プログラム実装状況

No. プログラムID プログラム名 プログラムタイプ 実装 備考
1 KIN01INP 休暇申請CSV取込・検証処理 振り分け(IF) + CSV→FB 実装済
2 KIN02UPD 休暇申請DB更新処理 DB更新(INSERT/DELETE/SELECT 実装済
3 KIN03EXP 休暇日別展開処理 キーブレイク + DB検索 実装済
4 KIN04CHK 打刻項目チェック処理 項目チェック(重複無) 実装済
5 KIN05MAT 打刻休暇照合処理 マッチング(1:N) + キーブレイク 実装済
6 KIN06CLD 出勤日カレンダー生成処理 GETPUT + DB検索 実装済
7 KIN07DAI 日別勤怠計算処理 マッチング(1:N) + EVALUATE分岐 実装済
8 KIN08DBU 勤怠DB更新処理 DB更新 + SYSIN読込 実装済
9 KIN09CSV 勤怠CSV出力処理 編集出力(WRITE AFTER ADVANCING 実装済

サブシステムA全9プログラム実装完了


本ファイルは全コードベース(KIN01-09 + ZAN01-06 + SUB01-05 = 20プログラム)を統合したカバレッジ状況。 サブシステムA 全9プログラム実装済。定義ファイル(COBOLキーワード網羅定義書.md)と合わせて参照すること。