2022/6/29

2024/5/8

製品
DT+Trace
カテゴリー
How-to
タグ
カバレッジ, レポート収集, 設定
5 Q&A 5 C1カバレッジを「カバレッジレポート」上に表示させたい

C1カバレッジを「カバレッジレポート」上に表示させたい

本稿では、C1カバレッジの解析結果をカバレッジレポート上に出力する方法を説明します。C1カバレッジの設定を行う事で、テストレポートを解析し、実機上での操作/テストで対象となる関数内の分岐処理が真/偽両方の動作を網羅できているか、実行されていない分岐条件を確認し、不足している操作/テストパターンの検討などに活用する事ができます。

概要および手順

DT+Traceでは、プロパティ設定からC1カバレッジ解析の設定を行う事でレポート解析の際にカバレッジレポートにC1カバレッジの結果を出力する事が可能です。大まかなフローは以下の通りです。

C1カバレッジを行う

1. 環境設定でレポート解析設定からC1カバレッジ解析を設定します。

ツールメニューの環境設定より、「解析」を選択し、「レポート解析時にC1カバレッジを解析する」にチェックを入れてください。

チェック後、OKボタンを押してダイアログを閉じてください

2. テストレポートを開き、レポートデータの解析を行います。

メニューバー [レポート解析] > [テストレポートの表示] などから、C1カバレッジ解析を行いたいテストレポートを選択し表示します。
(※既にテストレポートが開かれている状態や複数レポートデータの合算解析を行う場合であればこの操作は不要です。)

メニューバー [レポート解析] > [レポートデータの解析] を選択し、テストレポートの解析を行います。

C1カバレッジ解析が有効になっている場合、以下のダイアログが表示されます。表示されない場合はメニューバー [ツール] > [環境設定]より手順1を再度ご確認ください。

チェックボックスが有効になっているソースファイルに対し、パス解析、C1カバレッジ解析を行います。チェックを外したソースファイルにはC1カバレッジ解析は行われません。

3. 解析後のカバレッジレポートからC1カバレッジの結果を確認します

レポート解析が実行されると、カバレッジレポートの右側にC1カバレッジ結果が表示されます。

関数単位のC1カバレッジ率の結果が右端のC1/C1(有効)に表示されます。リストの各カラムをクリックする事で、昇順/降順のソートが可能です。

C1lカバレッジの結果が100%の結果は赤字で表示され、分岐がないものは"-"で表示されます。

ルート計算に必要なテストポイントが挿入されていない場合、"X"が表示されます。該当の関数にFuncIn/Outなどのテストポイントが正しく挿入されているかご確認ください。

C1カバレッジ計算式は以下の通りです。

C1

(通過分岐ルート) / (分岐ルート数) × 100[%]

C1(有効)

(通過分岐ルート) / (分岐ルート数 – 無効分岐ルート) × 100[%]

 ※ 無効分岐ルートは、テストポイントのチェックボックスが無効になっているルート。

各関数単位の結果をダブルクリックすると、C1カバレッジ詳細レポートが表示されます。

補足:C1カバレッジ解析の種類について

C1カバレッジの解析には [ルート推定] の他に [クイック]があり、以下の特徴があります。

ルート推定

  • 解析時に構文解析を行って割り出した「分岐ルート」のうち、通過した「分岐ルート」の割合を示します。

  • if文節で省略されたelseを推定しvirtualステップとして検出・ルート算出を行います。

  • switch文でのdefaultが省略されている場合はルート算出に使用しません。

  • for、while、doの分岐ルート算出は、
    基本的には、trueのみを算出で用いますが、
    同一関数内で、ループ処理の後に別の分岐系テストポイント(if,switchなど)があり、
    ループ処理のテストポイントを通らず、同一関数の次の分岐系テストポイント(if,switchなど)を通った場合は、
    ループのelseを推定し、virtualステップとして検出・ルート算出を行います。

     

クイック

 

  • 挿入された分岐系のテストポイントのうち、通過したテストポイントの割合を示します。
  • 省略されたelse、defaultなどは考慮されません。
  • for、while、doの分岐ルート算出は、trueのみを分岐ルート算出します。

クイック方式は省略された分岐のルート算出を行わず、手動挿入や条件付きコンパイル解析などの設定をユーザー側で補完する必要があるため基本的に「ルート推定」を推奨します。

このページの情報はお役に立ちましたか?
  • はい (1)
  • いいえ (0)
  • 探している内容ではない (0)