アプリケーションカバレッジを計測する手順
Windowsアプリケーションのアプリケーションカバレッジは以下の流れで計測します。
アプリケーションのビルド
アプリケーションカバレッジ計測用ファイルの作成
アプリケーションカバレッジの計測(アプリケーションの実行・操作)
計測したカバレッジデータをVisual Studioへインポートし、結果を確認
1. アプリケーションのビルド
アプリケーションカバレッジを計測するためのサンプルプロジェクトの準備をします。
次のアプリケーションを起動します。 <dottest_install_dir>\deploy_examples.exe%USERPROFILE%\Documents\Parasoft\dotTEST 10\Examples\NET Framework\VS2019\SourceCode に作成されたStackMachineフォルダを任意のディレクトリに配置します。
※VS2019はご利用のVisualStudioのバージョンに置き換えてください。配置したStackMachineフォルダを開き、ソリューションファイル(StackMachineExample.sln)を実行します。
ソリューションファイルが格納されているファイルパスにはマルチバイト文字を含まないようご注意ください。
マルチバイト文字を含むパスを用いた場合、カバレッジが正しく収集できない恐れがあります。以下の画面が開いたらDebugモードを選択し、ビルドを行います。 ビルドはコンテキストメニューの[ビルド(B)] – [ソリューションのビルド(B)]を選択します。
ビルドが正常に終了したことを確認します。
<StackMachineを配置したディレクトリ>\StackMachine\bin\Debug\StackMachine.pdbが生成されていることを確認します。
2. アプリケーションカバレッジ計測用ファイルの作成
実行モジュールカバレッジウィザードを開きます。
coverage_wizard.exe を実行します。
例)C:\Program Files\Parasoft\dotTEST\2023.2\integration\coverage\agent\coverage_wizard.exe実行モジュールカバレッジウィザード上でカバレッジ計測のための設定を行います。
設定項目:アプリケーションのフルパス ビルドにて作成したアプリケーション(.exe等)の絶対パス
コマンドライン引数 コマンドラインのアプリケーションの場合に実行時に指定する引数
作業ディレクトリ アプリケーションを実行する絶対パス
カバレッジインポートのスコープ -solutionまたは-projectを用いてカバレッジ計測の範囲を指定 ※ 1
.NET CLRバージョン 対象のフレームワーク ※ 2
ターゲットスクリプトのディレクトリ カバレッジ計測用ファイルを生成する絶対パス ※ 3
アプリケーションをただちに実行 チェックを入れるとウィザード終了と同時にカバレッジ計測を開始
※ 1 –solution <path>\xxx.sln または –project <path>\xxx.csprojの形式で指定します。
※ 2 Visual Studio上からプロジェクトのプロパティを開き、[アプリケーション]タブ内の”対象のフレームワーク”にて確認できます。
※ 3 デフォルトではC:\Users\<user_name>\Documents\Parasoft\dotTEST\Coverageに作成されます。実行モジュールカバレッジウィザードの設定例(Windowsアプリケーション):
設定が終わったら、実行モジュールカバレッジウィザードの[終了]ボタンを押下します。計測用ファイルが"ターゲットスクリプトのディレクトリで指定したパスに作成されます。
作成されるファイル、フォルダ:CoverageLogs カバレッジデータやログが格納されます。※アプリケーション実行時に作成されます。
Coverage.settings dotTEST のカバレッジ計測用設定ファイルです。
importCoverage.bat Visual Studioへインポート可能なデータおよびレポートを生成します。
monitorCoverage.bat アプリケーションを起動し、カバレッジを計測します。
dottest.Hooks.deps.json dotTESTの内部で利用するファイルです。
3. アプリケーションカバレッジの計測
実行モジュールカバレッジウィザードで[アプリケーションをただちに実行]がチェックされた状態で[終了]ボタンを押下すると、サンプルアプリケーションが起動します。
(アプリケーションを終了してから再度起動する場合は、ここまでの手順で作成した monitorCoverage.bat を実行します。)
注意!
.NET6以降をご利用中の場合、カバレッジ取得に制限事項があります。monitorCoverage.batの実行前に実施頂く手順がありますので
こちらをご確認ください。
起動したアプリケーション上でカバレッジを計測する操作をします。
操作例:
[Input] フィールドに「10」を入力して [PUSH] ボタンをクリックし、スタックに 10 を追加します。
[Input] フィールドに「30」を入力して [PUSH] ボタンをクリックし、スタックに 30 を追加します。
[+] ボタンをクリックして 2 つの値を加算します。 (結果は 40 と表示されます。)
アプリケーションの操作が完了したら、右上の [×] ボタンでアプリケーションを終了します。CoverageLogsディレクトリに2つのログファイルが作成されます。
例)
CoverageMap.12680-5711194b-1d1d65f.1.dyn.log
CoverageMap.12680-5711194b-1d1d65f.seq.log