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

単体テストの「テストの実行と回帰テストを自動化」を実現

C/C++testは、テストドライバー、スタブ、テストケースを生成し、ソフトウェアの単体テストを自動化します。
C/C++testはテストコードとスタブコードの紐付けを全く意識する必要がありません。1つの画面上でテストケースとスタブの管理を行うことができるため、テストコードとスタブコードの関連付けを意識しながらテストケースを作成するといった煩雑な作業から開発者を解放します。実装するテストコード量を抑えるだけではなく、メンテナンスの面でも開発者を支援します。


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

プログラムのメソッドや関数が、外部リソースにアクセスしている関数や使用できない関数を呼び出している場合でも、それに代わるスタブを生成しテストを実行できるので、呼び出し先の関数やメソッドが完成していなくても、プログラムをテストすることが可能です。 スタブから返す値に特定の値を設定したり、外部ファイルに保存されているデータをインポートしたり、スタブのソースコードを編集することができるので、より複雑で実際に近いテストが行えます。

テスト資産を生成
  1. テストケース
    • C/C++testのUI上にてテスト対象の関数に必要な入力値・期待値を設定して作成
  2. スタブ
    • 下位モジュールの代替であるスタブを作成
  3. テスト用プログラム
    • テストケースを実行するためのプログラムを作成

単体テスト・回帰テストの仕組みを構築・実行のイメージ図

単体テスト・回帰テストの仕組みを構築・実行

初期化や事前条件/事後条件の制御

グローバル変数の初期化や、クラスまたは構造体のオブジェクトの初期化を制御することが可能です。C/C++testには、より現実的な状態でテストを実行するため、初期化に対してさまざまな機能が搭載しています。

  • ファクトリ関数
    グローバル変数やオブジェクトの初期化の際に返す型を設定することにより、ユーザが初期化を制御するための関数です。ファクトリ関数は複数設定することができるので、場面や状況の違いによるテスト対象の振る舞いを確認できます。
  • privateメンバー変数の利用
    テストケースの事前条件や事後条件に、privateフィールドの値を利用したり、オブジェクトの初期化でprivateフィールドを使用するよう設定できます。
  • グローバル変数の初期化
    生成テストケースに関連したグローバル変数をテスト実行時に自動的に初期化するよう設定できます。

テストケース、スタブの編集

テストケースエディターの利用で、スタブ管理工数の削減・テストケース作成工数の削減

単体テストの実行をサポートするテストエディターを使うことにより、テストケースの入力値/期待値やスタブの振る舞いなどを独自のGUI上で設定することができます。単体テスト時の課題であった「テストケース作成のためのコーディング」を行う必要はありません。 多くの工数が必要となっていたコーディングを行うこと無く、テストケースとスタブの作成・メンテナンスが可能となります。

スタブコールバックフレームワークを搭載しており、スタブ機能のフレームワークや、テストケースエディターのスタブ設定が容易となっています。また、スタブごとの管理が可能です。スタブAPIの独自記法の習得が不要となり、複数のテストケースで共有できます。テストケースエディターの利用で、スタブの管理工数の削減、テストケース作成工数の削減が可能になります。

C/C++testは、テストケース・スタブを1画面でコントロール

テストケース・スタブを1画面でコントロール


テストケースのインポート

C/C++testは、テスト対象関数が参照している引数やグローバル変数、戻り値について、入力値やその期待値、スタブからの戻り値をCSVやエクセル、データベースなどからインポートし、単体テストを実行できます。
テスト用データのインポートは、テストケースウィザードで簡単に設定することができるので、ソースコードを編集する必要はありません。また、CppUnitのテストケースをインポートすることもできるので、過去に実施したテストを活用できます。すでにテストケースが準備されている場合や過去に実施したテストケースが残っている場合には、このテストケースのインポート機能を利用して、ブラックボックステストや回帰テストを自動化できます。

インポートする外部ファイルに入力値やスタブからの戻り値、期待値を設定可能

C/C++testはテスト対象関数が参照している引数やグローバル変数、戻り値について、入力値やその期待値(戻り値)、事前条件、事後条件といった値を、外部ファイルからインポートできます。また、スタブからの戻り値も外部ファイルからインポートすることができます。

Excelで管理しているテストデータ、CppUnitのテストケースを活用

CSVやエクセル、データベースなどのファイルから、テストケースウィザード/スタブビューでデータのインポートを設定することが可能です。GUI上で設定することができるので、テストケースのソースコードを編集するのに比べて、簡単な操作で外部ファイルに格納されているテスト用データを利用した単体テストを設定できます。
また、既存のCppUnitテストケースをインポートして単体テストを実行できます。インポートしたCppUnitテストケースを使用した単体テストでもテストカバレッジの計測が可能です。バージョンアップや再開発といった過去に作成したコードを利用した開発でC/C++testを導入した場合でも、既存の資産を有効活用できます。

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

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

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

    03-4405-7853

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

お問い合わせ

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