3.8.1 カバレージ情報の概要
カバレージ情報とは,プログラムのテストがどれだけ網羅されているかを示す指標です。カバレージ情報の指標にはC0情報とC1情報があります。
- <この項の構成>
- (1) C0情報とC1情報
- (2) カバレージ情報の機能
- (3) WindowsとUNIXでのカバレージ情報操作の相違点
- (4) 異なるプラットフォーム間でのカバレージ情報の相互運用
(1) C0情報とC1情報
C0情報とC1情報について説明します。
- C0(ステートメントカバレージ情報):コマンド網羅性
テスト対象となるジョブ定義スクリプト中のコマンドをどれだけ実行したかの指標で,次の式で計算できます。
C0=(実行が済んだコマンドの数)/(全コマンドの数)×100(%)
- C1(ブランチカバレージ情報):分岐網羅性
テスト対象となるジョブ定義スクリプト中の分岐をどれだけ実行したかの指標で,次の式で計算できます。
C1=(実行が済んだ分岐の数)/(実行できる分岐の数)×100(%)
(2) カバレージ情報の機能
カバレージ情報は,ジョブ定義スクリプトをテストするときの参考資料として使用できます。また,コマンドを使用して,カバレージ情報を蓄積,表示またはマージできます。
- カバレージ情報の蓄積:adshexecコマンド(-tオプション)
ユーザーは,ジョブ定義スクリプト実行時にカバレージ情報を蓄積するオプションを指定して実行します。カバレージ情報を蓄積するオプションを指定して実行すると,カバレージ情報がカバレージ情報ファイルに蓄積されます。
- カバレージ情報の表示:adshcvshowコマンド,JP1/Advanced Shellエディタ
コマンドを使用して,カバレージ情報ファイルに蓄積されたカバレージ情報を表示できます。また,エディタからもカバレージ情報を表示できます。
- カバレージ情報のマージ:adshcvmergコマンド
このコマンドによって,一回の実行につき2つのカバレージ情報ファイルのカバレージ情報をマージできます。3つ以上のカバレージ情報ファイルのカバレージ情報をマージする場合は,このコマンドを複数回実行して,カバレージ情報のマージを繰り返してください。
(3) WindowsとUNIXでのカバレージ情報操作の相違点
次の表で示すようにWindowsとUNIXとでカバレージ情報の採取および表示方法に相違点があります。
表3-3 WindowsとUNIXでのカバレージ情報の採取および表示の相違点
環境 | カバレージ情報の採取 | カバレージ情報の表示 |
---|
Windowsの開発環境 | エディタのデバッグ機能を使用してカバレージ情報ファイルに採取します。 | - adshcvshowコマンドで表示します。
- デバッグ中にエディタから表示できます。
|
Windowsの実行環境 | - adshexecコマンドでカバレージの蓄積オプション(-t)を指定してカバレージ情報ファイルに採取します。
- デバッグ機能は使用できません。
| adshcvshowコマンドで表示します。 |
UNIXの実行環境 | - adshexecコマンドでカバレージの蓄積オプション(-t)を指定してカバレージ情報ファイルに採取します。
- adshexecコマンドでデバッグオプション(-d)を指定してメモリに採取します。
- adshexecコマンドでカバレージの蓄積オプション(-t)とデバッグオプション(-d)を指定してカバレージ情報ファイルおよびメモリに採取します。
| - カバレージ情報ファイルに採取した場合,adshcvshowコマンドで表示します。
- メモリに採取した場合,info coverageコマンドで表示します。
|
カバレージ情報のマージについては,次の表のようにWindowsとUNIXで相違があります。
表3-4 WindowsとUNIXでのカバレージ情報のマージの相違点
環境 | カバレージ情報のマージ |
---|
Windowsの開発環境 | - adshcvmergコマンドでマージします。
- エディタではマージできません。
|
Windowsの実行環境 | adshcvmergコマンドでマージします。 |
UNIXの実行環境 | adshcvmergコマンドでマージします。 |
(4) 異なるプラットフォーム間でのカバレージ情報の相互運用
異なるプラットフォーム間でのカバレージ情報の相互運用で,次の注意が必要です。
- 異なるプラットフォーム間でカバレージ情報を転送しないでください。
- Windowsで採取したカバレージ情報ファイルはUNIXでのコマンドでは処理できません。
- Linuxで採取したカバレージ情報ファイルはWindowsおよびAIXでのコマンドでは処理できません。
- AIXで採取したカバレージ情報ファイルはWindowsおよびLinuxでのコマンドでは処理できません。