このセクションでは、テストコンフィギュレーション、ルールファイル、ルールマッピングファイルをチーム内で共有する方法について説明します。
このセクションの内容
テストコンフィギュレーションとは
C++test のすべてのテストは、GUI からのテストでもコマンドラインイン ターフェイスからのテストでも、テスト コンフィギュレーションに基づいて実行されます。テストコンフィギュレーションは、テスト シナリオと関連するすべてのテストパラメーターを定義したものです。C/C++test に付属のさまざまな一般的なテスト シナリオに基づくビルトイン コンフィギュレーションを使用してテストを行うことができます。または、ビルトインテストコンフィギュレーションを複製し、変更してユーザー定義テス トコンフィギュレーションを作成することも、まったく新規にテス トコンフィギュレーションを作成することもできます。「ユーザー定義テストコンフィギュレーションを作成する」を参照してください。DTP サーバーで作成され、保存されたコンフィギュレーションは直接 DTP でだけカスタマイズできます。「DTP のテスト コンフィギュレーション」を参照してください。
最も頻繁に使用する予定のテストコンフィギュレーションは、「お気に入りテストコンフィギュレー ション」に設定できます。「お気に入り」として設定すれば、[Parasoft] メニュー、ツールバーの [テスト] ボタン、コマンドラインインターフェイスから簡単に目的のテストコンフィギュレーション を実行することができます。「お気に入りテスト コンフィギュレーションの設定」を参照してください。
お気に入り テストコンフィギュレーションの設定
テスト コンフィギュレーションを「お気に入り」として設定すれば、[Parasoft] メニューやツールバーの [テスト] ボタンから 簡単に目的のテストコンフィギュレーションを選択でき、最も頻繁に使用するシナリオを簡単に実行できます。またお気に入りテストコンフィギュレーションは、コマンド ラインから実行する際、デフォルトで使用されるテストシナリオを定義します。
複数のお気に入りテスト コンフィギュレーションを指定し、頻繁に使用するシナリオを簡単に実行できます。C/C++test は、お気に入りの階層の一番上にあるテスト コンフィギュレーションをコマンド ライン実行および [テスト] ツールバー ボタンのデフォルトのコンフィギュレーションとみなします。
お気に入りコンフィギュレーションを指定するには、次の操作を行います。
- [Parasoft] メニューの [テストコンフィギュレーション] をクリックするか、 [テスト実行] ツールバー ボタンのドロップダウン メニューの [テストコンフィギュレーション] をクリックして [テストコンフィギュレーション] ダイアログを開きします。
- お気に入りコンフィギュレーションとして設定するテストコンフィギュレーションを右ク リックし、
- ショートカットメニューの [お気に入りとして設定] をクリックします。
- テスト コンフィギュレーションの位置を指定します。
- F: 最優先で使用されるデフォルトのシナリオです。「F」アイコンでマークされます。
- 1-3: お気に入りテスト コンフィギュレーションが GUI ([テスト] ボタン、 [Run Tests] メニュー) で表示される順序を表します。
ユーザー定義テストコンフィギュレーションを作成する
C/C++test に付属のビルトイン テスト コンフィギュレーションを直接変更することはできません。カスタム テスト コンフィギュレーションを作成するには、ビルトインテストコンフィギュレーションを複製し、ユーザー定義カテゴリの複製したテスト コンフィギュレーションを変更します。
DTP サーバーで作成され、保存されたコンフィギュレーションは直接 DTP でだけカスタマイズできます。
カスタム テストコンフィギュレーションを作成するには、次の操作を行います。
- [Parasoft] メニューの [テストコンフィギュレーション] をクリックするか、 [テスト実行] ツールバー ボタンのドロップダウン メニューの [テストコンフィギュレーション] をクリックして [テストコンフィギュレーション] ダイアログを開きします。
- 利用可能なテスト コンフィギュレーションを確認して、以下のいずれかの操作を行います。
- 既存のテスト コンフィギュレーションを基にしてカスタム テスト コンフィギュレーションを作成する場合: 既存のテスト コンフィギュレーションを選択して右クリックし、[複製] をクリックします。
- 新規にカスタム テストコンフィギュレーションを作成する場合: [新規] をクリックします。
- 新規テスト コンフィギュレーションを選択します。
- 必要に応じて設定を変更します。各タブで可能な設定については「テスト コンフィギュレーションの設定」を参照してください。
- (オプション) テストコンフィギュレーションを「お気に入りテストコンフィギュレーショ ン」として設定します。「お気に入りテスト コンフィギュレーションの設定」を参照してください。
- [適用] をクリックします。
- [閉じる] をクリックします。
便利な機能として、$
と入力すると、Eclipse の Content Assist を使用し、テスト コンフィギュレーション パネルで利用可能な変数の一覧を表示できます。参照: 変数定義
チームテスト コンフィギュレーションの共有
テスト コンフィギュレーションをチーム全体に展開するには、チーム コンフィギュレーションの共有と設定のための主要なプラットフォームである DTP または非推奨の Team Server を使用するか、手動でテスト コンフィギュレーションをエクスポートしてインポートします。
DTP のテスト コンフィギュレーション
C++test が DTP に接続されている場合は、指定した DTP サーバー (「DTPとの接続」を参照) に保存されたテスト コンフィギュレーションを使用して解析を実行できます。
DTP サーバーで作成され、保存されたコンフィギュレーションは直接 DTP でだけカスタマイズできます。
DTP のテスト コンフィギュレーションをカスタマイズするには、次の操作を行います。
- [Parasoft] メニューの [テストコンフィギュレーション] をクリックするか、 [テスト] ツールバー ボタンのドロップダウン メニューの [テストコンフィギュレーション] をクリックして [テストコンフィギュレーション] ダイアログを開きします。
- [DTP] カテゴリを選択して DTP で利用可能なテスト コンフィギュレーションを参照します。
- 変更するテストコンフィギュレーションをクリックします。
- [Configure in DTP] リンクをクリックして DTP インターフェイスのテスト コンフィギュレーション ページを開きます。
DTP でテスト コンフィギュレーションを追加、設定、管理する方法の詳細については、『DTP ユーザー ガイド』のテスト コンフィギュレーション セクションを参照してください。
チームテスト コンフィギュレーション
このセクションで説明されている Team Server 機能は非推奨になりました。
チームテスト コンフィギュレーションとは、チームで使用するテスト設定 (例えば使用する静的解 析ルール、テスト生成の設定など) を適用したテストコンフィギュレーションです。チームメンバー全員が同じ テストコンフィギュレーションを使用することによって、チームの品質とスタイルのガイドラインをチームのコードベースに一貫して適用できます。
チームテスト コンフィギュレーションを共有する
チームテスト コンフィギュレーションを Team Server に追加すると、Team Server に接続しているチームメンバー全員の C/C++test からチームテスト コンフィギュレーションにアクセスすることができます。チームテストコンフィギュレーションがユーザー定義ルールやルールマッピングを使用する場合、ルールとルールマッピングを Team Server に追加することで、チームメン バーがこのルール/ルールマッピングに自動的にアクセスすることができます。
チーム全体でチームテストコンフィギュレーションを共有するには、Team Server に接続している C/C++test でアーキテクトまたはマネージャーが次の操作を行います。
- チームのテスト設定を反映したユーザー定義テストコンフィギュレーションを作成します。「ユーザー定義テストコンフィギュレーションを作成する」を参照。
- [Parasoft] メニューの [テスト コンフィギュレーション] をクリックして [テスト コンフィギュレーション] パネルを開きます。
- アップロードするテストコンフィギュレーションを右ク リックします。
- コンテキスト メニューの [Team Server へアップロード] をクリックします。
複数のチーム テスト コンフィギュレーションを設定できます。
チームテスト コンフィギュレーションの変更
チームテスト コンフィギュレーションは、IDE で直接編集できます。
- [Parasoft] メニューの [テストコンフィギュレーション] をクリックするか、 [テスト] ツールバー ボタンのドロップダウン メニューの [テストコンフィギュレーション] をクリックして [テストコンフィギュレーション] ダイアログを開きします。
- 左ペインの [チーム] カテゴリから目的のチームテストコンフィギュレーションを選択します。
- 必要に応じて設定を変更します。
- [適用] または [閉じる] をクリックして設定を適用します。
設定が Team Server にアップロードされ、チーム全体で共有されます。
別の方法として、チームテスト コンフィギュレーションを作成するときにベースにしたユーザー定義コンフィギュレーションを変更します。そしてテストコンフィギュレーションを再びアップロードします。
チームの「お気に入り」テストコンフィギュレーションの設定
必要に応じて、テストコンフィギュレーションを「お気に入りテストコンフィギュレーショ ン」として設定します。「お気に入りテスト コンフィギュレーションの設定」を参照してください。
ユーザー定義ルールマッピングの共有
ルールマッピングは、C/C++test でチームまたは組織のコーディングポリシーを推進するための重要な機能です。例えば、ビルトインルールの名前、重要度、ルールカテゴリをチーム/ 組織のコーディングポリシーに合わせてカスタマイズすることができます。
カスタマイズしたルールカテゴリと重要度をチームで共有するために rulemap.xml
ファイルを作成し、Team Server を使ってチームメンバー全員がこのファイルにアクセスするようにできます。rulemap.xml の作成方法については、「ルール カテゴリ、ID、ヘッダー、重要度レベルの変更」を参照してください。
Team Server に rulemap.xml
ファイルをアップロードするには、次の操作を行います。
- 共有する
rulemap.xml
ファイルにアクセスできるマシンで C/C++test を起動します。 - [Parasoft] メニューの [探索] > [Team Server (非推奨)] をクリックして参照ダイアログを開きます
- [ルール] タブをクリックします。
- [アップロード] ボタンをクリックし、ファイル選択ダイアログを開きます。
- 作成した
rulemap.xml
ファイルを選択して [開く] をクリックします。アップロードしたrulemap.xml
ファイルが [ルール] タブに表示されます。このファイルで指定されたルール設定は、Team Server に接続したすべての C/C++test で使用できます。 - [OK] ボタンをクリックします。
- [ 適用] をクリックし、Parasoft 設定ダイアログを閉じます。
- C++test を再起動します。Team Server を停止する必要はありません。
新しいルール設定が適用されたことを確認するには、任意のテスト コンフィギュレーションの [静的] タブを参照します。
ヒント
今後マスターの rulemap.xml
ファイルを変更した場合、「ユーザー定義ルールマッピングの共有」の操作を繰り返して変更後のファイルをアップロードする必要があります。変更後のファイルをアップロードしない場合、その変更は共有されません。
ユーザー定義ルールの共有
Team Server を使用すると、RuleWizard で作成したユーザー定義の静的解析ルールをチームメンバー全員がチェックするようにできます。Team Server でルールを管理すると、 Team Server に接続しているすべての C/C++test は常に最新のルールにアクセスします。ルールを変更してTeam Server にアップデートすると、チームのすべての C/C++test でも自動的にアップデートされます。
チームルールを追加するには、Team Server に接続している C/C++test でアーキテクトまたは担当チーム メンバーが次の操作を行います。
- RuleWizard で 1 つ以上のユーザー定義ルールを作成します。
.rule
拡張子を付けて各ルールを保存します。ルールは任意の場所に保存できます。- 新規のルールを新しいカテゴリに入れる場合、次の操作を行って新しいカテゴリを作成します。
- [Parasoft] メニューの [テストコンフィギュレーション] をクリックするか、 [テスト] ツールバー ボタンのドロップダウン メニューの [テストコンフィギュレーション] をクリックして [テストコンフィギュレーション] ダイアログを開きします。
- 任意のテストコンフィギュレーションを選択します。
- [静的] > [Rules Tree] タブをクリックします。
- [ルールマップファイルの編集] ボタンをクリックします。
- [カテゴリ] タブをクリックします。
- [新規] ボタンをクリックします。新しいエントリがカテゴリテーブルに挿入されます。
- 新しいエントリの [カテゴリ ID] および [カテゴリ詳細] フィールドに値を入力します。例えば、カテゴリ ID として ACME と入力し、カテゴリ詳細としてACME INTERNAL RULES と入力します。
- メモ帳などにルールマップファイルの場所を控えます。この情報をステップ 9 で使用します。
- [OK] ボタンをクリックしてカテゴリを保存します。
- [Parasoft] メニューの [探索] > [Team Server (非推奨)] をクリックします。[参照] ウィンドウが表示されます。
- [ルール] タブをクリックします。
- [アップロード] ボタンをクリックします。ファイル選択ダイアログが開きます。
- 新規作成した
.rule
ファイルを 1 つ以上選択し、[開く] をクリックします。アップロードした.rule
ファイルが [ルール] タブに表示されます。このタブに表示されるルールは、Team Server に接続しているすべての C++test で使用できます。 - ステップ 6 - 7 を繰り返して他のチームルールを追加します。
- 新しいルールカテゴリを追加したかルールマッピングを変更した場合、[アップロード] ボタンをクリックし、編集したルールマップファイルを選択して [開く] ボタンをクリックします。アップロードしたルール マップ ファイルが [ルール] タブに表示されているはずです。ルール マップ ファイルは、 Team Server に接続しているすべての C/C++test 製品で使用できます。このファイルは、ルールがどのようにカテゴライズされるかを制御します。
- [Parasoft] メニューの [テストコンフィギュレーション] をクリックします。
- 任意のテストコンフィギュレーションを選択して [静的] タブの [ ルールツリー] タブをクリックします。
- [リロード] ボタンをクリックします。すべての利用可能なテストコンフィギュレーションで新規ルールを利用できるようになり、指定の (新規または既存の) カテゴリの下にルールが表示されます。ルールはデフォルトで無効に設定されています。
- 追加した新規ルールをチームテスト コンフィギュレーションで使用するには、次の操作を行います。
- このルールをチェックする新規または既存のテストコンフィギュレーションを設定します。追加されたルールはデフォルトで無効に設定されているため、チェックするルールを有効化する必要があります。
「チームテストコンフィギュレーションの共有」で説明されているとおり、更新されたテスト コンフィギュレーションがチームで利用できることを確認します。すでに共有しているチームテストコンフィギュレーションの場合でも、設定を変更したらこの操作が必要です。
- [適用] または [閉じる] をクリックして設定を適用します。
ヒント
- ユーザー定義ルールがテストコンフィギュレーションのルールツリーに表示されている場合 ( 例えば [インポート] ボタンをクリックしてルールをインポートした場合など)、ショートカットメニューの [Team Server へアップロード] をクリックして Team Server にアップロードできます。
- 後でチームルールを変更する場合、「ユーザー定義ルールマッピングの共有」の操作を繰り返して変更後のファイルをアップロードする必要があります。変更後の
.rule
ファイルをアップロードしない場合、ルールの変更は共有されません。
Team Server からルールを削除する
Team Server からルールを削除するには、Team Server に接続している C/C++test でアーキテクトまたは担当チーム メンバーが次の操作を行います。
- [Parasoft] メニューの [探索] > [Team Server (非推奨)] をクリックして参照ダイアログを開きます
- [ルール] タブをクリックします。
- 削除するルールを選択します。
- [削除] をクリックします。
- [OK] ボタンをクリックします。
テストコンフィギュレーションのエクスポートとインポート
作成したテストコンフィギュレーションを他のチームメンバーと共有するには、エクスポート機能を使ってプロパティファイルにエクスポートします。他のチームメンバーはこのファイルをインポートしてテストコンフィギュレーションを追加できます。
エクスポートする
テストコンフィギュレーションをエクスポートするには、次の操作を行います。
- [Parasoft] メニューの [テストコンフィギュレーション] をクリックするか、 [テスト] ツールバー ボタンのドロップダウン メニューの [テストコンフィギュレーション] をクリックして [テストコンフィギュレーション] ダイアログを開きします。
- エクスポートするテストコンフィギュレーションを右ク リックします。
- コンテキスト メニューの [エクスポート] をクリックします。ファイル選択用ダイアログで テスト コンフィギュレーション用に作成される .properties ファイルの保存場所を指定します。
- [保存] をクリックします。作成された .properties の保存場所の確認ダイアログが表示されます。
インポートする
.properties ファイルからテストコンフィギュレーションをインポートするには、次の操作を行います。
- [Parasoft] メニューの [テストコンフィギュレーション] をクリックするか、 [テスト] ツールバー ボタンのドロップダウン メニューの [テストコンフィギュレーション] をクリックして [テストコンフィギュレーション] ダイアログを開きします。
- [ユーザー定義] カテゴリを右クリックします。
- ショートカットメニューの [インポート] をクリックします。
- インポートするテスト コンフィギュレーションの .properties ファイルを参照します。
- [開く] をクリックします。
テストコンフィギュレーションの設定-上級編
ユーザーおよびチームのテストコンフィギュレーションをサブディレクトリに分類する
ユーザーおよびチームのテストコンフィギュレーションをユーザー定義のサブディレクトリに分類できます。
ユーザーまたはチームのテストコンフィギュレーションをユーザー定義のサブディレクトリに移動するには、次の操作を行います。
- [Parasoft] メニューの [テストコンフィギュレーション] をクリックするか、 [テスト] ツールバー ボタンのドロップダウン メニューの [テストコンフィギュレーション] をクリックして [テストコンフィギュレーション] ダイアログを開きします。
- サブディレクトリに移動するテストコンフィギュレーションを右ク リックします。
- ショートカットメニューの [ Set Folder] をクリックします。
- 1 つまたは複数のサブディレクトリを選択し、[OK] をクリックします。次の例では、テスト コンフィギュレーションは「Security」サブディレクトリに移動されます。
コマンド ライン モードではサブディレクトリのパスを指定しないでください。 サブディレクトリはコマンド ラインの実行には影響を与えません。上の例では、次のようにテスト コンフィギュレーションを指定できます。-config "team://Policy Compliance"
テストコンフィギュレーションの継承の指定
同じパラメーター設定を複数のテストコンフィギュレーションで共有する場合 (例えば複数のテストコンフィギュレーションで同じルールを有効に設定する場合など)、1 つの親テストコンフィギュレーションを参照する「子コンフィギュレーション」を作成することができます。子テストコンフィギュレーションは親の設定を継承します。子コンフィギュレーションで特に設定を変更しないかぎり、親コンフィギュレーションの設定が使用されます。
継承は再帰的です。例えば MyConfig1 を継承して MyConfig2 を作成し、MyConfig2 を継承して MyConfig3 を作成することができます。MyConfig3 は MyConfig2 を継承しているので、したがって、MyConfig3 は MyConfig1 の一部の設定を継承します。
子テストコンフィギュレーションは、[テストコンフィギュレーション] ダイアログに表示されているテストコンフィギュレーションから作成できるほか、HTTP を介して利用可能なテストコンフィギュレーションの場合はテストコンフィギュレーションの URL を指定して作成できます。
[テストコンフィギュレーション] パネルから作成するには、次の操作を行います。
- [テストコンフィギュレーション] パネルを開きます。
- 親にするテストコンフィギュレーションを右クリックします。
- ショートカットメニューの [新しい子コンフィギュレーション] をクリックします。
HTTP を介して利用できるテストコンフィギュレーションから子テストコンフィギュレーションを作成するには、次の操作を行います。
- [テストコンフィギュレーション] パネルを開きます。
- [ユーザー定義] ノードを右クリックします。
- ショートカットメニューの [新しい子コンフィギュレーション] をクリックします。
ダイアログが開いたら、親テストコンフィギュレーションの URL (http://config_address) を入力します。例:
http://SOAtest.acme.com/configs/static.properties
子と親の継承関係を絶つには、次の操作を行います。
- [テストコンフィギュレーション] パネルを開きます。
- [親] フィールドの右側の [分離] ボタンをクリックします。
重要な注意事項
- 子テストコンフィギュレーションの親を変更することはできません。つまり、テスト コンフィギュレーション Z の親がテスト コンフィギュレーション A である場合、Z の親をテスト コンフィギュレーション B に切り替えることはできません。
- いったん親から分離した子テストコンフィギュレーションを再び親に関連付けることはできません。分離したとき、親から継承したすべての設定が子テストコンフィギュレーションに直接適用されます。
- テストコンフィギュレーションは 1 つの親だけを持つことができます。多重継承はサポートしていません。
テスト コンフィギュレーション パネルでのテストコンフィギュレーションの比較
2 つのテストコンフィギュレーションを比較して、異なる箇所をハイライト表示することができます。テストコンフィギュレーションを比較したい状況として、例えば次のケースがあります。
- 以前のバージョンの製品で静的解析ビルトインテストコンフィギュレーションをカスタマイズした。同じ静的解析ビルトインテストコンフィギュレーションが最新のバージョンでどのように変わったのか、どのような新規ルールが追加されて有効化されているのかを検証したい場合。
- テストコンフィギュレーションを "クイックモード" で実行する場合にどの設定が影響を受けるのかを検証したい場合。
- 子テストコンフィギュレーションとその親との違いを検証したい場合。
[テストコンフィギュレーション] ウィンドウに表示されている任意の 2 つのテストコンフィギュレーションを比較するには、次の操作を行います。
- 2 つのテストコンフィギュレーションを選択します。
- 選択対象を右クリックします。
- [比較] をクリックします。
子テストコンフィギュレーションをその親と比較するには、次の操作を行います。
- 子テストコンフィギュレーションを右クリックします。
- [比較対象] > [親コンフィギュレーション] をクリックします。
子テストコンフィギュレーションをそのクイックモード版と比較するには、次の操作を行います。
- 子テストコンフィギュレーションを右クリックします。
- [比較対象] > [ クイックモードの構成] をクリックします。
比較エディターが開き、差異がハイライト表示されます。
画面上で明らかに分かる差異だけでなく、さらに深いレベルの差異も特定される点に注意してください。画面上で明らかに分かる差異とは、例えばあるオプションが一方ではオフであり、もう一方ではオンの場合です。深いレベルの差異とは、例えばルールのパラメータライゼーション設定が異なる場合です。
.properties ファイルを使ったテスト コンフィギュレーションの比較
2 つのテストコンフィギュレーションを比較するには、次の操作を行います。
- [Parasoft] メニューの [テストコンフィギュレーション] をクリックするか、 [テスト] ツールバー ボタンのドロップダウン メニューの [テストコンフィギュレーション] をクリックして [テストコンフィギュレーション] ダイアログを開きします。
- 比較するテストコンフィギュレーションの 1 つを右クリックします。
- ショートカットメニューの [エクスポート] をクリックします。
.properties
ファイルの保存先を指定します (ワークスペース内のフォルダーであり、Package Explorer でアクセス可能なフォルダーを選択します)。- 比較するもう 1 つのテストコンフィギュレーションについて、上記の操作を行います。
- プロジェクト エクスプローラーで 2 つの
.properties
ファイルを選択します。 - 選択対象を右クリックします。
- [比較対象] > [相互] をクリックします。