動的解析/単体テスト

テストケースとスタブの生成、カバレッジアドバイザー機能で、単体テストを効率化

単体テストツール:C/C++test

近年のソフトウェア品質への要求の高まりから、ユニット単位での品質向上を目的とした「単体テスト」の実施が強く求められています。単体テストを行うことで、開発の早い段階で不具合の検出が可能になり、 後工程での手戻りや修正コストが低減できるメリットがあります。しかし、「テストの実施工数が増える」という新たな課題も生まれます。

C/C++testでは、単体テスト時の課題であったテストケース作成のためのコーディング作業を大幅に削減できます。
C/C++testのテストケースエディターは、GUI操作のみで「テストケース」の作成や「スタブ」の生成、スタブの振る舞いの設定ができます。スタブコールバックフレームワークが実装されており、スタブ機能のフレームワークや、テストケースエディターのスタブ設定が、スタブごとの管理ができます。スタブAPIの独自記法の習得が不要となり、さらに複数のテストケースを共有できます。テストケースエディターの利用で、スタブの管理工数の削減、テストケース作成作業の削減が可能になります。また、外部テストデータの取り込みや、既存のテスト資産の再利用が可能です。

単体テスト(ユニットテスト)とは

単体テスト(ユニットテスト)とは、最も単純な機能ユニットにおけるプログラムのテストです。
単体テストの対象の一例として、クラス単位、関数単位などがあり、コーディング工程において開発者が実行するのが一般的です。 単体テストによって、クラス、関数など小さな単位(ユニット)の動作に問題がないかを検証することができます。問題の原因特定、修正が容易であるため、バグ修正のコストを下げる効果があります。単体テストを実行するには、テストドライバーの記述、入力データの指定、テスト対象が呼び出している関数と参照している変数を代替するスタブの用意などの作業が必要であり、精度が高く網羅性の高い単体テストを効率よく実行するには、ツールの活用が欠かせません。

C/C++testの主な「動的解析」機能

C/C++testは、GUI操作で「テストケース」の作成や「スタブ」の生成、スタブの振る舞いの設定ができます。 カバレッジを計測して単体テストの網羅性を視覚的にレポートします。また、効率的にカバレッジを向上させるためのテストデータ作成を支援します。

  • 単体テスト
  • カバレッジ計測
  • カバレッジアドバイザー
  • アプリケーションモニタリング
  • Understand連携
  • 組み込みソフトウェア開発での利用

C言語/C++言語対応 静的解析・単体テストツール「C/C++test」の主な動的解析機能


テストドライバー・スタブ・テストケースの生成

テストケースの入力値/期待値やスタブの振る舞いなどを独自のGUI上で設定することができます。
従来、多くの工数が必要となっていたコーディングを行うこと無く、テストケースとスタブの作成・メンテナンスを容易に実現します。

テストドライバー・スタブ・テストケースの生成

単体テスト実行時に9種類のカバレッジを自動収集

単体テスト実行中に9種類のカバレッジを計測し、レポートします。レポートするカバレッジには、行カバレッジ、ステートメントカバレッジ、判断文カバレッジ、条件カバレッジといった、C0、C1、C2に相当するコードカバレッジや、国際技術標準 DO-178B (RTCA) に準拠したMC/DCカバレッジ、機能安全規格(ISO 26262)対応で要求される関数カバレッジ、コールカバレッジなどが含まれています。

単体テスト実行時に9種類のカバレッジを自動収集

Understand連携

ソースコード解析ツール「Understand」で取得した情報を基に、ソースコードの変更による影響範囲を含めたテストを簡単に行うことができます。ソースコードの変更により、再テストが必要な対象、および影響範囲の特定を自動で行うため、漏れのない、無駄のないテストが実現できます。

組み込みソフトウェアのさまざまなクロス開発環境をサポート

さまざまな組み込みソフトウェアのクロス開発環境をサポートしています。ホストマシン(開発用マシン)上での単体テストはもちろんのこと、シミュレーターや実機(ターゲット機)上でもテストを実行することが可能です。 もちろん、カバレッジも同時に計測します。

組み込みソフトウェアのさまざまなクロス開発環境をサポート

C++言語の最新規格もサポート

 C++11, C++14はもちろん、C++17, C++20の新たな記法を認識し、エラーなく静的解析、単体テストを行うことができます。ここ数年で急速に進化が進んでいるC++言語の最新の規格をサポートします。大規模化、複雑化が進む車載ソフトウェアを始めとして、組み込みソフトウェアでも採用が進むC++言語での開発を支援します。

TÜV SÜD社よるIEC 61508およびISO 26262、IEC 62304ツール認証取得済み

C/C++testは、第三者認証機関であるTÜV SÜD社よりIEC 61508およびISO 26262、IEC 62304に準拠したテストツールとして認証を取得済みです。TÜV SÜD社より認証を取得しているため、ユーザーによるツール認証のための検証依頼をする必要がなく、ツール認証の時間や費用を削減できます。
IEC 61508およびISO 26262は、ツールが開発プロジェクトで使用するのに妥当なものであるかを証明できなければならないと定めています。もし、この証明をユーザーが行うとすると、ツールの使用実績や実行結果などのドキュメントを用意し、第三者に検証を依頼する必要があり、手間や費用がかかります。
※認証取得を目的としてご利用になる場合は、お問い合わせください。

C/C++testは、TÜV SÜD社よるIEC 61508、ISO 26262、IEC 62304ツール認証取得済み

導入後も安心してお使いいただけるサポート体制

静的解析・単体テストツール「C/C++test」は、導入時のサポートから、運用支援、問題発生時のQ&A対応など導入後も安心してお使いいただけるサポート体制でお客様をバックアップいたします。

関連テストソリューションのご紹介

単体・結合テスト対応ファジングツール「Mayhem for Code」

ファジングとは、ターゲットに大量のデータを入力し、その応答や挙動を監視するテスト手法です。 単体・結合テスト対応ファジングツール「Mayhem for Code」は、カーネギーメロン大学での10年間の研究から得た特許技術であるシンボリック実行エンジンとフィードバックループを組み合わせた独自のファジング技術を使用し、高精度なテストケースの生成とテストの実行を自動的に繰り返すことで、カバレッジを最大化しながらプログラムの奥深くに潜むバグや脆弱性を発見します。

「C/C++test」の単体テスト機能と「Mayhem for Code」を連携させることで高いシナジーを生み出すことができます。 従来、単体・結合テストのテストパターンは開発者が限られた時間のなかで検討するため、「十分なテストパターンが考慮されていない」「テストを通すためのテストになってしまう」など、形骸化してしまうケースもありました。

「Mayhem for code」と連携することで、そこにファジングの要素を取り入れ、通常人手では考慮しきれない範囲を含む膨大なテストパターンを効率的にカバーできるようになります。また、「C/C++test」のカバレッジ計測機能を活用できるため、C0、C1、MC/DCなどの9種類のカバレッジを計測し、実行されたファジング・テストの網羅性を可視化することも可能になります。

単体・結合テスト対応ファジングツール「Mayhem for Code」


静的解析・単体テストツールを、まずは無償体験版でお試しをください

静的解析ツール・単体テストツールC/C++testを体験版をお試しください。
すべての機能を無償で14日間ご利用可能、すぐにご評価可能なチュートリアル付属
ご評価を円滑に進めるための、技術的なサポート対応あります

静的解析ツール・単体テストツール C/C++testに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
parasoft-info@techmatrix.co.jp

お問い合わせ

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。