このセクションでは、要求管理システムから IDE にデータをインポートし、C/C++test の機能を使用してインポートされたすべての要求が単体テストによって検証されているかを確認する方法を説明します。
このセクションの内容
概要
C/C++test は要求管理システム (RMS) から IDE に要求の情報をインポートし、インポートされた要求とプロジェクト内のテスト ケースの関係を視覚化できます。要求ビューで関係を参照することで、テスト ケースでカバーされていない要求を簡単に見つけ出し、適切なテスト ケースを作成してギャップに対処できます。
このプロセスは大きく 3 つのステップに分かれます。
- DTP または ReqIF ファイルから IDE にデータをインポートします。
- ワークスペース内のプロジェクトをスキャンし、インポートされた要求に関連する既存のテスト ケースを探します。
- インポートされた要求に関連する新規テスト ケースを作成します。
サポート対象 ALM/RMS
ALM/RMS | 注意 |
---|---|
Azure DevOps | DTP からのインポートには DTP 2021.2 以降が必要です。 |
CodeBeamer | DTP からのインポートには DTP 2020.2 以降が必要です。 |
Jama Connect | DTP からのインポートには DTP 2021.2 以降が必要です。 |
Jira | DTP からのインポートには DTP 2020.2 以降が必要です。 ReqIF ファイルからのインポートはサポートされていません。 |
Polarion | DTP からのインポートには DTP 2021.2 以降が必要です。 |
要件
ReqIF から要求をインポートする場合:
- 要求管理システムから ReqIF フォーマットで要求をエクスポートします。ReqIF の作成手順については、使用している ALM/RMS のマニュアルを参照してください。
- ReqIF には、要求とテスト定義の関連付けを作成し、識別するのに必要なすべての情報が含まれていなければなりません。この情報には要求の識別子、名前、説明、テスト定義のほか、どのテイスト定義が特定の要求を検証するかに関する情報が含まれます。
DTP から要求をインポートする場合:
- C/C++test から DTP への接続を設定します (「DTPとの接続」を参照)。
- 外部 ALM/RMS と関連付ける DTP プロジェクトを指定します。DTP は外部 ALM/RMS に接続するよう設定され、プロジェクトの関連付けが指定されている必要があります。詳細については DTP のドキュメントを参照してください。
要求のインポートとレビュー
DTP から、または RMS からエクスポートされたReqIF ファイルから要求をインポートできます。
- IDE メニューの [Parasoft] > [ビューの表示] > [要求] をクリックし、要求ビューを開きます。
- ビューのメニューの [インポート] をクリックし、[DTP...] または [ローカル ファイル...] を選択してインポート ダイアログを開きます。
- 次の情報を指定します。
- ファイルからインポートする場合、RMS からエクスポートされた ReqIF ファイルへのパスを指定し、ファイルからインポートする仕様を選択します。
- DTP からインポートする場合、DTP のプロジェクトからインポートする仕様を選択します。 - [OK] をクリックします。C/C++test はインポートされたデータを要求ビューに表示します。
インポートされたデータの確認
C/C++test はインポートされた要求を要求ビューに表示します。RMS によっては、要求に 1 つまたはそれ以上の「テスト定義」と呼ばれるサブモジュールが含まれる場合があります。すべての作業アイテム (要求と、テスト定義があればそのテスト定義) はツリーのノードとして表示され、折り畳みまたは展開できます。
作業アイテムをダブルクリックすると、サマリー1が開きます。サマリーには要求またはテスト定義の ID、名前、説明が含まれます。あるいは、要求ツリーのノードを右クリックし、メニューから [詳細の表示] をクリックしてサマリーを開くこともできます。
1 外部ブラウザーでサマリーを開くかどうか尋ねられる場合があります。
作業アイテムを右クリックし、[ID のコピー] をクリックすると、クリップボードに ID をコピーできます。この機能は、ID をコードに貼り付けてアノテーションを作成し、要求またはテスト定義とテスト ケースを関連付けるのに便利です (「テスト ケースと要求の関連付け」を参照)。
既存の関連付けの検出
IDE にインポートした作業アイテムとプロジェクトのテスト ケースの関連を検出するには、以下の場面で要求ビューのツールバーの [テストケースのスキャン] をクリックします。
- IDE に要求をインポートした後、初期状態の関連を検出するため
- プロジェクトで作業中に新しい関連を検出するため
あるいは、要求ビューのメニューの [テスト ケースの自動検出] をクリックして自動検出モードを有効にします。すると、C/C++test は要求をインポートした後や更新を行ったときに自動的に関連を検索します。
スキャン プロセスが終了すると、検出されたテスト ケースが要求ビューの対応する作業アイテムと照合されます。テスト ケースを右クリックして以下のいずれかを選択できます。
- 開く - テスト ケース エディターでテスト ケースを開きます。テスト ケースの内容を参照し、カスタマイズできます。あるいは、テスト ケースをダブルクリックしてテスト ケース エディターを開くこともできます。
- テスト ケース エクスプローラーで表示 - テスト ケース エクスプローラーでテスト ケースを表示します。
テスト ケースに関連付けられていない要求およびテスト定義には警告アイコンが付きます。
ビューをフィルタリングし、テスト ケースでカバーされていない要求だけをパネルに表示することもできます。
テスト ケースと要求の関連付け
[テスト ケースがない作業項目をフィルター] オプションを有効にすると、テスト ケースに関連付けられていない要求やテスト定義を簡単にフィルタリングできます。このオプションを有効にすると、すでにテスト ケースに関連付けられている作業アイテムは非表示になり、対処すべき不足部分に集中できます。
テスト ケースと作業アイテムを関連付けるには、テスト ケースに次のアノテーションを追加します。
@req
- テスト ケースと要求を関連付けます。@test
- テスト ケースとテスト定義を関連付けます。
1 つ以上の要求またはテストを要求ビューからテスト ケース エクスプローラーのテストケースまたはテストスイート、またはその反対にドラッグ&ドロップして、関連付けを行うことができます。テスト ケース コードにアノテーションが自動的に追加されます。
関連はテスト ケース エクスプローラー ビューでテスト ケースの詳細が有効な場合に表示されます ([表示] > [詳細] オプション)。
例:
例 1
次のサンプルでは、要求 1252 に 3 つのテスト定義が含まれています。1258、1259、1260: 対応するテスト ケースがあるのは定義 1260 だけです。
テスト定義 1258 と 1259 をテスト ケース "test_main_4" に関連付けるには、このテスト ケースにアノテーション @test 1258 1259
を付加します。
自動検出モードが有効な場合、ファイルを保存すると要求ビューがリフレッシュされます。自動検出モードが無効な場合、[テスト ケースのスキャン] をクリックします (「既存の関連付けの検出」を参照)。要求ビューにテスト定義 1258 および 1259 とテスト ケース "test_main_4" の関連が表示されます。さらに、要求 1252 を構成するテスト定義がすべて対応するテスト ケースを持っているため、要求から アイコンが削除され、完了としてマークされます。
例 2
次のサンプルでは、要求 102138、102189、102190 が IDE にインポートされています。要求にはテスト定義が含まれていません。
プロジェクトには要求 102189 に直接関連付けることができるテスト ケース "test_main_7" があります。関連付けを行うには、テスト ケースにアノテーション @req 102189
を付加します。
自動検出モードが有効な場合、ファイルを保存すると要求ビューがリフレッシュされます。自動検出モードが無効な場合、[テスト ケースのスキャン] をクリックします (「既存の関連付けの検出」を参照)要求ビューにテスト定義 102189 とテスト ケース "test_main_7" の関連が表示されます。さらに、要求 102189 から アイコンが削除され、完了としてマークされます。
例 3
次の例では、ドラッグ&ドロップ機能を使用して要求テスト 100378 がテスト ケース "test_debit_1" に関連付けられています。コードにアノテーションが追加されます。
DTP での関連付けの参照
Parasoft Traceability Pack extension for DTP を使用すると、トレーサビリティ情報を DTP のウィジェット、レポート、その他の視覚的表現で参照することができます。テストと要求を関連付けた後、テスト スイートを実行します。DTP で C/C++test のテスト ケースのトレーサビリティ情報を表示するための設定については DTP のマニュアルを参照してください。