このセクションの内容
概要
テスト コンフィギュレーションは、DTP Engine がどのようにコードを解析するかを定義したものです。たとえば、有効にする静的解析ルール、実行するテストなどの解析パラメーターを定義します。
dotTEST DTP Engine
にはビルトイン テスト コンフィギュレーションがあらかじめ用意されていますが、ユーザーは、DTP Server でユーザー独自のテスト コンフィギュレーションを作成して保存することもできます。 DTP プラグインから DTP Server にアクセスできます。DTP Report Center の管理者レベルのアクセス権限を持っている場合、DTP で直接テスト コンフィギュレーションを作成できます ([管理] > [エンジン] > [テスト コンフィギュレーション])。
DTP Server からユーザー定義のテスト コンフィギュレーションをダウンロードし、*.properties ファイルとして [INSTALL_DIR]/configs/user ディレクトリに保存できます。
テスト コンフィギュレーションの実行
実行するテスト コンフィギュレーションを指定する方法はいくつかあります。
-config スイッチを使用し、ビルトイン、ユーザー定義、またはDTP にホストされたテスト コンフィギュレーションを指定して
dottestcli
を実行します。
-config "builtin://Recommended Rules" -config "user://Foo Configuration" -config "dtp://Foo Team Configuration" -config "dtp://FooTeamConfig.properties"
テスト コンフィギュレーションの .properties ファイルのファイル名または URL を指定することもできます。
-config "C:\Devel\Configs\FooConfig.properties" -config "http://foo.bar.com/configs/FoodConfig.properties"
たとえば、コマンドは次のようになります。
dottestcli.exe -solution "C:\Devel\MyFooSolution\MySolution.sln" -config "builtin://Demo" -report "C:\Report"
.properties ファイルで、
-config
オプションが指定されていない場合に実行されるデフォルト コンフィギュレーションを指定します。dottest.configuration=user://Configuration Name
利用可能なテスト コンフィギュレーションの表示
利用可能なテスト コンフィギュレーションを出力するには、-listconfigs スイッチを使用します。
Use the -listconfigs
switch to print the available test configurations.
ビルトイン テスト コンフィギュレーション
次の表は、[INSTALL]/configs/builtin ディレクトリにインストールされるビルトイン テスト コンフィギュレーションです。
ビルトイン テスト コンフィギュレーション | 説明 |
---|---|
Recommended Rules | 推奨ルールのデフォルト コンフィギュレーションです。重要度 1 および 2 の大部分のルールをカバーします。Flow Analysis Fast コンフィギュレーションのルールを含みます。 |
Find Duplicated Code | 重複コードをレポートする静的コード解析ルールを適用します。重複コードは、アプリケーションの設計が適切でないことを表す可能性があり、保守性の問題につながる場合があります。 |
Metrics | コード メトリクスを計測します。 |
Flow Analysis | テスト ケースやアプリケーションを実行せずに複雑な実行時エラーを検出します。検出されるエラーには、未初期化または無効なメモリの使用、null ポインター間接参照、配列およびバッファーのオーバーフロー、ゼロ除算、メモリおよびリソース リーク、デッド コードなどが含まれます。特別なFlow Analysis ライセンス オプションが必要です。 |
Flow Analysis Aggressive | 深いフロー解析を行うルールを含みます。このコンフィギュレーションの実行には、非常に長い時間がかかる可能性があります。 |
Flow Analysis Fast | 浅いフロー解析を行うルールを含みます。許容できる可能性があるエラーがレポートされるのを抑制します。 |
Critical Rules | 重要度 1 のルールの大部分および Flow Analysis Fast コンフィギュレーションのルールを含みます。 |
Demo | さまざまなコード解析技術をデモンストレーションするルールを含みます。大規模なコードの解析には適していない可能性があります。 |
Find Memory Issues | メモリ管理の問題を検出するルールを含みます。 |
Find Unimplemented Scenarios | 未実装のシナリオを検出するためのルールが含まれます。 |
Find Unused Code | 未使用コード/デッド コードを検出するためのルールが含まれます。 |
Check Code Compatibility against .NET [2.0, 3.0, 3.5, 4.0 Client Profile, 4.0 Full, 4.5.0, 4.5.1, 4.5.2, 4.6.0, 4.6.1, 4.6.2, 4.7.0] | 指定されたバージョンの .NET framework への互換性を検証するテスト コンフィギュレーションのセットが含まれます。 |
CWE-SANS Top 25 Most Dangerous Programming Errors | CWE-SANS の Top 25 Most Dangerous Programming Errors として分類された問題を検出するルールを含みます。 |
NIST SAMATE | NIST SAMATE 標準で識別された問題を検出するルールを含みます。 |
OWASP Top 10 Security Vulnerabilities | OWASP のセキュリティ脆弱性トップ 10 で識別された問題を検出するルールを含みます。 |
PCI Data Security Standard | PCI Data Security Standard で識別された問題を検出するルールを含みます。 |
Security Assessment | セキュリティの問題を検出する一般的なテスト コンフィギュレーションです。 |
IEC 62304 (Template) | IEC 62304 医療規格を適用するためのテンプレート コンフィギュレーションです。 |
Run NUnit Tests | 解析スコープ内で検出された NUnit テストを実行します。 |
Run NUnit Tests with coverage | 解析スコープ内で検出された NUnit テストを実行し、カバレッジを計測します。 |
Calculate Application Coverage | アプリケーション カバレッジ データを処理して coverage.xml ファイルを生成します。「Web アプリケーションのアプリケーション カバレッジ」を参照 |
Execute MSTests with Coverage | MSTests を実行し、カバレッジを収集します。 「単体テスト」を参照 |
Execute MSTests | MSTests を実行します。 「単体テスト」を参照 |
Collect Static Coverage | アプリケーション カバレッジに必要な静的カバレッジ データを生成します。「Web アプリケーションのアプリケーション カバレッジ」を参照 |
カスタム ルールの作成
カスタム ルールを作成するには、RuleWizard を使用します。DTP Engine でルールを使用するには、テスト コンフィギュレーションでルールを有効化し、カスタム ルール ファイルを以下のどちらかのディレクトリに配置する必要があります。
- [INSTALL_DIR]\rules\user\
- [DOCUMENTS DIR]\Parasoft\[engine]\rules
[DOCUMENTS DIR] は Windows の "My Documents" ディレクトリを指します。