C/C++単体テストの自動化
VectorCAST/C++は安全性や確実性が要求される組込システム向けに高度に自動化された単体テストと結合テストを実現するソリューションです。この動的テストソリューションは航空電子、医療機器、自動車、工業制御、鉄道、金融システムに広く活用されています。
特長
- 新規または既存アプリケーションへの適用が可能
- 規制対象外の業界でもC/C++単体テストの利点を手軽に実現
- 開発者によるテストを合理化された再現可能なテクノロジーとして確立
- 手動によるテストプロセスから脱却して技術的な厳格さを実現
- 新規開発コードを切り離した自動化フレームワークの作成による、定評あるコスト削減
- C/C++単体テスト、結合テスト対応の完全なテストハーネスを、テストコードを記述することなく構築
- スタブおよびドライバーコードの自動ビルド
- GUIまたはスクリプトによるテスト実行
- 組込システム用に最適化されたコードカバレッジ解析
- ターゲットボードおよびシミュレーターでのテスト実行
- コード複雑度の解析により、リスクの高いコードを強調表示
- デシジョンパスに基づくテストケースの自動生成
- デバッグを支援するテスト実行のプレイバック
- 主要な静的解析ツールと統合
動作の仕組み
VectorCAST/C++を使用して、組込アプリケーションのC/C++単体テストと結合テストを自動化する方法
VectorCAST/C++はソースコードを解析してコードジェネレータを呼び出し、完全かつ実行可能なテストハーネスの構築に必要なドライバーとスタブを自動生成します。
テストハーネスを構築すれば、VectorCAST/C++を使用して、テストケースの作成と実行、カバーされるコードの表示、静的解析のレポートが行えるようになります。テストデータはテストハーネスとは切り離して管理されるため、容易にリグレッションテストの自動実行が可能になります。
VectorCAST実行可能ハーネスの構成要素
- テストドライバー
- テスト対象となるソースファイル
- 従属関数用の完全なスタブ
- スタブ化されていない従属ユニットのソースファイル
テストハーネスはデータ駆動であり、実行時にテストデータを読み込みます。このアプローチによって、新しいテストのたびに新規の実行可能ハーネスをコンパイルし、リンクする必要がなくなります。
また、VectorCAST/C++は、テスト対象コードに含まれる未テスト領域を表わす、コードカバレッジのメトリックも生成します。読みやすいコードカバレッジビューアーには、実行すべきテストが残っているコード行が表示されます。また、このビューアーはIEC 62304、ISO 26262、DO-178B/C、IEC 61508など、さまざまな業界標準で規定されている多様なレベルのカバレッジをサポートします。
Compilers
C/C++でサポートされるコンパイラー
VectorCASTでは、使用するC/C++コンパイラーのユーザー設定が可能です。サポートされるC/C++コンパイラーの一覧にお持ちのコンパイラーが含まれていない場合でも、コンパイルとリンクのコマンドをそのコンパイラーに合わせて設定するだけで使用できます。
エディション
各VectorCAST/C++エディションの比較
- 完全なテストドライバーやインテリジェントなスタブ/モックなどのテストハーネスの自動生成
- テストケースの自動生成
- 型を識別するポイントアンドクリック型のテストエディター
- スクリプトベースのリグレッションテスト
- ステートメント、分岐、MC/DCカバレッジ計測のためのコード埋込み
- ソフトウェア要件とテストケースのマッピング
- コードカバレッジビューアーおよびレポート機能
- 組込ターゲットをサポートするためのVectorCAST RSPのサポート
- MISRAに対応するLint解析*
- 複数のコンフィギュレーションのテスト、Python APIによるテストデータへのアクセス、JenkinsなどのCI/CT統合のためのCLIを含む、エンタープライズテスト機能
- 変更ベーステスト
- 解析によるカバレッジ(CBA)
- フォールトインジェクションおよびホワイトボックステスト用のプローブポイント