テストマネージャーを使用することで、下記のようなカバレッジ分析が必要となるユースケースを効率化することができます。
テストマネージャーによるカバレッジ結果の活用
1.累積カバレッジ
ー複数テストシナリオによるカバレッジ計測結果を累積し、テスト全体の網羅状況を可視化
2.カバレッジフィルタ
ー未達箇所を正当化するフィルタを作成し、カバレッジ結果に反映
3.カバレッジ集約
ー複数コンポーネントのカバレッジ計測結果を集約し、システム全体のテスト網羅状況を可視化
1 テストマネージャーを使用したカバレッジの累積
1-1. テストマネージャーで新規テストを作成
Simulink モデル上から、[アプリ]タブを選択し、[Simulink Test]をクリックして[テスト]タブを開きます。[Simulink テスト マネージャー]アイコンをクリックして、テストマネージャーを起動します。
”テストマネージャー”上から、[新規] > [テスト ファイル]を選択し、ファイル名を指定して[保存]します。
1-2.テスト対象モデルとテスト入力の設定
[新規テストケース1]を選択し、[テスト対象システム]セクションの[モデル]に、テスト対象のSimulink モデルを指定します。
[入力]セクションの[+追加]をクリックし、”ファイルの追加”メニューの[ファイル]にテスト入力が保存されているファイルを指定します。今回は、Simulink Design Verifier であらかじめ自動生成しておいたテストケースをテスト入力として使用します。
必要に応じて、[入力データをテスト結果に含める]と[最後の時間ポイントでシミュレーションを停止]にチェックを入れます。
1-3.反復処理の自動生成
一回のシミュレーションで複数のテストシナリオが一括実行できるように設定します。
[反復]セクションの[テーブルによる反復]を選択して[自動生成]をクリックし、”反復の自動生成”メニューの[外部入力]にチェックを入れ、[OK]します。
1-4.カバレッジ計測の設定
[カバレッジの設定]セクションの[収集するカバレッジ]の[テスト対象システムのカバレッジを記録]にチェックを入れ、[カバレッジメトリクス]から、[判定]、[条件]、[MCDC ]など必要項目にチェックを入れ、カバレッジ計測を設定します。
1-5.テスト実行
テストマネージャーの[実行]ボタンをクリックして、シミュレーションを一括実行します。
1-6.カバレッジ計測結果を確認
シミュレーション後、"結果とアーティファクト"の画面から、各テストシナリオのカバレッジ計測結果が確認できます。
1-7.累積値の確認
累積値の確認をするには、より上位の階層の結果にアクセスします。
このようにテストマネージャーを使用することで、各テストシナリオのカバレッジ計測結果を簡単に累積できます。
2. カバレッジ計測結果内の未達箇所を正当化
次にカバレッジ計測結果内の未達箇所を正当化します。
結果内の一番上の階層をクリックし、テストマネージャーの[カバレッジ計測結果]からカバレッジレポートを開きます。
カバレッジレポートの未達箇所にあるアイコンをクリックし、フィルターエディターを表示します。
[フィルターエディター]の[名前]にフィルター名を設定します。
モデル内の[フィルター規則]に該当するブロック名が追加されているので、[Mode] に”正当化済み”を選択し、[根拠]を入力し、[適用]をクリックします。
”フィルターの保存”メニューでフィルター名を設定し、[保存]をクリックして保存します。
これにより、正当化ファイルに正当化済みが入力されます。
テストマネージャーに戻り、フィルターエディターを閉じることで、テストマネージャー上のカバレッジ計測結果にも正当化情報を反映させることができます。正当化することで、カバレッジレポートの該当箇所に検討結果を残すことができます。
正当化することで、カバレッジレポートの該当箇所に検討結果を残すことができます。
3. カバレッジ集約
2つのアトミックシステムを含む簡単なモデルで説明します。
各システムを単体でテストするため、それぞれに対して事前にテストハーネスを作成しておく必要があります。
3-1. テストマネージャーを起動して新規テストの作成とモデルの指定
[アプリ]タブを選択し、[Simulink Test]アイコンをクリックして[テスト]タブを開き、[Simulink Test マネージャー]アイコンをクリックして、テストマネージャーを起動します。”テストマネージャー”上から、[新規] > [テスト ファイル]を選択し、ファイル名を指定して[保存]します。[新規テストケース1]を選択し、[テスト対象システム]セクションの[モデル]に、テスト対象のSimulink モデルを指定します。
3-2. アトミックサブシステム用のテストケースの追加
アトミックサブシステム用の新規テストケースを作成します。
[新規テストスイート1]を右クリックし、[新規] > [ベースライン テスト]を選択してテストケースを追加します。
[テスト対象システム]のモデルにSimulink モデルを設定し、[テストハーネス]の[ハーネス]に[アトミックサブシステムのテストハーネスモデルを指定します。
3-3. テスト入力の設定
たとえば、テスト入力には、Simulink Verifier であらかじめ自動生成したテストケースを使用します。
必要に応じて、[入力データをテスト結果に含める]と[最後の時間ポイントでシミュレーションを停止]にチェックを入れます。
3-4. もう一方のアトミックサブシステム用のテストケースの追加と入力の設定
もう一方のアトミックサブシステム用の新規テストケースの作成とテスト入力の設定します。
3-5. 反復処理の自動生成
[反復]セクションの[テーブルによる反復]を選択して[自動生成]をクリックし、”反復の自動生成”メニューの[外部入力]にチェックを入れ、[OK]します。
3-6. カバレッジ計測の設定
カバレッジ計測の設定を行います。
3-7. シミュレーションを実行しカバレッジを確認
シミュレーションを実行しカバレッジを確認します。実行結果から各アトミックサブシステムの計測結果を表示します。
結果ツリーの一番上の階層をクリックすることで、集約されたカバレッジを確認することもできます。