メインコンテンツ

変更されたモデルへのテスト ケースの拡張

Simulink® Design Verifier™ を使用して既に解析されているモデルがあり、そのモデルを修正するとします。変更されたモデルでは、元のテスト スイートが 100% のカバレッジを記録しない場合があります。変更されたモデルを再解析して、すべての新しいテスト オブジェクティブが達成されることを確認します。モデル全体を再解析する代わりに、モデルの変更された部分のみに新しい解析の焦点を絞ります。このように、元のモデルで作成されたテスト ケースを活用して、新しいオブジェクティブを達成させるようにそれを拡張します。

この例では、sldvdemo_cruise_control モデルを使用します。モデルを解析してテスト ケースを生成します。その後、元の解析からテスト ケースを拡張して、変更されたバージョンのモデル sldvdemo_cruise_control_mod を解析します。解析は、新しいモデルの完全なテスト スイートを返します。

開始テスト ケースの作成

sldvdemo_cruise_control モデルを解析して、100% のカバレッジを達成するテスト ケースを生成します。

1.モデル例を開きます。

open_system('sldvdemo_cruise_control')

2.[テストの生成] をクリックして sldvdemo_cruise_control モデルの Simulink® Design Verifier™ の解析を開始します。

解析により、sldvdemo_cruise_control モデルの 34 のテスト オブジェクティブが達成されます。MATLAB® の現在のフォルダーのサブフォルダー sldv_output\sldvdemo_cruise_control\sldvdemo_cruise_control_sldvdata.mat に結果のデータ ファイルが保存されます。

次の節で、変更されたモデルを解析するときに、拡張する開始テスト ケースをこのデータ ファイルにより指定します。

3.sldvdemo_cruise_control モデルと解析で作成されたすべてのファイルを閉じます。確認を求められた場合、モデルへの変更は保存しないでください。

既存テスト ケースの拡張

sldvdemo_cruise_control_mod モデルは sldvdemo_cruise_control の変更されたバージョンです。Controller サブシステムには、ターゲット速度が 70 を超えられないことを示す Saturation ブロックが含まれます。

変更されたモデルを開き、sldvdemo_cruise_control モデルの解析時に生成されたテスト ケースを拡張して解析します。

1.モデル例 (sldvdemo_cruise_control の変更されたバージョン) を開きます。

open_system('sldvdemo_cruise_control_mod')

2.元のモデルに加えられた変更 (最高速度を指定する Saturation ブロック) を表示するには、Controller サブシステムをダブルクリックします。

saturation_block_target_speed.png

3.Controller サブシステムを閉じます。

4.[Design Verifier] タブで、[テスト生成の設定] をクリックします。

5.[コンフィギュレーション パラメーター] ダイアログ ボックスの [テスト生成] ペインの [既存のテスト ケース] の下で、[既存テスト ケースの拡張] を選択します。

6.[データ ファイル] フィールドで [参照] をクリックして、元のモデルの解析時に MATLAB® の現在のフォルダーに作成された MAT ファイル sldv_output\sldvdemo_cruise_control\sldvdemo_cruise_control_sldvdata.mat を参照します。

7. [既存のテスト/カバレッジ データで達成されたオブジェクティブをレポート内で区別] をオフにします。

このオプションをオフにすると、ファイル sldvdemo_cruise_control_sldvdata.mat に記録されたテスト ケースが解析により最終的なテスト スイートに含まれます。

8.[適用] をクリックして、これらの設定を保存します。

9.[テストの生成] をクリックして解析を開始します。

解析では、最初にテスト ケースで達成された 34 のオブジェクティブが読み込まれます。その後、追加のタイム ステップをそれらのテスト ケースに追加し、未達オブジェクティブを達成させようとします。

10.[結果の概要] ウィンドウで、[詳細な解析レポートを生成] をクリックします。

sldvdemo_cruise_control_mod モデルでは合計 38 のオブジェクティブが達成されます。解析では、Saturation ブロックに対応する追加の 4 つのオブジェクティブが達成されています。

saturation_block_objectives.png

参考