はじめに
DTP に接続すると、ネットワーク ライセンスを取得したり、ローカル解析の指摘事項を中央のデータベースに送信したりできます。以下の情報を送ることができます。
- 静的解析およびメトリクス解析の結果 (抑制の詳細情報を含む)
- 単体テストの結果 (トレーサビリティ情報を含む)
- カバレッジ統計 (すべてのカバレッジ タイプ)
- カバレッジの詳細 (行カバレッジ)
DTP は、データの収集、解析、優先順位付けを行い、開発プロセスの最適化を支援します。DTP は変更されたコードの影響に着目し、コンプライアンスの完全なトレーサビリティを立証します。詳細は「Parasoft Development Testing ワークフロー」を参照してください。
GUI での DTP への接続
Parasoft C/C++test と Parasoft DTP サーバーを接続するには、次の操作を行います。
- IDE で [Parasoft] メニューの [オプション] (Visual Studio の場合) または [設定] (Eclipse の場合) をクリックします。
- [DTP] をクリックします。
[有効化] オプションをオンにしてサーバー設定をアクティベートします。
ベース URL DTP サーバーのベース URL を指定します。 DTP のデフォルトのポート番号は次のとおりです。
- https:// の場合、
8443
- http:// の場合、
8080
(Linux) および80
(Windows)
DTP がホスト サーバーのルート以外の場所にデプロイされている場合、URL にコンテキスト パス (ホスト名からの相対パス) を含める必要があります。例: https://mydtp.mycompany.com:8443/contextPathリバース プロキシを使用している場合、このケースに当てはまる場合があります。リバース プロキシ サーバーの設定およびコンテキスト パスの設定の詳細については、DTP のドキュメントを参照してください。
ユーザー名 DTP ユーザー名を指定します。DTP にアクセスできない場合、DTP 管理者に連絡してください。マシン名のログインを使用するには、[デフォルト] オプションをオンにします。 パスワード DTP パスワードを指定します。DTP にアクセスできない場合、DTP 管理者に連絡してください。 [接続のテスト] ボタンをクリックして設定を検証します。
DTP での認証に OpenID Connect を使用している場合、DTP サーバーのベース URL を指定し、OpenID Connect サーバーで接続を設定します。詳細は「UI での OpenID Connect の設定」を参照してください。OpenID Connect サーバーに正常に接続されると、DTP のページに自動的に情報が表示されます。- https:// の場合、
[プロジェクト] エリアで [構成] ボタンをクリックすると、DTP で利用可能なすべてのプロジェクトを表示するダイアログが開きます。
[ライセンス] エリアにアクティブなライセンスが表示されます。 ライセンスの種類によって、DTP への接続が確立されたときに自動的にライセンスが設定されます。[構成] リンクをクリックすると、手動でライセンス オプションを設定できます。
[レポート] エリアで [DTP への結果のレポートを有効化] をオンにし、DTP への静的解析の結果、単体テストの結果、およびカバレッジ情報の送信を有効化します。
DTP にレポートをパブリッシュするには、次のオプションのいずれかが有効なライセンスが必要です。: DTP Publish または Automaton。
[編集] リンクをクリックすると、レポートの高度な設定 (key=value
形式) を行うことができます。- [OK] ボタンをクリックして設定を保存します。
GUI での OpenID Connect の設定
DTP は OpenID Connect ユーザー認証をサポートしています (詳細は『DTP ユーザー ガイド』を参照)。DTP サーバーで OpenID Connect が有効化されている場合、OpenID Connect 経由でユーザーを認証するよう C/C++test を設定する必要があります。
- IDE で [Parasoft] メニューの [オプション] (Visual Studio の場合) または [設定] (Eclipse の場合) をクリックします。
- [OpenID Connect] をクリックします。
- [有効化] をクリックします。
- 次のオプションを設定します。
発行者 URI: OpenID Connect サーバーの URI です。
クライアント ID: OpenID Connect サーバーに登録された ID です。
クライアント シークレット: アプリケーションが OpenID Connect サーバーに接続するためのパスワードです。
スコープ: ユーザーの詳細情報へのアクセスを認可するための認証時に使用される空白で区切られたスコープのリストです。
コールバック ホスト: OpenID Connect サーバーとの通信に必要なローカル コールバック ホストです。以下のオプションがあります。
- localhost: localhost アドレスを使用して通信します。
- 127.0.0.1: ループバック IP アドレス 127.0.0.1 を使用して通信します。
コールバック ポート: OpenID Connect サーバーとの通信に使用するコールバック ポート番号です。以下のオプションがあります。
- 空きポートを自動的に選択: 自動的に空きポートを選択します (推奨)。
- ポートを指定: ポート番号を手動で指定します。
コールバック タイムアウト: ブラウザーがユーザー認証を待機する最大秒数を指定します (手順 6 を参照)。 - [接続のテスト] または [適用] をクリックしてブラウザーで OpenID Connect 認証ページを開きます。
- ブラウザー ウィンドウで認証情報を入力します。認証ページは次のようになります。
- 認証の確認が表示されたらブラウザー ウィンドウを閉じ、IDE での操作を続行します。
- [適用] をクリックして変更を適用します。
[ステータス] パネルに現在の OpenID Connect 認証ステータスが表示されます。
コマンド ライン での DTP への接続
コマンド ライン モードで C/C++test でのテストを実行する際に DTP への接続を設定するには、次の操作を行います。
- カスタム
.properties
ファイルで接続設定を指定します。 -settings
オプションを使用し、.properties
ファイルへのパスを指定します。cpptestcli -settings [PATH_TO_.PROPERTIES_FILE]
必須設定
接続の設定には、以下を指定する必要があります。
dtp.enabled=true
- DTP サーバーへの接続を有効化します。dtp.url=[URL]
- DTP Server への URL を指定します。dtp.user=[USERNAME]
- DTP サーバー認証のユーザー名を指定します。dtp.password=[PASSWORD]
- DTP サーバー認証のパスワードを指定します。report.dtp.publish=true
- DTP サーバーへのレポートを有効化します。
任意設定
dtp.project=[NAME]
- DTP プロジェクト名を指定します。build.id=[IDENTIFIER]
- 結果にラベル付するビルド識別子を指定します。session.tag=[TAG]
- テスト セッションの結果をマークするためのタグを指定します。dtp.additional.settings=[KEY1\=VALUE1\nKEY2\=VALUE2...]
- DTP に結果をレポートするための高度な設定を指定します。
コマンド ラインでの OpenID Connect の設定
DTP は OpenID Connect ユーザー認証をサポートしています (詳細は『DTP ユーザー ガイド』を参照)。DTP サーバーで OpenID Connect が有効化されている場合、OpenID Connect 経由でユーザーを認証するよう C/C++test を設定する必要があります。
DTP サーバーへの接続設定が保存された .properties
ファイルで以下を設定します。
デバイス コード認証が使用される場合 (デフォルト):
oidc.enabled=true
- OpenID Connect 経由でのユーザー認証を有効化します。oidc.cli.mode=devicecode
- OpenID Connect サーバーでユーザー認証に使用されるメソッドを指定します。「デバイス コード認証の使用」を参照してください。oidc.issuer.uri=[URI]
- DTP が登録された OpenID Connect サーバーの URI を指定します。oidc.client.id=[ID]
- OpenID Connect サーバーで提供された ID を指定します。oidc.client.secret=[PASSWORD]
- OpenID Connect サーバーで提供されたパスワードを指定します。oidc.scopes=[list of scopes]
- ユーザーの詳細情報へのアクセスを認可するための認証時に使用される空白で区切られたスコープのリストを定義します。デフォルト値:openid profile offline_access
oidc.keystore=[PATH]
- OpenID Connect でユーザーを認証する際に使用する証明書を格納したキーストア ファイルへのパスを指定します。oidc.keystore.password=[PASSWORD]
- 自己署名クライアント証明書を格納したキーストア ファイルのパスワードを指定します。oidc.devicecode.token.file=[PATH]
- ユーザー認証情報を含むカスタム トークン ファイルへのパスを指定します。
証明書認証が使用される場合:
oidc.enabled=true
- OpenID Connect 経由でのユーザー認証を有効化します。oidc.cli.mode=certificate
- OpenID Connect サーバーでユーザー認証に使用されるメソッドを指定します。oidc.issuer.uri=[URI]
- DTP が登録された OpenID Connect サーバーの URI を指定します。oidc.client.id=[ID]
- OpenID Connect サーバーで提供された ID を指定します。oidc.client.secret=[PASSWORD]
- OpenID Connect サーバーで提供されたパスワードを指定します。oidc.keystore=[PATH]
- OpenID Connect でユーザーを認証する際に使用する証明書を格納したキーストア ファイルへのパスを指定します。oidc.keystore.password=[PASSWORD]
- 自己署名クライアント証明書を格納したキーストア ファイルのパスワードを指定します。
認証が確実に成功するよう、またセキュリティ レベルを向上させるため、暗号化されたパスワードを使用することを強く推奨します。「暗号化されたパスワードの作成」を参照してください。
「OpenID Connect の設定」を参照してください。
暗号化されたパスワードの作成
C/C++test はパスワードを暗号化できます。パスワードを暗号化すると、DTP Server との通信のセキュリティが強化されます。暗号化されたパスワードを出力するには、次のコマンドを実行します。
-encodepass [your password]
返された暗号化済みパスワードをコピーし、.properties
でこれを使用して接続を設定します。例:
dtp.password=[your encoded password
]oidc.keystore.password=[your encoded password]
デバイス コード認証の使用
devicecode モードが有効な場合、ユーザー コードとともに検証 URI が C/C++test のコンソールに表示されます。ユーザーはこの URI とコードを使用して認証する必要があります。認証が成功すると、トークン ファイル (ファイルへのパスは oidc.devicecode.token.file に保存されます) に情報が保存され、C/C++test を実行するたびに再利用されます。ファイルに保存された情報が無効になると、ユーザーは再び認証する必要があります。
Parasoft Development Testing ワークフロー
Parasoft DTP は、ライセンスおよび開発中のソフトウェアのテストおよび解析に使用する共有アセットの管理機能を提供するほか、Parasoft ツール、サードパーティ製の解析ツール、バグ トラッキングシステムや要求トラッキングシステムなどの外部システムからデータを収集およびマージします。DTP はデータを集約して優先順位を付けるほか、ユーザーが開発プロセスを最適化するのに役立つその他の解析を行います。DTP を使用すると、複数のチームをまたぐ SDLC 全体に一貫して品質プラクティスを適用できます。
次の図は、一般的なワークフローを表しています。
Parasoft ツールとビルドの統合
Parasoft ツールにはビルド ツール (Maven、Ant、Gradle、MS Build、make など) との統合用プラグインが付属しています。これらの統合プラグインを使用すると、自動化されたビルド プロセスおよび継続的インテグレーション (CI) の一環として自動的に コードを解析し、データを DTP に送信できます。
観測結果の取得
解析ツールが実行されると、コードに関する大量の詳細データが取得されます。このデータは「観測結果」と呼ばれます。観測結果は、静的解析違反や単体テストの失敗などのコード品質データであったり、コードの作成者、スコープ、ソース管理システムの場所などの背景的な情報であったりします。
データを指摘事項に変換
観測結果が DTP に送信されると、「指摘事項」に変換されてデータベースに格納されます。指摘事項は、観測結果を分析、標準化、集計し、対応可能なデータに変換したものです。
DTP の指摘事項を開発者のデスクトップにインポートする
DTP から優先順位やフィルターされた指摘事項を直接 IDE にインポートし、問題に対処できます。
サイクルの継続
開発者がコードをソース管理システムにチェックインしなおすと、継続的インテグレーション プロセスが変更を検知し、ワークフローが繰り返されます。これにより、確実に欠陥を検出し、修正のコストが大幅に高くなる開発プロセスの後工程でバグが発生するのを防ぐことができます。