VectorCAST/C++は、CおよびC++ソフトウェア向けの高度に自動化された単体/結合テストソリューションです。徹底した反復可能なテストが必須となる、セーフティクリティカルおよびミッションクリティカルなシステム向けに開発されたツールです。
本ツールは、ソースコードからテストハーネスおよびモッキングフレームワークを自動的に構築します。エンジニアは、何をテストするか、また期待される動作が何であるかを定義するだけで済みます。残りの作業はツールが処理します。
VectorCAST/C++の主な適用分野
VectorCAST/C++は、航空宇宙、自動車、医療機器、産業用制御、鉄道分野の組み込みソフトウェア開発者およびテストエンジニアに利用されています。また、DO-178B/C、ISO 26262、IEC 61508、IEC 62304、および EN 50716 への対応を支援します。
メリット
VectorCAST/C++ は、プログラムの要件であるカバレッジの深さを損なうことなく、ユニットテストに伴う手作業の負担を軽減します。
テスト開発工数を大幅に削減
テストハーネスの構築やモックの生成を自動化することで、テストドライバーやスタブを手作業で作成する負担を削減します。開発者はテストケースの作成に集中でき、テスト基盤の構築はツールに任せることができます。
必要なレベルのコードカバレッジを証明
ステートメントカバレッジ、分岐カバレッジ、およびMC/DCカバレッジの解析機能を統合。認証やレビューに必要なエビデンスをツールから直接取得できます。
手作業のメンテナンスなしで継続的にテスト
テストプロジェクトは最新のソースコードに対して自動的に再実行されます。結果は日時、対象ユニット、テスト名ごとに管理されるため、回帰テストを効率的かつ確実に実施できます。
ホスト、シミュレーター、または組み込みターゲット上でテスト
ホスト環境で作成したテストを、VectorCAST RSPを使用して組み込みターゲットハードウェア上で再実行できます。テストを作り直す必要はありません。
既存のツールチェーンへスムーズに統合
VectorCAST/C++は、既存のコンパイラ、ビルドシステム、およびCI環境と連携できます。GoogleTestをネイティブにサポートしているため、既存のテストスイートを書き換えることなく活用できます。また、完全なコマンドラインインターフェースとPythonスクリプトに対応しており、自動化も容易です。
適用分野
VectorCAST/C++は、CおよびC++ソフトウェアに対して厳格な機能安全要件や認証要件に基づく検証が求められるさまざまな業界で利用されています。
航空宇宙
DO-178BおよびDO-178Cに準拠した航空機搭載ソフトウェア向けの単体/結合テスト。高い設計保証レベルで求められるMC/DCカバレッジのエビデンス取得に対応します。
自動車
ISO 26262対応に向けたソフトウェアコンポーネントの検証。要件トレーサビリティおよびECUソフトウェア開発における回帰テストの自動化を支援します。
医療機器
IEC 62304に基づくソフトウェア安全クラス分類に対応する、包括的なドキュメント機能を備えた単体テストを提供します。
産業機器
IEC 61508に準拠した機能安全プロジェクト向けの体系的なソフトウェア検証を実現します。
鉄道
EN 50716:2023に準拠したプロジェクト向けのソフトウェア検証および妥当性確認(V&V)を支援します。
主な特長
VectorCAST/C++は、テストハーネスの生成からコードカバレッジレポートの作成まで、単体テストおよび結合テストのワークフロー全体をサポートします。また、GUIベースのテスト手法とコード中心のテスト手法の両方に柔軟に対応します。
テストの作成と実行
テストハーネスとモッキング
VectorCAST/C++は、ソースコードから完全なテストハーネスおよびモッキングフレームワークを自動的に構築します。スタブやドライバーを手作業で作成する必要はありません。テストハーネスのコンパイルおよびリンクは、お使いのコンパイラを利用して自動的に実行されます。また、テスト実行中の問題解析に利用できる、コンパイラのデバッガとのインターフェースも提供します。
Coded Tests
Coded Testsでは、xUnitフレームワークを使用して、開発者がC++で直接テストケースを作成できます。これにより、テストのセットアップおよびティアダウンが簡素化され、テスト間でのオブジェクト共有も容易になります。また、データ駆動型のTest Editorを補完する機能として利用できます。Test Editorでは、テストケースを更新するたびに再コンパイルを行うことなく、完全なテストハーネスを生成できます。
結合テスト
複数のユニットを単一のVectorCAST/C++環境でまとめてテストできます。依存関係はスタブ化することも、実際のコードとして組み込むことも可能であり、複数の機能やユニットにまたがる実運用に近いシナリオを詳細にシミュレーションできます。
テスト駆動開発(TDD)
VectorCAST/C++は、TDD(Test-Driven Development)ワークフローをサポートします。アプリケーションコードを作成する前に、ヘッダーファイルから単体テストを構築できます。コードを段階的に実装していく中で、スタブやモックが実際のコードに置き換わるにつれてテストが成功するようになります。作成したテストスイートは、その後の自動回帰テストでも継続的に利用できます。
解析とレポート
統合コードカバレッジ
ステートメントカバレッジ、分岐カバレッジ、およびMC/DCカバレッジ解析機能を標準搭載しています。カバレッジデータはVectorCAST/QAと共有でき、単体テスト、結合テスト、システムテストの各フェーズを統合したレポートを作成できます。さらに、CPPUnit、GoogleTest、およびその他のテストフレームワークによるカバレッジ情報も取り込めるため、テストプログラム全体の状況を包括的に把握できます。
回帰テスト
テストプロジェクトは、更新されたソースファイルに対して自動的に再実行されます。結果は日時、対象ユニット、およびテスト名ごとに整理されるため、段階的なコード変更によって発生した不具合を容易に検出できます。
プローブポイントとデータ制御
プローブポイントを使用することで、実行時にデータや制御フローを変更でき、通常は到達しにくいコードパスのテストを容易に実施できます。Assert機能では、実行中の特定時点におけるコードの状態を取得でき、その結果はExecution Resultsレポートに記録されます。
レポートおよびデータAPI
レポートはXML形式で出力可能です。Probe Points Reportでは、サードパーティツールで利用可能な解析しやすい形式のリストを生成できます。また、カスタムレポートの作成や高度なシステム連携に利用できる、Pythonベースの完全なデータAPIも提供しています。
環境と統合
組み込みターゲットのテスト
VectorCAST RSPを使用することで、ホスト環境で作成したテストケースを組み込みターゲット上で直接再実行できます。VectorCAST RSPはクロスコンパイラやRTOSと連携できるため、ターゲットハードウェア上でのリアルタイムアプリケーション動作の検証に適しています。
C++標準およびプラットフォーム対応
C++11、C++14、C++17、およびC++20をサポートし、幅広いコンパイラ、シミュレーター、プロセッサアーキテクチャに対応しています。WindowsおよびLinux環境で動作し、完全なコマンドラインインターフェイスを提供します。
よくあるご質問

