YAML でのロード テストを構成する

YAML を使用して Azure Load Testing プレビューでロード テストを構成する方法について説明します。 テスト構成 YAML ファイルを使用して、継続的インテグレーションと継続的デリバリー (CI/CD) ワークフローからロード テストを作成して実行します。

重要

Azure Load Testing は、現在、プレビューの段階です。 ベータ版、プレビュー版の Azure の機能、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

ロード テストの定義

テスト構成では、次のキーが使用されます。

キー Type 既定値 説明
version string サービスで使用される YAML 構成ファイルのバージョン。 現在有用な値は v0.1 のみです。
testName string [必須] 。 実行するテストの名前。 さまざまなテストの実行結果が、Azure portal のこのテスト名の下に収集されます。
testPlan string [必須] 。 実行する Apache JMeter テスト スクリプトへの相対パス。
engineInstances 整数 (integer) [必須] 。 指定されたテスト計画を実行するテスト エンジンの並列インスタンスの数。 このプロパティを更新して、サービスで生成できる負荷の量を増やすことができます。
configurationFiles array Apache JMeter スクリプトで参照する、関連する構成ファイルまたはその他のファイルの一覧。 たとえば、CSV データセット ファイル、画像、またはその他のデータ ファイルです。 これらのファイルは、テスト スクリプトと共に Azure Load Testing リソースにアップロードされます。 ファイルがローカル コンピューター上のサブフォルダー内にある場合は、テスト スクリプトの場所を基準としたファイル パスを使用します。

現在、Azure Load Testing では、JMX ファイルでのファイル パスの使用はサポートされていません。 テスト スクリプトで外部ファイルを参照する場合は、必ずファイル名のみを指定してください。
description string テスト実行の簡単な説明。
subnetId string プライベートにホストされるエンドポイント (VNET インジェクション) をテストするためのサブネットのリソース ID。 このサブネットは、挿入されたテスト エンジン VM をホストします。 詳細については、 プライベートにホストされているエンドポイントをロード テストする方法に関する記事を参照してください。
failureCriteria object テストが失敗するタイミングを示す条件。 合格/不合格条件の構造は次のとおりです。Request: Aggregate_function (client_metric) condition threshold サポートされている値の詳細については、「ロード テストの合格/不合格条件」を参照してください。
properties object ロード テストを構成するためのプロパティのリスト。
properties.userPropertyFile string Apache JMeter のユーザー プロパティ ファイルとして使用するファイル。 このファイルは、JMeter テスト スクリプトやその他の構成ファイルと共に Azure Load Testing リソースにアップロードされます。 ファイルがローカル コンピューター上のサブフォルダー内にある場合は、テスト スクリプトの場所を基準とした相対パスを使用します。
splitAllCSVs boolean False 入力 CSV ファイルをすべてのテスト エンジン インスタンスに均等に分割します。 詳細については、 ロード テストのCSVファイルを読むを参照してください。
secrets object Apache JMeter スクリプトによって参照されるシークレットの一覧。
secrets.name string シークレットの名前。 この名前は、Apache JMeter スクリプトで使用するシークレット名と一致する必要があります。
secrets.value string Azure Key Vault シークレットの URI。
env object Apache JMeter スクリプトによって参照される環境変数の一覧。
env.name string 環境変数の名前。 この名前は、Apache JMeter スクリプトで使用するシークレット名と一致する必要があります。
env.value string 環境変数の値。
keyVaultReferenceIdentity string Azure キー コンテナーからシークレットにアクセスするための、ユーザー割り当てマネージド ID のリソース ID。 システム マネージド ID を使う場合、この情報は必要ありません。 このユーザー割り当て ID には、Azure キー コンテナーへのアクセス権を必ず付与してください。

ロード テストの構成例を含む YAML スニペットを次に示します。

version: v0.1
testName: SampleTest
testPlan: SampleTest.jmx
description: Load test website home page
engineInstances: 1
subnetId: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.Network/virtualNetworks/load-testing-vnet/subnets/load-testing
properties:
  userPropertyFile: 'user.properties'
configurationFiles:
  - 'SampleData.csv'
failureCriteria:
  - avg(response_time_ms) > 300
  - percentage(error) > 50
  - GetCustomerDetails: avg(latency_ms) >200
splitAllCSVs: True
env:
  - name: my-variable
    value: my-value
secrets:
  - name: my-secret
    value: https://akv-contoso.vault.azure.net/secrets/MySecret
keyVaultReferenceIdentity: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sample-identity

次のステップ

CI/CD ワークフローで自動回帰テストをビルドする方法について説明します。