このレッスンでは、アプリケーション検証および実行時エラー検出をカバーする演習を行います。C++test でのアプリケーション検証と実行時エラー検出の詳細については、「実行時エラー検出」の章を参照してください。

このセクションの内容

前提条件

  • C++test Server 9.0 以上がインストールされ、実行時エラー検出のライセンスが設定されていなければなりません。
  • C++test サンプルの Sensor プロジェクトが利用可能でなければなりません。C++test でプロジェクトを作成する方法については、「C++test プロジェクトの作成 - チュートリアル」 を参照してください。

C++test 実行時エラー検出の概要

C++test の実行時エラー検出は、アプリケーション レベルで、または単体テスト中に実行できます。実行時エラー検出は動的なコード解析を行います。つまり、動的ルールのセットを適用し、ルール違反をレポートします。メモリ アクセス エラー、メモリ リーク、メモリ破壊などのメモリー エラーを検出できます。実行時エラー検出を行うためのインストゥルメンテーションは軽量であり、組込みシステムのターゲット ボードでの実行に適しています。

C++test アプリケーション検証の概要

C++test はインストゥルメントされたバージョンのアプリケーション実行ファイルを準備します。選択されたコンフィギュレーションに応じて、カバレッジ 統計およびアプリケーション実行中に発見されたメモリ エラーのどちらか、あるいは両方がレポートされます。

演習のセットアップ

以降の演習の準備として、「C++test プロジェクトの作成 - チュートリアル」で説明した手順に従って、新しくコピーした Sensor サンプル コード ( [C++test install directory\examples\Sensor]) でプロジェクトをセットアップする必要があります。GNU/ホスト ベースのテストの詳細については、以下を参照してください。

GNU ホスト ベースのテスト手順

  1. C++test Sensor サンプル コードを使って単体テストのためのプロジェクト ディレクトリを作成します。
    • 例: C:\C++test\Tutorial\SensorEclipseGnu\Sensor.
  2. Makefile および sensor.c を新しいプロジェクト ディレクトリにコピーします。これらのファイルは [C++test install directory\examples\Sensor] にあります。
  3. 次のいずれかの操作を行います。
    • デフォルトの Windows 環境に gcc、g++、make などへのパスがすでに設定されている場合、デスクトップ アイコンまたはメニューの [スタート] > [すべてのプログラム] メニューから C++test を起動します。
    • これらのパスが設定されていない場合、コマンド プロンプトを開いてコンパイラおよび C++test のパスを設定し、「cpptest」と入力して C++test を起動します。
  4. ワークスペースの設定を行い、Sensor の 親ディレクトリに新しいワークスペースを作成します。 例: C:\C++test\Tutorial\SensorEclipseGnu\workspace
  5. [C++test] パースペクティブで [ファイル] メニューの [新規] > [プロジェクト] をクリックします。
  6. [C/C++] を展開して [C プロジェクト] を選択し、[次へ] をクリックします。
  7. [プロジェクト名] フィールドに「Sensor」と入力します。
  8. [デフォルト・ロケーションの使用] チェックボックスをオフにします。
  9. [参照] ボタンをクリックして Sensor の Makefile の場所を指定します。 例: C:\C++test\Tutorial\SensorE-clipseGnu\Sensor
  10. [プロジェクト・タイプ] の [Makefile プロジェクト] を選択します。
  11. [ツールチェーン] から[Cygwin GCC] を選択します。
  12. [終了] をクリックします。
  13. 関連付けられたパースペクティブを開くかどうかを訊ねるダイアログが表示された場合、好みに合わせて選択してください。C/C++ パースペクティブでも C++test パースペクティブでも操作できます。

  14. sensor.c を静的解析し、プロジェクトのセットアップが正しいかどうかをチェックします。静的解析の実行の詳細については「静的解析とコーディング スタンダード - チュートリアル」を参照してください。

演習

  • No labels