verify
ステートメントを使用したモデルのシミュレーションの評価
Test Assessment ブロックで verify
ステートメントを使用してモデルのシミュレーションを検証できます。verify
ステートメントは論理式を評価し、ステートメントがパス、失敗、または未テストのいずれであるかを示します。その後、テスト マネージャーでテスト結果を確認できます。
verify
ステートメントの作成
verify
ステートメントを使用して論理式を評価すると、verify
ステートメントは、各タイム ステップとシミュレーション全体について、pass
、fail
、または untested
の結果を返します。いずれかのタイム ステップで結果が fail
になると、シミュレーション全体の結果が fail
になります。失敗になる結果が 1 つもない場合、いずれかのタイム ステップで pass
になると、シミュレーション全体の結果が pass
になります。それ以外の場合、全体の結果は untested
になります。
sltestVerifyExample
モデルの Test Assessment ブロックでは、親ステップで verify
ステートメントを使用して、シミュレーション中に 2 つのローカル変数 x
と y
を比較します。この例の verify
ステートメントには、テスト マネージャーの結果にラベルを付けるオプションの引数が含まれています。verify
の構文の詳細と使用する際の考慮事項については、verifyを参照してください。
テスト ケースはテスト マネージャーを使用して作成できます。テスト ケースを実行すると、テスト結果の [verify ステートメント] セクションに結果が表示されます。この例では以下のようになります。
verify(x >= y)
は、テスト シーケンス全体について true になるため全体にパスします。verify
(x == y)
とverify
(x ~= y)
は、それぞれstep_1_2
とstep_1_1
で失敗になるため失敗します。
テスト マネージャーに次の結果が表示されます。
Test Assessment ブロックの verify
ステートメントの有効化
When
構造シーケンスでは、シミュレーション条件に基づいてステップが有効になります。Test Assessment ブロックで When
構造シーケンスを使用して、verify
ステートメントを含むステップを有効にするシミュレーション条件を定義できます。
モデルで Test Sequence ブロックをソースとして使用する場合、それぞれの
verify
ステートメントを Test Sequence ブロックのアクティブなステップを使用して有効にすることを検討します。モデルで Test Sequence ブロックをソースとして使用しない場合、またはテスト シーケンス ステップが検証する条件と対応しない場合は、それぞれの
verify
ステートメントを信号条件を使用して有効にします。
When
構造シーケンスの使用の詳細については、When 構造を使用したモデルの評価を参照してください。
テスト シーケンス ステップを使用した verify
ステートメントの有効化
Test Sequence ブロックと Test Assessment ブロックを Test Sequence ブロックからのアクティブなステップ信号で接続し、それぞれの verify
ステートメントをアクティブなステップで有効にできます。たとえば、Harness1_TestSeqAndTestAssessment
ハーネスには Test Sequence ブロックと Test Assessment ブロックが含まれています。ブロックは Active_Step
信号で接続されています。
Test Assessment ブロックに 4 つのサブステップをもつ When
構造シーケンスが含まれています。各サブステップに verify
ステートメントがあり、Test Sequence ブロックの異なるステップで有効になります。
この例の Else
ステップにはアクションはなく、前の when
条件のいずれにも一致しないシミュレーション条件を処理します。このステップに when
条件を含めることはできません。
Test Assessment の verify
ステートメントを Test Sequence ブロックのアクティブなステップを使用して有効にするには、Test Sequence ブロックのアクティブなステップのデータ出力を作成します。Test Sequence ブロックを選択し、プロパティ インスペクターで [アクティブなステップの監視用データを作成] を選択して [データ型] を Enum
に設定します。[Enum 名] に名前を入力します。
次に、Test Assessment ブロックのデータ入力を作成します。Test Assessment ブロックを開き、[シンボル] ペインで [入力] をポイントして [データの追加] をクリックし、入力に名前を付けます。Test Sequence ブロックの出力を Test Assessment ブロックの入力に接続します。
Test Assessment ブロックで When
構造を作成します。Test Assessment ブロックには、既定で When
構造シーケンスがあります。標準のシーケンスと When
構造シーケンスで切り替えるには、親ステップを右クリックして [when 構造] を選択します。それぞれの When
構造ステップについて、そのステップがアクティブなステップの列挙データを使用してアクティブになるタイミングを定義します。
VerifyBoth when TSActiveStepIN == ... TSActiveStepEnum.PressBothButtons
信号条件を使用した verify
ステートメントの有効化
モデルで Test Sequence ブロックをソースとして使用しない場合、または Test Sequence ブロックのステップが検証する条件と対応しない場合は、一意の信号条件を使用して verify
ステートメントを含むステップを有効にできます。verify
ステートメントを When
構造シーケンスに配置し、When
条件で条件ステートメントを使用します。
たとえば、テスト ハーネス Harness2_AssessWithSignalInputs
では Signal Editor ブロックの入力を使用しています。
ハーネスの Test Assessment ブロックに When
構造シーケンスがあり、各サブステップに verify
ステートメントが含まれています。各サブステップが一意の信号条件で有効化されます。
参考
Test Sequence エディター | Test Sequence | Test Assessment | verify | sltest.testmanager.Assessment
| sltest.testmanager.AssessmentSymbol
| sltest.testmanager.TestCase