テストを Azure DevOps でパイプライン・ジョブとして実行

テスト資産を Azure DevOps からパイプライン・ジョブとして実行すると、テスト中のアプリケーションのパフォーマンスをテストできます。

  • Azure DevOps の実務経験が必要です

  • 以下のタスクを完了しておく必要があります。

    • Azure DevOps ポータルへのアクセス権がある。

    • Azure DevOps で 「Organization」 を作成してある。

    • プロジェクトのリポジトリーを Azure DevOps で作成して構成してある。

    • Azure DevOps パイプライン・エージェントを開始してある。

    • Test Performance をクローズしてある。

    • オプション: テスト実行の結果を「Test Plans」ダッシュボードに表示する場合、テスト・ケースを Azure DevOps でテスト計画の下に作成します。

    • オプション: 個人用アクセス・トークン (PAT) で使用する暗号化された 秘密鍵と環境変数を作成してある (暗号化 PAT を使用する場合)。

Azure DevOps からテストを実行するには、選択したタスクの 特定のフィールドに値を提供する必要があります。 「表示名」と一緒に構成する必要がある最小フィールドは、「ワークスペース・ロケーション」「プロジェクト名」、および「テスト・スイート名」または「Configfile」です。 それ以外のフィールドはオプションです。

例えば、test または schedule の実行のためのパラメーターが入っている構成ファイルの完全パスを「構成ファイル」フィールドに指定する場合、「ワークスペース・ロケーション」フィールド、「プロジェクト名」フィールド、「テスト・スイート名」フィールドに値を指定する必要はありません。

Azure DevOps プロジェクトでテスト計画をテスト計画の下に作成した場合、テスト実行の結果を「Test Plan」ダッシュボードに表示できるよう、ジョブをパイプラインで構成するときに、詳細を「Azure DevOps URL」フィールド、「Test Plan Name」フィールド、「Test Case Name」フィールド、および「Azure DevOps PAT」フィールドに指定することができます。

  1. まだログインしていない場合は、Azure DevOps ポータルにログインします。
  2. 「Organization」ページを開いて、テストを実行するために使用するプロジェクトを選択します。
  3. 新規プロジェクトを作成済みの場合、以下のステップでリポジトリーを初期化してください。
    1. 左側で「Repos」をクリックします。
    2. 「Add a README」チェック・ボックスを選択します (選択されていない場合)。
    3. 「Initialize <branch_name> with a README or gitignore」セクションで「Initialize」をクリックします。
  4. 左ペインで「Pipelines」をクリックし、さらに「Create Pipeline」をクリックします。
    Note:
    プロジェクトにパイプラインが既に含まれている場合、「New Pipeline」をクリックして別のプラグインを作成できます。
  5. YAML を使用せずにパイプラインを作成する場合は、「クラシック・エディターの使用 (Use the classic editor)」をクリックします。
  6. 「Team project」フィールド、「Repository」フィールド、および「Default branch for manual and scheduled builds」フィールドの値を確認し、「Continue」をクリックします。
  7. 「Empty job」をクリックし、タスクをパイプラインに追加します。
    Note:
    「Name」フィールド、「Agent pool」フィールド、および「Agent Specification」フィールドの値が自動的に取り込まれます。 フィールドの値は必要に応じて変更できます。
  8. 以下の手順に従って、タスクを「Agent job」に追加してください。
    1. 「Add a task to Agent job」アイコン Azure DevOps パイプラインの「Add Task」アイコン をクリックします。
      「タスクの追加 (Add tasks)」ペインが表示されます。
    2. DevOps Test Workbench拡張機能に定義されているIBMタスクを検索します。
      選択できるタスクが表示されます。
    3. DevOps Test Performanceタスク・オプションを選択し、「追加」をクリックします。

      選択されたタスクがエージェント・ジョブに追加され、一部の設定に注意が必要という警告とともに表示されます。 テスト実行に 関する詳細を構成すると、警告は表示されなくなります。

      リストからタスクを選択して、ジョブ内の必要のないタスクを削除することも可能です。 タスクを右クリックし、「選択したタスクの削除 (Remove selected task(s))」)をクリックして削除します。

  9. 次の表を参照して、DevOps Test Performanceタスクを構成し、テスト実行に関する詳細を指定します。

    以下の表は、Azure DevOps パイプラインからテストを実行するために 指定する必要がある必須フィールドの一覧です。

    フィールド 説明
    Configfile

    testまたはscheduleの実行のパラメーターを含むファイルの完全パスを入力します。

    例: C:\Users\IBM\devopstest\workspace\Project1\config.txt

    Remember:
    「構成ファイル」フィールドに構成ファイルの完全パスを指定すると、「ワークスペース」フィールド、「プロジェクト」フィールド、「テスト・スイート名」フィールドに 値を指定する必要はありません。
    表示名

    タスクの名前を入力します。

    例: testrun1

    IMSharedパス

    IMShared ディレクトリーへの完全パス (これがデフォルトの場所にない場合)。

    例: D:¥Testtool¥IBM¥IBMIMShared

    IMShared ディレクトリーのデフォルトの場所は、以下のとおりです。
    オペレーティング・システム ディレクトリーのデフォルト・パス
    Windows® C:\Program Files\IBM\IBMIMShared
    Linux™ /opt/IBM/IBMIMShared
    Mac /Application/IBM/IBMIMShared
    プロジェクト名

    パフォーマンス・テスト資産を含むプロジェクトの名前を入力します。

    例: testproj1

    テスト・スイート名

    プロジェクトに関連するパフォーマンス・テスト資産のファイル名を入力します。

    例: test1.testsuite

    ワークスペース・ロケーション

    Eclipse ワークスペースの完全パスを入力します。

    例: C:/Users/IBM/devopstest/workspace1

    次の表は、テストを Azure DevOps パイプラインで実行するために指定できるオプション・フィールドのリストです。

    フィールド 説明
    Azure DevOps PAT

    このフィールドを使用して、テスト・プロジェクトがホストされる Azure サーバーの Personal Access Token を入力します。

    また、Azure DevOps で作成した暗号化済み PAT に対する変数を入力することもできます。 このトークンには読み取り権限と書き込み権限が必要です。

    Azure DevOps PAT は以下のフィールドで使用してください。
    • Azure DevOpsプロジェクトURL
    • テスト計画名
    • テスト・ケース名
    Azure DevOpsプロジェクトURL このフィールドを使用して、Azure サーバー内のテスト・プロジェクトの URL を 次の形式で入力します。

    https://<host>/<orgname>/<projectName>

    Note:
    Azure プロジェクトでテスト・ケースを「Test Plans」の下に作成し、テスト結果を「Test Plans」ダッシュボードに表示する場合、Azure DevOps の URL を入力する必要があります。
    Azure DevOps Project URL は以下のフィールドで使用してください。
    • Azure DevOps PAT
    • テスト計画名
    • テスト・ケース名
    データ・セット・オーバーライド

    このフィールドを使用して、testまたはscheduleの実行中にデータ・セット値を置き換えます。

    元のデータ・セットおよび新規のデータ・セットが同じ ワークスペース内に存在し、列名が同じであることを確認する必要があります。 「データ・セット・オーバーライド」フィールドに値を入力する場合、 データ・セットへのパスも含めてください。 「データ・セット・オーバーライド」 の値は、以下のフォーマットで指定してください。

    /project_name/ds_path/original_ds.csv:/project_name/ds_path/new_ds.csv

    例: /proj1/Datasets/ds1.csv:/proj1023/Datasets/new_ds1.csv

    データ・セットの複数のパスをセミコロンで区切って追加することによって、異なるプロジェクトに保管されている複数のデータ・セットをオーバーライドできます。 testまたはscheduleの場合、デフォルト値は、テスト・エディターまたはスケジュール・エディターで指定されたデータ・セットです。

    期間

    レート・スケジュールのステージの期間を変更するには、このフィールドを使用します。

    例: Stage1=10s, Stage2=3m

    レート・スケジュールに存在するステージ番号を指定する必要があります。

    Note:
    「期間」 フィールドは、 レート・スケジュールの新規コピーを作成します。このコピーには、指定された 数の期間が含まれています。
    Exportlog

    このフィールドを使用して、エクスポートされた HTTP テスト・ログを保管するための ファイル・ディレクトリー・パスを.txt フォーマットで指定できます。

    例: C:/Users/Documents/tests/logexp.txt

    Exportstatreportlist

    デフォルトのレポートの代わりにエクスポートするレポートの ID を指定するには、 このフィールドを使用します。

    複数のレポート ID はコンマで区切って指定できます。 Test Performance (「ウィンドウ」 > 「設定」 > 「テスト」 > 「パフォーマンス・テスト・レポート」 > 「レポートのエクスポート」) の設定に移動し、「レポート ID の表示」チェックボックスをオンにすると、レポート ID を表示できます。

    「Exportstatreportlist」フィールドは、「Exportstats」フィールドまたは「Exportstatshtml」フィールドと一緒に使用する必要があります。

    例えば、http「Exportstatreportlist」フィールドの値として指定して、パフォーマンス・レポートをエクスポートできます。

    Exportstats

    コンマ区切り値 (CSV) フォーマットでエクスポートされたレポートを保管するために 使用できるディレクトリーへの完全パスを指定するには、このフィールドを使用します。

    例: C:/Users/Documents/tests

    Note:
    「Exportstatreportlist」フィールドに値を指定しないと、Test Performance の設定 (「ウィンドウ」 > 「設定」 > 「テスト」 > 「パフォーマンス・テスト・レポート (Performance Test Reports)」 > 「レポートのエクスポート (Export Reports)」) で選択したレポートがエクスポートされます。
    Exportstatsformat

    このフィールドを使用して、エクスポートするレポートの形式を指定できます。

    Exportstats フィールドとともに、以下のオプションを 1 つ以上使用する必要があります。
    • simple.csv

    • full.csv

    • simple.json

    • full.json

    • csv

    • json

    例: json

    コンマで区切って複数のレポート形式を追加 することができます。 json または csv フォーマットでレポートの シンプル・タイプとフル・タイプの両方をエクスポートする場合、フィールドには フォーマットとして json または csv を 指定できます。

    レポートは、「Exportstats」 フィールドで指定された場所に保存されます。

    Note:
    「Exportstatsformat」フィールドに指定された値は常に、製品設定に設定された「レポートのエクスポート」 オプション(「ウィンドウ」 > 「設定」 > 「テスト」 > 「パフォーマンス・テスト・レポート」 > 「レポートのエクスポート」)より優先されます。
    Exportstatshtml

    Web 分析結果のエクスポート先として使用できるディレクトリーへの完全パスを 指定するには、このフィールドを使用します。

    結果は指定したディレクトリーにエクスポートされます。 Test Performance を使用せずに、Web ブラウザーで結果を分析できます。

    例: C:/Users/Documents/Reports

    履歴

    テストまたはスケジュールの実行中に発生したすべてのイベントの記録を表示する場合、 このフィールドを使用します。

    以下のいずれかのオプションを使用できます。
    • jaeger: testまたはscheduleの実行中に、Jaeger UIにテスト・ログを送信します。
      Note:
      jaeger オプションを使用してテスト・ログを Jaeger UI に送信する前に、 コマンド・ラインを使用して環境変数として JAEGER_AGENT_HOST プロパティーを設定する必要があります。
    • testlog: testまたはscheduleの実行中に、テスト・ログを従来のテスト・ログとしてTest Performanceで送信します。

    • null: testまたはscheduleの実行中にテスト・ログをJaeger UIにもTest Performanceにも送信しません。

    例: jaeger

    複数のオプションをコンマで区切って追加して、test または schedule の実行中にテスト・ログを Test Performance と Jaeger UI の両方に送信することができます。

    例: jaeger,testlog

    Jaeger UI および Test Performance での テスト・ログの表示方法について詳しくは、関連情報セクションを参照してください。

    ラベル

    このフィールドを使用して、テスト実行の完了時にラベルをテスト結果に追加します。

    例えば、label1 label2 などです

    複数のラベルをコンマで区切ってテスト結果に追加することができます。 テスト資産を実行すると、追加したラベルが Test Performance のパフォーマンス・レポートに表示されます。

    Test Hub「結果」ページに、以下の条件で特定テスト資産について「ラベル」フィールドで追加したラベルが表示されます。
    • Test Performanceの設定(「ウィンドウ」 > 「設定」 > 「テスト」 > DevOps Test Hub)で、「実行後に結果を公開」「常時」または「プロンプト」に設定した場合。

    • 「Labels」フィールドを「Publish」フィールドと一緒に使用する場合。

    Note:
    「Labels」フィールドで二重引用符 ("") を使用してテストを実行しても、テスト結果のラベルには二重引用符が入りません。

    例えば、「ラベル」 フィールドに"100" usersという値を指定すると、テスト結果のラベルは100 usersと表示されます。

    この問題を回避するには、コマンド・ライン構成ファイルを作成し、configfile フィールドを使用してテストを実行する必要があります。

    上書き

    同じ名前の結果ファイルを上書きするかどうかを決定するには、 このフィールドを使用します。

    デフォルト値は falseです。 値が true の場合は、ファイルが上書きされ、 同じファイル名が維持されます。

    公開

    このフィールドは、Azure DevOps からTest Hub にテスト結果を公開するために使用します。

    Remember:
    「公開」フィールドを使用する前に、以下のいずれかの方法で Test Hub のオフライン・ ユーザー・トークンを指定してください。
    • コマンド・ライン・インターフェースを使用して、RTCP_OFFLINE_TOKENの環境変数の値を、Test Hubのオフライン・ユーザー・トークンに設定します。

    • Test Hubのオフライン・ユーザー・トークンを、Test Performance (「ウィンドウ」 > 「設定」 > 「テスト」 > DevOps Test Hub)の設定で指定します

    以下のいずれかの値を、 「公開」フィールドに使用してください。
    • serverURL#project.name=name_of_the_project&teamspace.name=name_of_the _teamspace

    • serverURL#project.name=name_of_the_project&teamspace.alias=name_of_the _teamspace_alias

    • no

      no オプションは、結果を公開するように製品設定で指定されているが、公開したくない場合に役立ちます。

    Note:

    「公開」フィールドに値を指定するときに二重引用符 ("") を含めてはなりません。

    例: URL_OF_ Test Hub#project.name=test&teamspace.name=ts1

    各項目の意味は次のとおりです。
    • URL_OF_Test Hubは、Test HubのURLです。

    • testTest Hub にプロジェクトの名前です。

    • ts1 はチーム・スペースの名前です。

    ノート:
    • 異なるチーム・スペースに同じ名前のプロジェクトがある場合は、&teamspace.name=name_of_the _teamspaceオプションまたは&teamspace.alias=name_of_the_teamspace_aliasオプションのどちらかを追加する必要があります。

    • プロジェクトまたはチーム・スペースの名前に特殊文字が含まれている場合は、それを%<Hexvalue_of_special_character>で置き換える必要があります。

      例えば、チーム・スペースの名前が Initial Team Space のときは、Intial%20Team%20Space と指定します。

      ここで %20 は、Space 文字の16進値です。

    • 「公開」フィールドに指定される値は、製品の設定(「ウィンドウ」 > 「設定」 > 「テスト」 > DevOps Test Hub > 「結果」)に設定される「結果」オプションよりも常に優先されます。

    DevOps Test Performanceタスク・ペインの「レポート情報」セクションには、レポートの名前と、その対応する URL が以下の条件で表示されます。
    • Test HubのURLをTest Performanceの設定(「ウィンドウ」 > 「設定」 > 「テスト」 > DevOps Test Hub)で構成した場合。
    • Test Performanceの設定(「ウィンドウ」 > 「設定」 > 「テスト」 > DevOps Test Hub > 「結果」)で、「実行後に結果を公開」「常時」または「プロンプト」に設定した場合。
    • Publish」フィールドまたは「Publish」フィールドを「Publishreports」フィールドと一緒に使用した場合。
    Publish_for

    このフィールドを使用して、テストの完了状況に基づいてテスト結果を Azure DevOps から Test Hub に公開することができます。

    「Publish_for」 フィールドは、 「公開」フィールドと併用してください。 複数のオプションは コンマで区切って追加できます。 「Publish_for」フィールドに 使用できるオプションは以下の通りです。
    • ALL: このオプションは、テストのステータスに関係なく使用できます。

    • PASS: このオプションを使用して、合格したテストのテスト結果を公開することができます。

    • FAIL: このオプションを使用して、不合格になったテストのテスト結果を公開することができます。

    • ERROR: このオプションを使用して、エラーを含んでいたテストのテスト結果を公開することができます。

    • INCONCLUSIVE: このオプションを使用して、解決不能のテストのテスト結果を公開することができます。

    サンプル: FAIL,ERROR

    Publishreports

    このフィールドを使用して、Test Hub> に特定の テスト結果を公開することができます。

    「Publishreports」で使用できるオプションは、以下のとおりです。
    • STATS

    • TESTLOG

    例: STATS

    「Publishreports」フィールドは、「公開」フィールドと一緒に使用する必要があります。 Publishreports値の先頭に!を付けると、 指定されたものを除くレポートを公開できます。

    例: !STATS

    レート

    このフィールドを使用して、レート・ランナー・グループのレートを変更します。

    例: Rate Runner Group1=1/s, 3/m

    ここで Rate Runner Group1 は、2 つのステージを持つレート・ランナー・グループの名前です。 最初のステージで必要なレートは 毎秒 1 回の反復で、2 番目のステージのレートは毎秒 3 回の反復です。
    ノート:
    • レート・ランナー・グループの名前は、レート・スケジュールでの名前に一致している必要があります。
    • 「レート」フィールドは、指定された数のレートを含むレート・スケジュールの新しいコピーを作成します。
    リソース・モニター・ラベルのオーバーライド
    以下のいずれかのアクションを実行するには、このフィールドを使用します。
    • Test Performanceのスケジュール・エディターで 「サービスからのリソース・モニター」オプションが有効になっていない場合は、パフォーマンスschedule「サービスからのリソース・モニター」オプションを有効にします。

    • パフォーマンス・スケジュールで設定されたリソース・モニター・ソースを無視し、ラベル・マッチング・モード用に変更します。

    • パフォーマンス・スケジュールで設定された既存のリソース・モニター・ラベル・セットを置き換え、新しいリソース・モニター・ラベル・セットを使用してスケジュールを実行します。

    Test Hub でリソース・モニター・ソースを示す rm1 というラベルを追加した場合、次の例に示されているように値を指定し、データをソースから収集できます。

    rm1

    リソース・モニターのラベルにコンマ (,) が含まれている場合、値を指定するときに、1 つのコンマを 2 つのコンマで置き換える必要があります。 例えば、リソース・モニター・ソースに rm1,test というラベルを追加した場合、次の例に示されているように値を指定し、データをソースから収集する必要があります。

    rm1,,test

    ノート:
    • このフィールドはレートまたは VU スケジュールを実行する場合にだけ使用してください。

    • コンマで区切って複数のリソース・モニター・ラベルを追加できます。

    • Test Hubプロジェクトの「リソース・モニター」ページで、リソース・モニター・ソースに リソース・モニター・ラベルを追加する必要があります。

    結果

    結果ファイルに別の名前を指定するには、このフィールドを使用します。

    結果ファイルは結果ディレクトリーに保管されます。 結果ファイルのデフォルト名は、タイム・スタンプが付加されたtestまたはschedule の名前です。

    テスト・ケース名 このフィールドを使用して、Azure サーバー内のテスト・ケースの名前を 以下の形式で入力します。
    「Test Case Name」は、以下のフィールドと一緒に使用する必要があります。
    • Azure DevOpsプロジェクトURL
    • Azure DevOps PAT
    • テスト計画名
    テスト計画名 このフィールドを使用して、Azure サーバー内のテスト・ケースに 関連するテスト計画の名前を入力します。
    「Test Plan Name」は、以下のフィールドと一緒に使用する必要があります。
    • Azure DevOpsプロジェクトURL
    • Azure DevOps PAT
    • テスト・ケース名
    Usercomments

    レポートのユーザー・コメント行に表示するテキストを追加するには、このフィールドを使用します。

    例: test run with dataset

    Note:
    「Usercomments」フィールドで二重引用符 ("") を使用してテストを実行しても、レポートのユーザー・コメント行には二重引用符が入りません。

    例えば、「Usercomments」フィールドにtest run with "dataset"という値を指定すると、レポートのユーザー・コメント行にtest run with datasetという値が表示されます。

    この問題を回避するには、コマンド・ライン構成ファイルを作成し、configfile フィールドを使用してテストを実行する必要があります。

    ユーザー

    test または schedule の 実行でのデフォルトの仮想ユーザー数をオーバーライドするには、 このフィールドを使用します。

    schedule, の場合、デフォルトはスケジュール・エディターで指定されたユーザーの数であり、test の場合、デフォルトは 1 人のユーザーです。

    Note:
    「Users」フィールドでは、指定した数のユーザーを含む schedule の新しいコピーが作成されます。
    Var ファイル

    変数の名前と値のペアが含まれている XML ファイルの絶対パスを指定するには、このフィールドを使用します。

    VM 引数

    このフィールドを使用して、Java プロセスの最大ヒープ・サイズを指定します。

    複数の VM 引数はコンマで区切って追加できます。

    テストまたはそのテストに含まれるいずれかのテストが失敗した場合、そのジョブを失敗とする

    テストまたはそのテスト内のいずれかの子テストが失敗した場合に、ジョブに失敗としてマークを付けるかどうかを示すフラグ。

    チェック・ボックスを選択します。

    Note:
    「Control Options」セクションおよび「Output Variables」セクションのフィールドは、テスト実行を構成するために使用できる Azure DevOps から取り込まれます。 デフォルト値を受け入れるか、または要件に基づいて値を変更することができます。

    「Control Options」および「Output Variables」について詳しくは、『関連情報』セクションを参照してください。

  10. 要件に基づいて、以下のステップのいずれかを実行します。
    1. 「Save & queue」をクリックし、構成を保存してパイプラインでのテスト実行をキューに入れます。
      「パイプラインの実行 (Run pipeline)」ダイアログが表示されます。
    2. 「Save」をクリックし、コメントを入力してタスクの構成済みの設定を保存します。
      タスクが実行のためのキューに入れられることはありません。 タスクを保存すればジョブを後で実行できます。 これで、「Queue」をクリックすると、ジョブをいつでも実行できます。
  11. テストを実行するには、以下の手順を完了します。
    1. 「コメントの保存 (Save comment)」フィールドにテストのコメントを入力します。
    2. 「エージェント・プール (Agent pool)」リストから、テスト用に構成したエージェントを選択します。
    3. リストから「Agent Specification」を選択します。
    4. リストから「Branch/tag」を選択します。
    5. Optional: 必要に応じ、「拡張オプション」ペインから、タスク実行のための変数と要求を追加します。
    6. 詳細なログ表示のために、「Enable system diagnostics」チェック・ボックスを選択します。
    7. 「保存と実行 (Save and run)」をクリックします。

      テスト実行がパイプライン ジョブとして開始され、ジョブ実行の進行状況が表示されます。

Azure DevOpsパイプラインでDevOps Test Workbench拡張機能を使用してテストを実行しました。

ジョブを開いて、タスク・ログを「Jobs」セクションで表示することができます。 DevOps Test Workbenchタスクをクリックして、テスト実行の詳細なログを表示する必要があります。

DevOps Test Workbenchタスク・ペインの「レポート情報(Reports information)」セクションには、レポートの名前と、テスト結果をTest Hubに公開する場合はその対応するURLが表示されます。

詳細を「Azure DevOps URL」フィールド、「Test Plan Name」フィールド、「Test Case Name」フィールド、および「Azure DevOps PAT」フィールドに指定すると、テスト実行の結果を「Test Plan」ダッシュボードに表示できます。