Simulink Test
シミュレーションベースのテストの開発、管理、実行
Simulink Test™ には、モデル、生成コード、仮想ハードウェア、および実ハードウェアの体系的なシミュレーションベースのテストを作成、管理、実行するためのツールが用意されています。Simulink Test の提供するシミュレーション、ベースライン、等価性テストのテストテンプレートにより、ソフトウェアインザループ (SIL)、プロセッサインザループ (PIL)、リアルタイム ハードウェアインザループ (HIL) のモードを使用して機能テスト、ユニットテスト、回帰テスト、back-to-back テストを実行できます。
Simulink Test を使用すると、テストハーネスを作成してテスト対象のコンポーネントを分離できます。テキストベースの言語を使用して要求仕様ベースの評価を定義し、Microsoft® Excel® を含むさまざまな形式でテスト入力、出力の期待値、許容誤差を指定できます。Simulink Test には複雑なテストシーケンスや評価を定義するためのTest Sequenceブロック、および、テストの管理や実行のためのテストマネージャーが含まれています。Observer ブロックを使用すると、モデルやモデルのインターフェイスを変更せずにモデル内の任意の信号にアクセスできます。大規模なテストを編成して、並列に実行したり、継続的インテグレーションシステムで実行したりすることができます。
テストから要件にトレースしたり (Simulink Requirements™ を使用します)、Simulink Coverage™ から得られるテストカバレッジ情報を含むレポートを生成したりすることができます。
業界標準には、 IEC Certification Kit (for ISO 26262 and IEC 61508) および DO Qualification Kit (for DO-178 and DO-254) によって対応しています。
詳細を見る:
回帰テスト、Back-to-Backテスト、要件ベーステストのテンプレート
シミュレーション テストは、シミュレーションを実行したときに、モデル内で定義された評価を含めてエラーが発生しないことを検証するものです。ベースラインテストでは、定義されたデータセットとシミュレーション出力を比較します。等価性テストでは、2 つのシミュレーションのシミュレーション出力を比較します。
複数のソースを使用したテストデータの定義
テストシナリオの入力データ、出力の期待値、および許容誤差はの期待値、MAT ファイルまたは Excel スプレッドシートを使用して定義できます。以下を行うことができます。
- Signal Editor ブロックを使用して入力データをグラフィカルに作成する。
- Test Sequence ブロックを使用してプログラミングでテスト入力シーケンスを定義する。
- Simulink Design Verifier™ を使用してテスト入力を自動的に生成する。
テストハーネスによるテスト対象コンポーネントの分離
テストハーネスは、Simulink® モデルまたはモデルコンポーネントを分離する統合シミュレーション環境を提供います。設計からテスト環境が分離されます。モデルとテストハーネスの間で設計の変更を同期しながら、モデルまたはモデルコンポーネントでテスト固有のシミュレーションを実行できます。
要件検証のための時間的評価
設計の要件には、テストで形式化しにくい、タイミングに依存するロジックを含めることができます。自然言語の形式で正確なセマンティクスを持つ時間的評価を含むテストを作成し、時間に依存する、条件、イベント、信号値、遅れを伴う複雑な挙動を正確にテストできます。
テストシーケンスおよび評価の作成
MATLAB® 言語機能のサブセット (時相演算子、信号生成、条件付き構造) を使用して、ステップベースおよび時相テストのシーケンスを含むテストを作成し、シミュレーション結果を評価できます。
モデル変更を伴わない信号の観測
オブザーバーを使用すると、テスト専用のポート、ブロック、接続、インターフェイスを追加せずに Simulink 信号のデバッグやテストを行えます。別個の検証モデルを作成してシステムの設計を検証できます。
全シミュレーション モードのサポート
テストは、ノーマルシミュレーション モード、アクセラレータモード、ラピッド アクセラレータ モードソフトウェアインザループ (SIL) モード、プロセッサインザループ (PIL) モード、またはSimulink Real-Time™ を使用して、アルタイムモードで実行します。
複数リリースのサポート
複数の MATLAB リリースを使用してテストケースを実行できるので、R2011b以降の 量産バージョンでモデルを実行すると同時に、Simulink Test の最新の検証機能も利用できます。
モデルカバレッジとコードカバレッジの測定
Simulink Coverage™ ではカバレッジメトリクス (判定、条件、改良条件/判定カバレッジ (MC/DC)、関係演算子の境界カバレッジ) を収集できます。Simulink Design Verifier を使用することで、テストマネージャーのカバレッジ結果から未達カバレッジに対するテストケースを生成できます。
テスト結果の可視化、エラーのデバッグ、テストの更新
Simulink Test は、指定した許容誤差を満たさない信号を特定してグラフィカルに表示し、パス/失敗の結果を判別します。シミュレーション出力および記録された信号を指定の出力期待値とともに確認し、偏差を許容できる場合はベースラインデータを更新できます。
テスト結果の管理とアーカイブ
Simulink Test は、実行されたテストの要約と詳細を表示します。各テスト結果の概要ページには、シミュレーション出力、ベースライン比較または等価性比較、テストの結果 (パス、失敗、または未テスト) が表示されます。他のユーザーと結果を共有するには、テスト結果をファイルにエクスポートします。このファイルを、後からテストマネージャー上でレビューできます。
レポートの生成
結果を文書にアーカイブするには、レポートを生成します。レポートには、テストの結果、テストの概要、およびテストでの比較に使用した基準を含めることができます。標準レポートを HTML、PDF、DOCX 形式で生成できるほか、Simulink Report Generator™ でカスタマイズすることもできます。
テストスクリプトとバッチワークフロー
テストは、個別に実行することも、一括実行してテストを自動化し、標準的なテスト環境を設定することもできます。プログラムによってテストケースを作成し、テストケースの基準を指定し、テストを実行して結果を生成できます。
継続的インテグレーション
MATLAB のユニットテストを使用してモデルテストを実行し、継続的インテグレーション (CI) システム (Jenkins™ など) 内に統合できます。モデルテストは、MATLAB ユニットテストのスクリプト、関数、およびクラスと一緒に実行できます。
並列実行によるスケーリング
大規模または複雑な Simulink モデルをテストする場合、並列実行によりテストの実行を高速化し、テスト結果を得るまでの時間を短縮することができます。Parallel Computing Toolbox™ をお持ちの場合、お使いのローカルコンピューターでテストを並列に実行することができます。MATLAB Parallel Server™ を使用すれば、クラウドなどのリモートクラスター上でテストを並列に実行することができます。
Stateflow で複雑なテストシナリオを定義
シミュレーション後カバレッジ ワークフロー
テストマネージャーからシミュレーションを再実行することなくカバレッジフィルターの作成や使用
Stateflow チャートでの verify キーワードのサポート
Stateflow で状態ベースのテスト実行時にテスト結果の評価
SIL/PIL テストハーネス生成のための生成コードの再利用
コード再生成することなく、以前のリリースからの生成コードを検証
Subsystem Reference ブロックのテストハーネスサポート
ユニットテスト用に Subsystem Reference ブロックを分離
要件検証のための時相評価
文書化された要件を、正確なセマンティクスを持つ実行可能な評価として記述
オブザーバーブロック
設計モデルに影響を及ぼさずに信号を取得
これらの機能および対応する関数の詳細については、リリースノートを参照してください。