Main Content

モデル表現の再利用による既存テスト ケースの拡張

この例では、モデルを再解析するときに不要なモデル表現の再作成を回避する方法を説明します。テスト生成を行い、解析が最大解析時間を超える場合について考えます。指定した解析時間で、Simulink Design Verifier はいくつかのオブジェクティブを解析し、生成されたテスト ケースを MAT ファイルに保存します。

モデルを再解析するには、最大解析時間を更新して、[既存テスト ケースの拡張] オプションを選択します。解析を高速化するには、[モデル表現の再作成] オプションを [変更が検出された場合] に設定します。Simulink Design Verifier は、モデル表現を再利用してモデルを再解析します。詳細については、解析用のモデル表現を参照してください。

手順 1. モデルを開いて解析オプションを指定

sldvoptions を指定して、sldvdemo_cruise_control モデルのテスト ケースを生成します。

model = 'sldvdemo_cruise_control';
open_system(model);
opts = sldvoptions;
opts.Mode = "TestGeneration";
opts.MaxProcessTime = 10;
opts.RebuildModelRepresentation = "IfChangeIsDetected";

次のコマンドを使用してモデルを解析します。

[ status, files ] = sldvrun('sldvdemo_cruise_control', opts, true);

[診断ビューアー] ウィンドウに、テスト生成解析エラーが表示されます。

Simulink Design Verifier has exceeded the maximum processing time. You can extend the time limit by modifying the "Maximum analysis time" edit field on the Design Verifier pane of the configuration dialog or by modifying the "MaxProcessTime" attribute of the options object.

解析が完了すると、[結果の概要] ウィンドウに結果が表示されます。ソフトウェアでは、22/24 オブジェクティブが達成、2/24 オブジェクティブが未判定としてレポートされます。

手順 2. sldvoptions の変更によるモデルの再解析

モデルを再解析するには、[既存テスト ケースの拡張] オプションを選択して最大解析時間を更新します。[モデル表現の再作成] オプションは If change is detected に設定されます。ソフトウェアはキャッシュされたモデル表現を検証し、変更を検出せず、モデル表現を解析に再利用します。

opts.MaxProcessTime =500;
opts.ExtendExistingTests='on';
opts.IgnoreExistTestSatisfied = 'on';
opts.ExistingTestFile=files.DataFile;
sldvrun('sldvdemo_cruise_control', opts, true);

結果には、24/24 オブジェクティブが達成され、追加のテスト ケースは生成されなかったことが示されます。

モデルを閉じます。

close_system('sldvdemo_cruise_control', 0);

関連するトピック