このセクションの内容
概要
dotTEST DTP Engine には、スタンドアロン アプリケーションの実行中にカバレッジ情報を収集するための coverage.exe
ツールが付属しています。coverage.exe
ツールを実行すると、ウィザードが起動し、必要な情報を GUI で指定することができます。あるいは、コマンドライン オプションを使用して情報を指定することもできます。
また、dotTEST には、カバレッジ エージェントというコンポーネントが付属しています。カバレッジ エージェントは、カバレッジ情報を収集する際、カバレッジ エージェントを有効または無効にできます。カバレッジ エージェントを有効にすると、Coverage Agent Manager (CAM) に接続できます。CAM は、さまざまなテスト実行時にカバレッジを計測するための Web インターフェイスです。詳細については DTP のマニュアルの Coverage Agent Manager (CAM) セクションを参照してください。
カバレッジ エージェントが有効な場合でも無効な場合でも、ローカル カバレッジ レポートを生成して DTP に結果をアップロードすることが可能です。
カバレッジ ウィザードの設定
[INSTALL_DIR]\coverage.exe
ツールを実行し、以下の情報を指定します。
- アプリケーションへのフルパス
- コマンドライン引数
- 作業ディレクトリ- アプリケーションが使用する .NET CLR のバージョンを指定します。
- ウィザードがスクリプトを生成するディレクトリを指定します。
カバレッジの収集に Coverage Agent を使用するかしないかを指定します。
[Use Coverage Agent ] オプションをオンにした場合、[Collect coverage without admin privileges ] オプションをオンまたはオフに設定し(「Coverage Agent を使用しないカバレッジの収集」を参照)、ステップ 5 から 7 をスキップして [Finish] をクリックします。
- [Without Coverage Agent] オプションをオンにした場合 (デフォルト)、ステップ 5 から 7 に進みます。
-solution
または-project
スイッチを指定して、カバレッジをインポートするスコープを定義します。スイッチの指定は、DTP Engine の実行モジュールに渡され、ソースの場所を決定するのに使用されます。スイッチの詳細については「テスト スコープの設定」を参照してください。[Remove old coverage data before each run ] オプションをオンまたはオフに設定します。このオプションは、デフォルトでオンです。
デフォルトでは、以前の実行で収集されたカバレッジ情報を削除されます。このオプションをオフにすると、前回実行時のデータは削除されません。
- [Run application immediately ] オプションをオンまたはオフにします。このオプションがオンの場合、
monitorCoverage.bat
スクリプトが自動的に実行されます (このオプションをオフにした場合、ステップ 3 で指定した場所にウィザードが生成したスクリプトを使用して、手動でアプリケーションを起動する必要があります)。
コマンド ライン オプションの使用
オプションとともに coverage.exe
を実行して、アプリケーション カバレッジの収集に必要な情報を指定することもできます。
coverage.exe -app [path] -workingDir [path] -appArgs [arguments] -commandsDir [path] -scope [dotTEST scope switch] -clr [version] -run
次のオプションがあります。
オプション名 | 値 | 説明 |
---|---|---|
-app | [path] | アプリケーションへのフル パスです。 |
-workingDir | [path] | 作業ディレクトリへのパスです。 |
-appArgs | [argument] | アプリケーション コマンド ラインの引数です。 |
-commandsDir | [path] | カバレッジ ツールが生成する *.bat スクリプトを保存するディレクトリを指定します。 |
-scope |
|
スイッチの詳細については「テスト スコープの設定」を参照してください。 |
-clr |
| アプリケーションが使用する .NET CLR のバージョンを指定します。 |
-run | none |
|
-doNotRemoveOldCoverage | none | 各実行の前に古いカバレッジ データを削除しないよう指定します。このオプションが指定されていない場合、前回実行時に収集されたカバレッジ データは、デフォルトで削除されます。 |
-withCoverageAgent | none | Coverage Agent を使用してカバレッジを収集するよう指定します。 |
Coverage Agent を使用しないカバレッジの収集
カバレッジ ウィザードで、カバレッジ エージェントを使用しないで実行するよう設定した場合、ターゲット スクリプトのディレクトリとして指定されたディレクトリに以下のスクリプトが作成されます (「カバレッジ ウィザードの設定」を参照)。
アプリケーションを実行しモニターする monitorCoverage.bat
カバレッジ データをインポートしてレポートする importCoverage.bat
monitorCoverage.bat
スクリプトを実行します ([Run application immediately ] オプションをオンにしてカバレッジ ウィザードを起動した場合、このステップをスキップします)。指定されたアプリケーションが実行されます。- アプリケーションを操作してテストを実行します。
- アプリケーションを終了します。
importCoverage.bat
スクリプトを実行して次の場所にレポートを生成します: [Target scripts directory]\reports- カバレッジ情報を参照します。
Coverage Agent を使用したカバレッジの収集
カバレッジ ウィザードで、カバレッジ エージェントを使用して実行するよう設定した場合、ターゲット スクリプトのディレクトリとして指定されたディレクトリに以下のスクリプトが作成されます (「カバレッジ ウィザードの設定」を参照)。
アプリケーションを実行しモニターする
monitorCoverage.bat- Coverage Agent
を実行する runCamAgent.bat
runCamAgent.bat
スクリプトを実行して Coverage Agent を起動します。CAM の操作が終わるまで、Coverage Agent プロセスを終了しないでください。
monitorCoverage.bat
スクリプトを実行してアプリケーションを起動します。Coverage Agent Manager に接続し、テストを実行します。
カバレッジおよびテスト結果をダウンロードします。DTP のマニュアルの Coverage Agent Manager (CAM) セクションを参照してください。
アプリケーションを終了します。
カバレッジおよびテスト結果を DTP にアップロードします。「テスト結果およびカバレッジの DTP へのアップロード」を参照してください。
- DTP でカバレッジ情報を参照します。
管理者権限なしでのカバレッジの収集
デフォルトでは、Coverage Agent を使用したカバレッジ収集を行うには管理者権限が必要ですが、管理者権限のないユーザーでカバレッジを収集するよう設定することもできます。
- [Collect coverage without admin privileges] オプションをオンにしてウィザードを起動します (「カバレッジ ウィザードの設定」を参照)。すると、次のスクリプトが追加で生成されます。
- runCamAgentInit.bat
- runCamAgentUninit.bat
- 管理者権限を持つユーザーで
runCamAgentInit.bat
スクリプトを実行し、Coverage Agent のセットアップと初期化を行います。これによって、管理者権限のないユーザーが「Coverage Agent を使用したカバレッジの収集」 で説明されているように、CAM を使用してテストを行えるようになります。 テストが終了したら、
runCamAgentUninit.bat
スクリプトを実行してプロセスを停止します。
テスト結果およびカバレッジの DTP へのアップロード
CAM で収集したカバレッジ情報を参照するには、結果およびカバレッジを DTP にアップロードする必要があります。
テスト結果のアップロード
- DTP のインターフェイスで [Report Center] に移動します。
- 歯車のアイコンをクリックして [Report Center 設定] > [その他の設定] > [Report Center の管理] > [ツール] > [Data Collector アップロード フォーム] をクリックします。
- [ファイルの選択] をクリックし、CAM からダウンロードした report.xml ファイルを選択します。
- [アップロード] ボタンをクリックし、ファイルを DTP にアップロードします。
カバレッジのアップロード
DTP にカバレッジをアップロードする場合、CAM からダウンロードして実行時カバレッジと Coverage Agent が生成した静的カバレッジをマージする必要があります。カバレッジ データを適切にマージしてアップロードするには、.properties ファイルで必要な設定が行われていることを確認します (「設定の概要」を参照)。
- dotTEST DTP Engine で DTP、スコープ、作成者が適切に設定されていることを確認します。「DTP への接続」、「テスト結果およびカバレッジの DTP へのアップロード」、「設定」を参照してください。
- 適切にカバレッジ データをマージするには、dottestcli.properties ファイルで以下の設定を行います。
report.coverage.images
- DTP Server でカバレッジ イメージを作成するために使用するタグのセットを指定します。カバレッジ イメージは、同じビルド ID を持つ複数の実行のカバレッジ データを集約する際に一意の識別子となります。DTP は、1 レポートにつき最大 3 つまでのカバレッジ イメージをサポートします。session.tag
- 同じビルドの個々のテスト実行を区別する一意の識別子を指定します。build.id ="[value]"
- 結果にラベル付けするためのビルド識別子を指定します。ビルドごとに固有の値を使用することも、特定のビルドで実行される複数のテストセッションで同じ値を使用することもできます。report.coverage.limit
(任意) - カバレッジのしきい値を指定します。この値より低いカバレッジ結果は、レポートで強調表示されます (デフォルト値は40
)。
静的カバレッジ ファイルの生成
ソリューションに対して次のテスト コンフィギュレーションを実行することで、静的カバレッジ ファイルを生成してください。
dottestcli.exe -config "builtin://Collect Static Coverage" -solution SOLUTION_PATH
dottestcli コンソール出力に静的カバレッジ データが保存された場所が出力されます。
Saving static coverage information into: 'C:\Users\[USER]\Documents\Parasoft\dotTEST\Coverage\Static\[FILE].data
カバレッジ データのマージと DTP へのアップロード
実行時カバレッジ ファイルと静的カバレッジ ファイルを同じマシンにコピーし、-runtimeCoverage
および -staticCoverage
スイッチでファイルの場所をを指定して dottestcli
を実行します。
dottestcli.exe -runtimeCoverage [path] -staticCoverage [path] -report [path] -publish -settings [path]
カバレッジ データが自動的に DTP にアップロードされます。
DTP でのカバレッジの参照
DTP のカバレッジ エクスプローラーを使用して、テスト実行時に収集されたアプリケーション カバレッジを参照できます。カバレッジ情報の参照の詳細については DTP のマニュアルを参照してください。