カバレッジマスターとCasePlayer2の連携機能を使用して、入出力変数の自動抽出や、テストデータ自動生成機能、C1(MC/DC)カバレッジ計測をしようと考えています。
テスト対象関数は、カバレッジマスターに入力しているオブジェクトファイルを構成しているソースは全てではなく一部分のソースですが、この場合でも全てのソースをCasePlayer2で解析する必要がありますか?
よくある質問(FAQ)
カバレッジマスターとCasePlayer2の連携機能を使用して、入出力変数の自動抽出や、テストデータ自動生成機能、C1(MC/DC)カバレッジ計測をしようと考えています。
テスト対象関数は、カバレッジマスターに入力しているオブジェクトファイルを構成しているソースは全てではなく一部分のソースですが、この場合でも全てのソースをCasePlayer2で解析する必要がありますか?
すべてのソースコードをCasePlayer2で解析する必要はありません。テスト対象の関数が含まれるソースファイルのみを「詳細解析」することで、その関数に関するすべての機能(入出力変数の自動抽出、テストデータの自動生成、C1およびMC/DCカバレッジの計測など)が利用可能になります。
例えば、下記のサンプルコードにおいて func2 をテストする場合、CasePlayer2で file2.c のみを詳細解析すれば、上記の機能はすべて問題なく動作します。
サンプルコード
■file1.h
char *gb_port1; // i/oポート入力
int *gb_data_out; // 結果
■file1.c
#include "file1.h"
void func1( int enable, int mode, int input )
{
}
■file2.c
extern char *gb_port1; // i/oポート入力
extern int *gb_data_out; // 結果
void func2( int mode, int *data_in )
{
if( *gb_port1 & 0x00000001 ) {
*gb_data_out = mode;
} else {
*gb_data_out = *data_in;
}
}