Compute Nest サービスをサービスプロバイダーとして作成および保存した後、サービスをテストし、サービスがテストに合格した後にレビューのためにサービスを送信する必要があります。 このトピックでは、サービスプロバイダーとしてサービスの可用性とテンプレートをテストする方法について説明します。
ビジネス要件に基づいて、サービスを手動でテストするか、サービスで自動テストを実行できます。
サービスを手動でテストする:サービスのデプロイメント URL を使用して、顧客としてアカウント内にサービスインスタンスをデプロイできます。
サービスで自動テストを実行する:異なるテンプレートに基づいてテストケースを作成し、テストタスクを作成して実行することでテンプレートの精度を確認できます。 サービスの新しいバージョンが作成されると、テストケースは継承されます。 これにより、回帰テストが容易になり、サービスの反復の精度が保証されます。 さらに、テストケースはサービスレビュープロセスに関連付けられています。 レビューのためにサービスを送信すると、テストケースが自動的にトリガーされてサービスがテストされます。
サービスを手動でテストする
サービスのデプロイメント URL を使用して、アカウント内にサービスインスタンスを作成します。 これにより、サービスインスタンスをデプロイするために行われた操作が検証されます。
Compute Nest コンソール にログインします。
[マイ サービス]ページに移動し、作成したサービスを見つけます。 サービス名をクリックして、[サービスの詳細]ページに移動します。
[サービスの詳細]ページで、[サービステスト] タブをクリックし、テスト URL をクリックして[サービスインスタンスの作成]ページに移動します。
[サービスインスタンスの作成]ページで、サービスインスタンスのパラメーターをテストします。
[サービスの詳細]ページの[サービステスト]タブに戻ります。 テストが完了すると、「テストは成功しました」というメッセージが[サービステスト]タブに表示されます。
サービスで自動テストを実行する
テストケースを作成し、テストケースでサービステンプレートのパラメーターをカスタマイズします。 作成されたテストケースは、サービスレビュープロセスに関連付けられています。 レビューのためにサービスを送信すると、テストケースが自動的にトリガーされてサービスがテストされます。 サービスの新しいバージョンが作成されると、テストケースは継承されます。 サービスが更新された場合、またはサービスインスタンスがスペックアップされた場合、サービスの新しいバージョンはサービスの古いバージョンのテストケースを継承します。 これにより、回帰テストが容易になります。
テストケースを作成しないと、レビューのためにサービスを送信したときに自動テストはトリガーされません。
テストケースを構成する
テストケース構成ファイルは YAML ファイルです。 この例では、consul
サービスのテストケース構成ファイルが使用されています。
---
parameters:
SystemDiskSize: 100
PayType: "PostPaid"
DataDiskSize: 40
InstanceType: "$[iact3-auto]"
AllocatePublicIp: "true"
DataDiskCategory: "cloud_efficiency"
InstancePassword: "$[iact3-auto]"
SystemDiskCategory: "cloud_essd"
[テストケースの追加] ダイアログボックスの [デフォルト設定のインポート] をクリックして、サービスのデフォルトのテストケース構成ファイルをインポートすることもできます。 デフォルトのテストケース構成ファイルのパラメーターは、サービステンプレートで定義されているパラメーターに基づいて解析されます。
パラメーター
次の表に、サービステンプレートのパラメーターを示します。
パラメーター | 必須 | 説明 |
specificationName | いいえ | パラメーターセットの名前。 パラメーターセットのパラメーターは、parameters セクションで定義されているパラメーターと競合することはできません。 |
parameters | はい | サービステストで Resource Orchestration Service(ROS)テンプレートを実行するために使用されるパラメーター。 |
InstanceChargeType
パラメーターはPostPaid
に設定する必要があります。$[iact3-auto]
疑似パラメーターは、オプションの値に自動的に設定されます。 定義されたクラウドリソースは、現在のリージョンで使用可能なリソースから自動的に選択されます。 詳細については、このトピックの疑似パラメーターセクションをご参照ください。region
属性と強く関連付けられている VPC、ゾーン、vSwitch、およびセキュリティグループの属性は、テストタスクの実行時に自動的に生成されます。 属性をカスタマイズできます。
テストタスクを作成する
アカウント内の Compute Nest でテンプレートとテストケースを選択して、サービスをテストします。
[テストタスク] セクションで、[タスクの作成] をクリックします。 [タスクの作成]ダイアログボックスで、タスク情報を構成します。
[タスク名]フィールドにタスク名を入力します。
テンプレートとテストケースを選択します。
複数のテンプレートが使用可能な場合は、テンプレートごとにテストケースを作成できます。
タスクを実行するリージョンを選択します。
リージョンを選択しないと、システムはサービスをデプロイできるリージョンからランダムにリージョンを選択します。
[今すぐ作成] をクリックします。
タスクが作成されると、タスクリストでタスクの進捗状況を表示できます。
実行レポートを表示します。
タスクが完了すると、実行レポートでテスト構成とテストケース情報を確認できます。
テストタスクの名前の横にある
アイコンをクリックし、[詳細] をクリックします。
[テストレポート]ダイアログボックスで、タスクのテスト構成、リージョン、およびスタックを表示します。
ログを表示します。
ログには、有効なパラメーター、スタックの詳細、およびエラー情報が表示されます。
エラーとソリューション
このセクションでは、サービステスト中に発生する可能性のある一般的なエラーと、その解決策について説明します。
エラーログ:「IacerException, can not find any available value for ZoneId in cn-qingdao region in [] for default」
解決策:現在のリージョンで使用可能なリソースがありません。 タスクを実行するには、別のリージョンを指定する必要があります。
エラーログ:「Resources.TiDBServerScalingGroupEnable.Properties: : Unknown Property DetachOptions request id: 51341F62-56DC-xxxx-xxxx-xxx」
解決策:テンプレートで定義されているパラメーターが無効です。 ログに基づいて、テスト構成のパラメーターを変更します。
疑似パラメーター
$[iact3-auto]
疑似パラメーターを使用して、パラメーターの値を自動的に指定できます。 これにより、サービス機能テスト中のパラメーター設定が簡素化されます。 以下の2つの場合に、疑似パラメーターを使用してパラメーターを構成できます。
パラメーターに指定できる値は、API 操作を呼び出すことによってクエリできます。 パラメーターに対して
GetTemplateParameterConstraints
操作を呼び出すと、AllowedValues
が返されます。パラメーターは、特定のリソースまたは項目を指定します。 この場合、疑似パラメーターはパラメーターの適切な値を自動的に取得します。
パラメーターが
VpcId
、VswitchId
、またはSecurityGroupId
の場合、疑似パラメーターは現在のリージョンでパラメーターの VPC ID、vSwitch ID、またはセキュリティグループ ID を自動的に選択します。パラメーターが
VpcName
、Password
、またはUuid
の場合、疑似パラメーターはパラメーターの VPC 名、パスワード、または UUID をランダムに生成します。疑似パラメーターは、次のパラメーターをサポートしています。
パラメーターが正規表現
vpc(_|)id
に一致する場合、疑似パラメーターは現在のリージョンでVpcId
パラメーターのランダムな VPC ID を自動的に選択します。パラメーターが正規表現
v(_|)switch(_|)id
に一致する場合、疑似パラメーターは現在のリージョンでVswitchId
パラメーターの vSwitch ID を自動的に選択します。 パラメーターが正規表現zone(_|)id
に一致する場合、疑似パラメーターは対応するゾーンの vSwitch ID を自動的に選択します。パラメーターが正規表現
security(_|)group(_id|id)
に一致する場合、疑似パラメーターはセキュリティグループ ID を自動的に選択します。パラメーターが正規表現
r'\w*name'
に一致する場合、疑似パラメーターは iacer- で始まるランダムな文字列を自動的に生成します。パラメーターが正規表現
r'\w*password'
に一致する場合、疑似パラメーターは大文字、小文字、数字、および特殊文字を含むパスワードを自動的に生成します。パラメーターが正規表現
r'\w*uuid'
に一致する場合、疑似パラメーターは UUID を自動的に生成します。