このセクションでは、Jtest デスクトップ ユーザー向けにテスト影響分析のワークフローを説明します。コマンド ラインからのテスト影響分析の実行については、「Maven を使用したテストと解析」および「Gradle を使用したテストと解析」を参照してください。

このセクションの内容

はじめに

Jtest のテスト影響分析機能は、ローカルでのコードの変更の影響を受けるテスト ケースを自動的に検出することで、テスト作業の効率化を支援します。これにより、変更の影響を受けるテストだけを識別して再実行することができます。

Jtest はカバレッジ データを使用してコード セクションとそのセクションをカバーするテストを関連付けます。そのため、テストを実行する前に、IDE にカバレッジ データがインポートされていることを確認してください。

前提条件

テスト影響分析は、IDE と統合されたバージョン管理システムに格納されたプロジェクトで利用できます。

  • Jtest 10.4 0 以降
  • Eclipse または IntelliJ IDE (サポート対象バージョンは「前提条件」を参照)
  • SVN または Git
  • JUnit 4

カバレッジのインポート

テストを実行する前に、IDE のカバレッジ ビューに変更対象ソース コードに関連するカバレッジデータが表示されていることを確認します。それには、Jtest を単体テストの実行に組み込んで、カバレッジ データを収集して XML ファイルに保存するか、DTP にレポートし、そのデータを IDE にインポートします。

単体テスト スイートを実行するごとにカバレッジ データを収集し、最新のテスト実行のデータをインポートすることで、IDE の情報が最新であることを保証できます。関連付けを更新するには、ファイルまたは DTP から IDE にカバレッジを再インポートします。

最新のテスト実行のカバレッジ データを定期的に再インポートし、関連付けがバージョン管理システム内のソース コードおよびテストと一致するようにします。

ファイルからのインポート

CI サーバーで Jtest と統合されたビルド ツール (Maven、Ant、または Gradle) を使用して単体テストを実行すると、coverage.xml ファイルが生成されます。1 回のテスト実行ですべての単体テストが実行される場合、このファイルからカバレッジ データをインポートできます。

  1. Jtest とビルドシステムを統合します (「ビルド システムとの統合」を参照)。
  2. MavenGradleAnt を使用してカバレッジ データを収集するよう単体テスト実行ジョブを設定します。ジョブを実行すると、サーバー上のジョブの場所にある coverage.xml ファイルに実行されたテストのカバレッジが保存されます。
    (tick)このファイルを容易にダウンロード可能な場所に保存するようジョブを設定します。

  3. [ローカル ファイルまたは UR Lからインポート] オプションを使用してファイルからカバレッジを IDE にインポートします (「カバレッジのインポート」を参照)。ビルド サーバーからファイルをダウンロードしてローカル ファイルのパスを指定することも、ビルド サーバーのファイルが格納されている URL を指定することもできます。

DTP からのインポート

複数のテスト実行からカバレッジを収集したい場合、DTP からカバレッジ データをインポートできます。

  1. DTP への接続を有効化します (「DTP との接続」を参照)。
  2. Jtest と Maven、Ant、または Gradle を統合します (「ビルド システムとの統合」を参照)。
  3. Jtest が DTP にカバレッジ データを送信するよう設定されていることを確認します (「単体テストのカバレッジ」を参照)。
  4. 単体テスト実行ジョブを設定します。ジョブを実行すると、実行されたテストのカバレッジ データが DTP に送信され、以前の実行のデータとマージされます。
  5. [DTP からインポート] オプションを使用してファイルからカバレッジを IDE にインポートします (「カバレッジのインポート」を参照)。

影響を受けるテストのモニターと実行

[影響を受ける単体テスト] ビューで、ローカルでのコード変更の影響を受けるテストをモニターし、再実行できます。このビューを開くには、IDE メニュー バーで [Parasoft] メニューの [ビューの表示] > [影響を受ける単体テスト] をクリックします。

影響を受けるテストのモニター

Jtest はワークスペース内で開かれているすべてのプロジェクトを自動的にモニターします。デフォルトでは、現在のコード変更の影響を受けるテストがリアルタイムでビューに表示されます。テストに影響を受けるコード変更を行うたびに、ビューがリフレッシュされて該当テストを表示します。影響を受けるテストの自動検出をオフにするには、ビューのメニューで [影響を受けるテストを自動検出] オプションをオフにします。

このオプションがオフの場合、[リフレッシュ] ボタンをクリックして手動でビューをリフレッシュする必要があります。

(info) 検出されたテストを右クリックして [移動] をクリックすると、エディターでテスト コードを参照できます。

また、[影響を受けるテスト] ビューには以下も表示されます。

  • 影響を受けるテストを含むプロジェクトの数
  • 影響を受けるテスト メソッドおよびテスト クラスの合計
  • テストの現在のステータス (成功/失敗/未実行)

影響を受けるテストの実行

ビューに表示されているすべての影響を受けるテストを実行するには、ビューのメニューの [すべてのテストを実行] ボタンをクリックします。

影響を受けるテストの一部を実行するには、解析するプロジェクト、パッケージ、クラス、および/またはメソッドのノードを選択し、ビュー メニューの [選択されたテストの実行] をクリックします。

または、選択対象を右クリックして [選択されたテストの実行] をクリックすることもできます。

カバレッジ情報の更新

[影響を受ける単体テスト] ビューから実行したテストは、カバレッジ データを更新しません。更新されたカバレッジ結果を参照するには、単体テスト アシスタント ビューから、または Jtest テスト コンフィギュレーションを使用してテストを実行します (「JUnit テストの実行とカバレッジの収集」を参照)。

(info) リソースを解析している間、Jtest は影響を受けるテストの情報を保存し、選択されたテスト メソッドを実行するために、プロジェクトのデフォルト パッケージに 2 つの .java クラスを作成します。これらのファイルをソース管理システムにコミットしないでください。利便性のため、これらのファイルを .gitignore ファイル (Git の場合) に追加するか、すべてのプロジェクトで svn:ignore プロパティを設定する (SVN の場合) ことを検討するとよいでしょう。

  • No labels