テストフレームワークでの自動テスト実行のトリガー

このトピックでは、ALM Octaneをテストフレームワークと統合する方法について説明します。次に、ALM Octaneのテストフレームワークから自動テストを選択し、テストスイートのコンテキストで実行できます。

テストフレームワーク統合の概要

この統合により、ALM Octaneは、CIサーバーを介してテストフレームワークでテストを実行できます。

これは、多くのシナリオで役立ちます。たとえば、CIサーバーが自動化された夜間テストを実行し、ALM Octaneパイプラインが特定のテストが失敗したことを示しているとします。修正をプッシュした後、時間がかかる可能性のある完全なパイプラインを実行するのではなく、ALM Octaneから直接特定のテストを実行できます。

ALM Octane-テストフレームワークの統合には、次の手順が含まれます。

  1. CIサーバーでジョブを作成。統合をセットアップするには、CIサーバーでジョブを作成して、テストフレームワークでテストを実行します。

  2. ALM Octaneでテストランナーを作成。ALM Octane設定で、CIサーバー上のこのジョブに対応するテストランナーエンティティを作成します。

  3. テストの実行。ALM Octaneで、テストフレームワークで実行するテストを含むテストスイートを作成し、スイートを実行します。ALM Octaneは、CIサーバーのジョブを介してテストの実行をトリガーします。

  4. リリースおよびプロダクトの品質の分析: バックログ、品質、およびダッシュボードの各モジュールで、全体データの一部としてのテスト結果を追跡します。

トップに戻る

前提条件

  1. CIサーバーをALM Octaneに接続する必要があります。詳細については、CIサーバーのセットアップを参照してください。

  2. ALM Octane内に、CIサーバーを介してテストフレームワークからテストを注入するパイプラインを作成します。詳細については、パイプラインの作成と設定を参照してください。

  3. すぐに使用できるこの統合は、Maven、Protractor、GradleでのJUnitやTestNGテストなどのさまざまなフレームワークをサポートします。すぐに使用できるオプションの完全なリストは、プラグインのドキュメントに記載されています。

    Jenkinsプラグインバージョン5.9以降を使用すると、以下で説明するように、カスタムオプションを使用して、追加のフレームワークで自動実行をトリガーできます。

    テストフレームワークまたはCIサーバーを追加するには、ALM Octaneサポートにお問い合わせください。

トップに戻る

ステップ1: CIサーバーでジョブを作成して、テストフレームワークでテストを実行します

  1. CIサーバーで、テストフレームワークで特定のテストを実行するジョブを作成します。

  2. フレームワークでテストを実行するコマンドに加えて、このジョブにはtestsToRunパラメーターが含まれている必要があります。testsToRunパラメーターは、ジョブが実行されるALM Octaneからテストのリストを受け取ります。

    testsToRunには、各テストの次のテストの詳細が含まれています。

    • パッケージ

    • クラス名

    • テスト名

    • 実行ID

    • 外部テストID (オプション)

    • テスト実行パラメーターフィールドからのカスタムパラメーター

    testsToRun値には、テキストとJSONの2つの形式があります。

  3. (オプション)testToRunパラメーターに加えて、ジョブはALM Octaneから追加のパラメーターを受け取ることができます。希望する名前のパラメーターをジョブに追加します。可能な値:

    • suiteId

    • suiteRunId

    • octaneWorkspaceId

    • octaneSpaceId

    • octaneEnvironment

      注: このパラメーターは、特定のテストランナーに関連するすべての実行が同じ環境定義を共有している場合にのみ受信されます。

  4. 最後のステップで、testToRunの生データを関連するフレームワーク形式に変換します。

トップに戻る

testsToRunConvertedの使用例

トップに戻る

ステップ2: ALM Octaneでテストランナーを作成します

  1. ALM Octaneで、[設定] > [スペース] をクリックしてワークスペースを選択します。

  2. [DevOps] > [テストランナー] タブを選択します。

  3. +テストランナーをクリックします。

  4. JUnit Runnerなど、テストランナーの名前を定義します。

  5. JUnitなどのテストフレームワークを選択します。

  6. CIサーバーを選択します。

  7. CIサーバーで作成したジョブを選択して、テストフレームワークでテストを実行します。リストには、testsToRunパラメーターを持つジョブが表示されます。

  8. [保存] をクリックします。ALM Octaneは、テストを実行するジョブをトリガーするテストランナーを作成します。

上記の手順を繰り返して、追加のテストランナーを作成します。

注: 各ジョブは、1人のテストランナーにのみ使用できます。

トップに戻る

ステップ3: ALM Octaneからテストを実行します

品質モジュールのテストにテストランナーを割り当てます。次に、テストをテストスイートに追加し、ALM Octaneから実行できます。

ALM Octaneは、テストランナーで指定されたCIサーバーのジョブを介してテスト実行をトリガーします。スイートにテストを追加した後、スイートでのテスト用に別のテストランナーを選択できます。さらに、スイートを計画した後、テスト実行用に別のテストランナーを選択できます。

スイートには、複数のテストランナーを使用した自動テストを含めることができます。スイートに手動テストと自動テストの両方が含まれている場合、手動テストの実行中に自動テストがバックグラウンドで実行されます。

テストを実行すると、テストランナーがCIサーバーでテストの実行を開始するまで、ALM Octaneでのステータスは計画済みになります。テスト結果がALM Octaneに返されるまで、テストのステータスは進行中に変わります。

トップに戻る

テストランナーの管理

テストをテストランナーに関連付けた後、後の段階で変更を加えることができます。

たとえば、CIサーバーまたはテストランナーの関連ジョブを削除し、テストとテストランナーの間の関連付けを維持したいとします。この場合、DevOps > テストランナー内でテストランナーを編集し、このテストランナーに関連付けられたテストに別のCIサーバーまたはジョブを指定します。

同様に、ALM OctaneでCIサーバーを削除しても、このCIサーバーに関連付けられているテストランナーは削除されず、そのテストはテストランナーに関連付けられたままになります。ただし、テストランナーに関連付けられているテストを実行することはできません。

トップに戻る

テストランナージョブでのパラメーターセットの使用

CIサーバージョブがパラメーター化されている場合は、テストランナーを使用してテストを実行するときに使用できるさまざまなパラメーター値のセットを定義できます。各テストランナーは、パラメーター値の複数のセットを持つことができます。

たとえば、あるデプロイ済み環境で1つのテストスイートを実行し、別の環境で別のテストスイートを実行するとします。標準設定のURLとポートを使用して1つのパラメーターセット (セット1) を作成し、別のURLとポートを使用して別のパラメーターセット (セット2) を作成できます。その後、異なる設定を使用して同じスイートを数回実行できます。

テストランナーでパラメーターを設定するには:

  1. テストランナーを作成するときは、テストを実行するジョブを選択します。このジョブがパラメーター化されている場合、CIサーバーで設定されたパラメーターとその標準設定値を示す表が表示されます。

  2. カラム見出しにカラムを追加して、パラメーター値の追加セットを定義します。

  3. 必要に応じて、各カラム見出しの名前を変更できます。

  4. 必要に応じて、パラメーターの各セットのパラメーター値を編集できます。

  5. カラムを削除するか、標準設定値に戻すには、カラムの右上隅にある関連するメニュー項目を選択します。

  6. [保存] をクリックします。

注:

  • ALM Octaneは現在、ブール値と文字列のパラメーターのみをサポートしています。パラメーターに値が含まれていないか、値が正しくない場合 (たとえば、パラメーターがブール値であるが、入力された値が文字列である場合)、テスト実行中にスキップされます。

  • UFT Oneテストランナーのパラメーターはサポートされていません。

テストの実行時にパラメーターを選択するには:

テストが計画状態のときにスイート実行を実行するためのパラメーターセットを定義します。特定のランナーを使用するすべてのテストは、選択したパラメーター値を使用して実行されます。

  1. 自動テストを備えたテストスイートで、スイート計画 > スイート実行 > 実行を選択します。

  2. テストランナータブで、テストランナーの [設定] アイコンを選択します。

  3. このテストランナー用に定義されているパラメーターセットのドロップダウンリストから、テスト実行で使用するセットを選択します。

    テストランナーのパラメーターフィールドを実行グリッドに追加して、このスイートの実行用に選択されたパラメーターセットを確認できます。

  4. テストスイートを実行します。

    テストスイートは、選択した1つ以上のパラメーター値のセットを使用して実行されます。

トップに戻る

テストを実行するときにカスタム実行パラメーターを使用する

テストフレームワークを使用してスイートの実行を計画する場合、テストツールで使用されるカスタムパラメーターのセットを1つ以上指定できます。

カスタム実行パラメーターは、Jenkinsプラグインバージョン6.3以降でサポートされています。

カスタム実行パラメーターを定義するには:

  1. テストスイートの計画タブで、テスト実行パラメーターフィールドを追加します。

  2. <key>=<value>の形式を使用して1つ以上の項目を入力します

  3. セミコロン (;) または改行を使用して、パラメーターを区切ります。

  4. UFT Oneテスト (Jenkinsプラグイン6.5以降を使用) のパラメーターを定義するには、<key>= (<type-optional>)<value>の形式を使用します。タイプはオプションのフィールドです。サポートされているタイプは、String、Number、Boolean、Date、Anyです。

このフィールドの値は、パラメーターを抽出するために解析されます。有効な値は、テスト実行のために、testsToRunパラメーターでCIサーバージョブに渡されます。

UFT Oneテストのパラメーターの反復を定義するには:

この機能は、UFT Oneの反復モデルを使用します。詳細については、IterationModeプロパティを参照してください。

次の手順は、UFT Oneテストのデータテーブルにいくつかのパラメーターセットがすでに定義されていることを前提としています。

  1. テストスイートの計画タブで、テスト実行パラメーターフィールドを追加します。

  2. UFTOneテストのテスト実行パラメーターに次のいずれかを入力します。

    • 反復の範囲を実行するには、次のように入力します:iterations=rngIterations,<start of range>,<end of range>

      たとえば、反復1~5を実行するには、iterations=rngIterations,1,5と入力します。

    • すべての反復を実行するには、次のように入力します。iterations=rngAll;

    • 最初の反復のみを実行するには (標準設定)、次のように入力します。iterations=oneIteration

トップに戻る

スイートの実行で自動テストを停止する

注: このフィーチャーは現在、JenkinsとBambooのテストランナーでサポートされています。

自動テストを使用してテストスイートを実行している場合は、スイートが完了する前にテストスイートを停止できます。

トップに戻る

自動テストの再実行

自動実行でテストスイートを実行し、それを再度実行したい場合 (たとえば、テストが失敗した場合) 、新しいスイート実行を作成せずに再実行できます。

注: 再実行は、前の実行が終了した後にのみ可能です。

トップに戻る

テストランナーごとの自動テストを管理する

右側のペインのテストランナータブを使用して、特定のテストランナーテストの実行を個別に管理できます。

テストランナータブから、個々のテストランナーに対して次の操作を実行できます。

  • 実行。選択したテストランナーに関連付けられているテストの初期実行を実行します。
  • 再実行。選択したテストランナーに関連付けられているテストの自動実行を再実行します。
  • 停止。現在実行中または実行キューにある自動実行を中止します。

次の表に、各操作が適用されるテストのステータスを示します。

操作 テストステータス
実行 計画済み
停止 初期化
停止 ランニング
再実行 完了
再実行 中止
再実行 失敗

注: 右側のペインでテストランナーをクリックすると、 Octaneは、そのテストランナーについて、左側のペインにリストされている実行を自動的にフィルタリングします。

トップに戻る

Cucumber-JVM over Mavenを使用してGherkinテストを実行します

Cucumber-JVM over Mavenを使用して、JenkinsでGherkinテストを実行できます。Gherkinテストを実行すると、すべてのシナリオを含む完全なフィーチャーファイルが実行されます。

これは、Jenkinsプラグインバージョン6.2以降でサポートされています。

前提条件: テストランナーメカニズムを使用してJenkinsでGherkinテストを実行できるようにするには、最初にGherkinテストを自動化し、パイプラインから実行する必要があります。詳細については、自動化のためのGherkinテストの準備を参照してください。

Cucumberのテストランナーを作成するには:

  1. 上記のように、Jenkinsでジョブを作成し、ALM OctaneでCucumberテストランナーを設定します。

  2. Gherkinスイートを作成します。

    パイプラインからのテスト、およびOctaneで作成したテストを含めることができます。

    注意: テストを手動で実行し、テストランナーを使用して自動化すると、過去の実行カラムの手動実行の履歴が上書きされます。自動実行の履歴に置き換えられます。

  3. テストランナーカラムで、作成したテストランナーを選択します。

  4. 実行モードカラムで、各テストを手動で実行するか自動で実行するかを指定します。標準設定は、通常の手動テストと同様に手動です。自動テストはテストランナーを使用します。

    このカラムは、他のタイプのテストには関係ありません。

  5. スイートを実行します。

    スイート実行 > 実行タブの右側のペインには、自動テストを実行しているテストランナーの詳細が表示されます。

  6. 自動として定義していないテストを手動で実行します。

    ヒント: 手動テストを作成し、コードをコピーしてIDEで実行した場合、このテストフレームワークを使用して、ALM Octaneからテストを実行できます。

トップに戻る

JBehaveを使用したGherkinテストの実行

テストフレームワークを使用してALM OctaneからJBehaveテストを実行するには、エンベッダーが実行するフィーチャーファイルを示すパラメーターを受信できる必要があります。

  1. プロジェクトのoctane-jbehave-gherkin-reporterの設定の説明に従って、OctaneGherkinReporterをレポーターとして実行中の設定に追加します。

  2. エンベッダーで、次のようにstoryPathsをオーバーライドします。

  3.     @Override
        protected List<String> storyPaths() {
            String include = "**/*.feature";
            String featuresProperty = System.getProperty("features"); // -Dfeatures
            if (featuresProperty != null) {
                include = featuresProperty;
            }
            return new StoryFinder().findPaths(
                codeLocationFromClass(embeddableClass),include,"");
            }
  4. 上記のセクションCucumber-JVM over Mavenを使用してGherkinテストを実行するで、テストランナーメカニズムを実装します。

    JBehaveテストランナーを使用してテストを実行します。Jenkinsテストランナー構文の例については、testsToRunConvertedの使用例を参照してください。

トップに戻る

Gherkinテスト結果をTeam Cityに公開する

Team CityでGherkinテスト結果を公開するには、次の手順を実行します。

  1. プロジェクト設定で、Gherkin結果へのアーティファクトパスを定義します。次に例を示します。

    gherkin-results/*_OctaneGherkinResults.xml=>gherkin

    上記の例では、Team Cityはアーティファクトディレクトリにgherkinフォルダーを作成し、パターンgherkin-results/*_OctaneGherkinResults.xmlに一致するすべてのファイルをそのフォルダーに移動します。

  2. 手順1で使用したフォルダーの値 (この場合はgherkin) を使用して、構成パラメーターgherkin_artifact_folder_for_octaneを追加します。

  3. テストランナーでは、以下を使用します。

    • Mavenコマンド: clean test "-Dcucumber.options=%testsToRun%"

    • Parameter: Testing_framework : cucumber_jvm

トップに戻る

次のステップ