コード動的解析にて、標準で要求されるあらゆる種類のコードカバレッジを測定できる、単体および統合テストの自動化ツールです。

コード動的解析における単体/統合テストの実行およびカバレッジ測定

  • テストを自動的に作成およびカスタマイズすることが可能です。
  • ステートメント、ブランチ、関数、関数呼び出しカバレッジに加え、MC/DCの測定も可能です。

コード動的解析に対して、回帰テストのためのテスト再利用

  • ソースコード変更後にテストを再利用するための便利な機能を提供します。

競合と差別化できる要因

  • カバレッジビュー
    • 機能、テスト専用のカバレッジ情報、およびMC/MDガイダンスをご提供
  • 迅速のカバレッジの達成
    • COVER製品でシステムカバレッジを測定した後、未カバー領域のみを対象としたテストをサポートする
  • スケーラビリティ
    • 大規模で複雑なソフトウェアや、最大1億件までのテストデータを対象としたテストをサポートする
  • チームワークでテスト
    • 協調的なテスト環境に最適化された機能

製品の強み

  • 国際認証
    • Cert. TÜV認証
    • ツール適格性をご提供
  • 柔軟性
    • ドメイン要件への迅速な対応
  • ターゲットテスト
    • シンプルなターゲット構成
    • ワンクリックでのターゲット上のテスト実行
  • ユースケース
    • 100社以上のクライアント企業で導入実績
    • 自動車、防衛、鉄道、原子力、医療、ロボティクスなど幅広い分野で応用

想定される導入メリット

  • 品質向上
    • ソフトウェアの品質を向上させ、顧客の信頼を確保する
  • コスト削減
    • テストとメンテナンスのコスト削減

01. ユニット/統合テストを実施し、カバレッジを測定する

  • コード動的解析に対して、自動テスト生成およびカスタマイズが可能
  • ステートメント、分岐、関数、関数呼び出しのカバレッジおよびMC/DC(修正条件/決定カバレッジ)の測定が可能

02. 実際のターゲット環境でのテスト

  • 実際のターゲットでのテストをワンクリックで実行し、結果を検証(デバッガ統合)
  • さまざまな環境設定および通信方法(シリアル/イーサネット/JTAG)に対応

03. スタブ関数 (制御が難しい元の関数をスタブ(スタブ関数)で置き換える機能)

  • 元の関数の代わりにスタブを使用して、望ましい値を返すテスト
    • Ex) db 接続関数から1を返すには、ドライバのインストールとDB接続が必要 ➡スタブ機能を使用して、簡単に1を返すように設定する
  • 未定義の関数(ライブラリなど)のためのスタブの自動生成
    • Ex) lib add 関数はソースコード内で未定義であり、lib ファイルとのリンクが必要 ➡ .lib ファイルが利用できない場合、望ましい値を返すスタブを自動的に生成できる

04. モックオブジェクト機能

 C++のテスト時に、オブジェクトの依存関係を迅速かつ確実に置き換える機能を備えています。

  • テストオブジェクトのための依存関係の自動識別とコード生成
    • Ex) 抽象クラスのモックオブジェクトコードの自動生成
  • GUIを使用したモックオブジェクト仕様の入力
    • Ex) オブジェクト期待値入力のためのGoogle Mockマクロ形式
  • 動作検証
    • テストオブジェクトの間接出力の検証
    • Ex) 呼び出し回数が0回に指定されたsend_packet関数が1回呼び出されると失敗する

05. 制御フローグラフ

  • ソースコードの理解を助けるため、制御フローグラフをご提供
  • カバレッジ結果をソースコードと連携して検証する

06. MC/DC (Modified Condition/Decision Coverage)

 ドメインで要求されるMC/DC目標を達成するためのガイドをご提供致します。

  • 条件文  if( (C0 && C1) || C2)
    • MC/DC n%カバレッジを満たす組み合わせを通知する機能(nの値はオプションで設定可能)
      • Ex:条件C0、C1、C2は、真の値ケース0、1、2、4のみがカバーされると100%満たされる
    • 各条件(C0、C1、C2)を満たすペアとそのカバレッジ状況を表示する機能
      • Ex.真の値ケース4がカバーされていないため、条件C0はカバーされていません。条件C1は、真の値ケース0と2がカバーされているため、カバーされている

07. スケーラビリティ

 大規模で複雑なソフトウェアや膨大なテストデータのテストを可能にします。

  • コード動的解析テスト対象のソフトウェアの規模は大きくなり続けているため
  • 現場で大規模なデータセットでのテストが必要ため(Ex: ADAS SW)
  • 対応範囲
    • 1つのプロジェクト内で5,000以上の関数を対応
    • 1つの関数(テスト)内で10,000以上の入出力変数を対応
    • 1つの関数(テスト)内で1,000,000以上のテストケースを対応

08. チームテスト機能

 強力的なテスト環境に最適化された機能による生産性の向上に繋ぎます。

  • チームテストサーバーを通じてテスト環境をワンクリックで共有
  • テスト進行中の変更の自動共有、ソースコードや設定の変更を他のクライアントに自動的に共有
  • 更新時にソースコードや設定変更を他のクライアントに自動同期

09. COVER製品とのカバレッジ共有

 トップダウンアプローチで迅速にカバレッジ目標を達成します。

  • COVERを使用してシステムテストを実施しながらカバレッジを測定
  • COVERのCTを使用して未カバーの領域のみをテスト

10. コード動的解析テストケースの再利用

 ソースコードの変更後にテストを再利用するための便利な機能をご提供致します。

  • ソースコードの変更の自動検出(整合性チェック)
    • テストに関連する変更の自動識別
  • ターゲット変数のマッピングに対する類似性に基づく推奨と検証チェック
    • 関数の類似性に基づくターゲット関数の自動マッピング
    • 類似性に基づくターゲット変数のマッピングに関する推奨と検証チェック

11. シンボリック実行に基づくテスト入力の自動生成(DISCOVERY X)

  • プログラム実行要素を分析することで、カバレッジ目標を自動的に達成
  • ホストベースでのユニット/統合テストの全サポート
  • 高品質なテスト入力の自動生成
    • ソースコードの論理を反映する
      • 要求事項の遵守確認
    • テスト要件(カバレッジ)を満たす
      • 目標の迅速に達成
    • 予期せぬバグを引き起こす
      • 不正なコードエンコーディングの識別
    • テストケースの数を最小限に抑える
      • テストメンテナンスコストの削減
項目詳細
対応プログラム言語C/C++
オペレーティングシステム-Windows 7 or higher (64bit support)
-Linux (Debian, RPM-based)
GUI言語英語・韓国語
対応コンパイラ-Support for the latest compilers (C++ 20) (Visual Studio 2022, GCC 12.x)
-ARM Series
-Freescale Series
-Green Hills Series
-Keil Series
-Renesas Series Support for over 100 other types/models
ターゲットインターフェース-Ethernet, Serial (UART), JTAG
-Debugger integration (TRACE32, iSYSTEM, Code Composer Studio, IAR C-SPY, PLS UDE, etc.)
稼働設備CPURAMHDD
パソコン4 core 2 GHz or higher8 GB or more10 GB or more
コード動的解析

制御フローグラフ

コード動的解析

MC/DC (Modified Condition/Decision Coverage)

コード動的解析
バグ検出

外部製品紹介リンク