C++test -C/C++対応自動テストツール-
単体テスト
単体テストは、最も単純な機能ユニットにおけるプログラムのテストで、1つのクラスまたは関数が単体テストの対象であり、コーディング工程において開発者が実行するのが一般的です。単体テストによってエラーや想定外の例外を検出し、プログラムを修正することにより、安定したソースコードでソフトウェアを結合できるようになります。しかし、単体テストを実行するには、テストドライバの記述、入力データの指定、アクセスできない関数と変数を代替するスタブの用意などの作業が必要です。C++test はこれら、単体テストに欠かせない作業を自動化し、より効率的で一貫した単体テスト工程を可能にします。
*1 サポートコンパイラについては稼動環境をご確認ください。
テストドライバ・スタブ・テストケースの自動生成
C++testは、プログラムを最大限にカバーし、かつ、例外が発生しやすいテストドライバ、スタブ、テストケースを自動生成し、単体テストを自動化します。また、テストケースの自動生成は、事前/事後条件や値の種類など、生成するテストケースの条件を設定したり、自動生成後にテストケースを修正することができるので、より複雑で実際に近い単体テストが行えます。
クリックひとつで単体テストを自動実行
C++testは、コンパイル(*1)可能なプログラムであれば、C++test上で、[スタート] ボタンをクリックするだけで、単体テストを実行することができます。
*1 サポートコンパイラについては稼動環境をご確認ください。
*1 サポートコンパイラについては稼動環境をご確認ください。
テストケース、スタブの編集
自動生成された単体テスト用テストケースやスタブは修正することが可能です。テストケースはテストケースウィザードで、引数や事前条件、事後条件、戻り値などを修正したり、外部ファイルからのインポートを設定できます。スタブはスタブビューで、使用するスタブを選択したり、自動生成されたスタブソースコードを編集できます。テストケースウィザードとスタブビューにより、テストケースおよびスタブの変更や追加、修正といった作業を簡潔に行えます。
テストケースのインポート
テスト対象関数が参照している引数やグローバル変数、戻り値について、入力値やその期待値、スタブからの戻り値をCSVやエクセル、データベースなどからインポートし、単体テストを実行できます。また、CppUnitテストケースをインポートすることもできるので、過去に実施したテストを活用できます。すでにテストケースが準備されている場合や過去に実施したテストケースが残っている場合には、このテストケースのインポート機能を利用して、ブラックボックステストや回帰テストを自動化できます。
6種類のコードカバレッジの分析/レポート
C++testは、単体テストの実行中に、6種類のテストカバレッジを計測しレポートします。C++testがレポートするテストカバレッジには、行カバレッジ、判断文カバレッジなど、C0,C1に相当するコードカバレ ッジの測定が行えるカバレッジや、国際技術標準 DO-178B (RTCA) に準拠したMC/DCカバレッジなどが含まれています。
C++test がレポートするカバレッジ分析
- 行カバレッジ(C0:命令網羅率)
- パスカバレッジ
- ブロックカバレッジ
- 判断文カバレッジ(C1:分岐網羅率)
- 単純条件カバレッジ(C2:条件網羅率)
- Modified Condition/Decision Coverage (MC/DC)カバレッジ














