測試服務(wù)
服務(wù)商創(chuàng)建并保存計算巢服務(wù)后,需要對該服務(wù)進(jìn)行測試,測試通過后再提交審核。本文介紹服務(wù)商對服務(wù)進(jìn)行可用性和服務(wù)模板進(jìn)行測試操作的詳細(xì)步驟。
服務(wù)商測試服務(wù)包含手動測試和自動測試兩種方式。您可以根據(jù)服務(wù)實(shí)際情況選擇測試方式。
手動測試:使用服務(wù)實(shí)例部署鏈接,以用戶的視角在自己的賬號下部署服務(wù)實(shí)例。
自動測試:針對不同模板創(chuàng)建測試用例,并可通過創(chuàng)建測試任務(wù)驗(yàn)證模板準(zhǔn)確性。測試用例會隨著服務(wù)版本進(jìn)行繼承,方便進(jìn)行回歸測試,確保服務(wù)迭代的準(zhǔn)確性。同時,串聯(lián)服務(wù)審核流程,在提交審核時自動觸發(fā)服務(wù)進(jìn)行自動測試。
手動測試
使用服務(wù)實(shí)例部署鏈接,在自己賬戶下進(jìn)行服務(wù)實(shí)例的創(chuàng)建,驗(yàn)證服務(wù)實(shí)例的部署操作、
登錄計算巢控制臺。
找到已保存的服務(wù)。單擊服務(wù)名稱進(jìn)入服務(wù)詳情頁。
單擊服務(wù)測試,然后單擊測試鏈接進(jìn)入服務(wù)實(shí)例創(chuàng)建頁面。
在創(chuàng)建服務(wù)實(shí)例頁面中,測試服務(wù)實(shí)例的界面內(nèi)容。
完成測試后,在服務(wù)詳情的服務(wù)測試頁簽中展示測試成功。
自動測試
創(chuàng)建測試用例,在測試用例中對模板的參數(shù)進(jìn)行自定義。創(chuàng)建的測試用例會與審核服務(wù)關(guān)聯(lián),在提交審核時自動觸發(fā)測試用例對服務(wù)進(jìn)行測試。測試用例會被該服務(wù)一直繼承,當(dāng)服務(wù)升級或更新后,新版本的服務(wù)會繼承之前服務(wù)的測試用例,方便進(jìn)行回歸測試。
若不添加測試用例,在提交審核服務(wù)時將不會觸發(fā)自動測試功能。
測試用例配置說明
測試用例配置是一個YAML文件,此處以consul
服務(wù)的測試用例配置文件信息為例。
---
parameters:
SystemDiskSize: 100
PayType: "PostPaid"
DataDiskSize: 40
InstanceType: "$[iact3-auto]"
AllocatePublicIp: "true"
DataDiskCategory: "cloud_efficiency"
InstancePassword: "$[iact3-auto]"
SystemDiskCategory: "cloud_essd"
您也可以在新增測試用例彈窗中,單擊導(dǎo)入默認(rèn)配置,可以導(dǎo)入該服務(wù)的默認(rèn)測試用例配置。默認(rèn)配置中的參數(shù)內(nèi)容是基于服務(wù)模板中定義的參數(shù)解析的。
名稱解釋
模板中相關(guān)字段含義如下。
參數(shù)名稱 | 是否必填 | 參數(shù)說明 |
specificationName | 否 | 套餐名稱。 套餐內(nèi)的參數(shù)和parameters參數(shù)不允許有沖突。 |
parameters | 是 | 單個服務(wù)測試運(yùn)行ROS模板的參數(shù)。 |
付費(fèi)模式(
InstanceChargeType
)參數(shù)的值必須定義成PostPaid
。偽參數(shù)(
$[iact3-auto]
)會自動從該參數(shù)的可選值中隨機(jī)選擇。定義的云資源將自動從當(dāng)前區(qū)域下選擇可用的資源。更多信息,請參見偽參數(shù)說明。與地域(
region
)強(qiáng)關(guān)聯(lián)的屬性Vpc、可用區(qū)、Vswitch和安全組會在任務(wù)運(yùn)行時會自動生成,也支持用戶自定義。
創(chuàng)建任務(wù)
在計算巢賬號下選擇指定模板和測試用例對服務(wù)進(jìn)行測試。
在測試任務(wù)處,單擊創(chuàng)建任務(wù),并在彈窗中配置任務(wù)信息。
設(shè)置測試任務(wù)的名稱。
選擇服務(wù)模板和測試用例。
若您有多個模板時,您可以針對每個模板添加測試用例。
選擇任務(wù)執(zhí)行地域。
若未選擇任務(wù)執(zhí)行地域,則會從服務(wù)配置的部署地域中隨機(jī)選擇地域。
單擊立即創(chuàng)建。
創(chuàng)建完成后,您可在任務(wù)列表中查看任務(wù)進(jìn)度。
查看報告。
任務(wù)執(zhí)行完后,您可以在執(zhí)行報告中查看測試配置和測試用例信息。
單擊測試任務(wù)的測試名稱前的,然后單擊詳情。
在查看報告彈窗中,查看任務(wù)的測試配置,地域和資源棧等信息。
查看日志。
您可以在日志中,查看生效參數(shù)信息、資源棧詳細(xì)信息和報錯信息等。
相關(guān)錯誤及解決方案
此處列舉測試服務(wù)常見的錯誤日志和解決方法。
錯誤日志信息:“IacerException, can not find any available value for ZoneId in cn-qingdao region in [] for default”
解決方法:當(dāng)前地域沒有相應(yīng)的資源,需指定其他地域執(zhí)行。
錯誤日志信息:“Resources.TiDBServerScalingGroupEnable.Properties: : Unknown Property DetachOptions request id: 51341F62-56DC-xxxx-xxxx-xxx”
解決方法:模板參數(shù)錯誤,根據(jù)日志提示修改測試配置的參數(shù)。
偽參數(shù)說明
在功能驗(yàn)證測試中,測試參數(shù)的填寫較困難和繁瑣,因此可以引入自動填寫參數(shù)的$[iact3-auto]
偽參數(shù)。以下兩種情況下支持使用偽參數(shù)自動獲取參數(shù)。
所選參數(shù)支持參數(shù)查詢接口(即調(diào)用
GetTemplateParameterConstraints
接口有返回AllowedValues
)。參數(shù)名稱具有特定含義或指向性比較明確時,偽參數(shù)會自動獲取一個適當(dāng)?shù)膮?shù)值。
如
VpcId
、VswitchId
、SecurityGroupId
等,偽參數(shù)會自動從當(dāng)前地域下篩選一個對應(yīng)的實(shí)例ID。如
VpcName
、Password
、Uuid
等,偽參數(shù)會隨機(jī)生成名稱、密碼和Uuid值。當(dāng)前已支持的參數(shù):
滿足正則
vpc(_|)id
時,會自動隨機(jī)獲取當(dāng)前地域下的VpcId
值。滿足正則
v(_|)switch(_|)id
時,會自動獲取當(dāng)前地域下的VswitchId
值(如果參中名稱有符合zone(_|)id
的值時,會查詢對應(yīng)可用區(qū)的交換機(jī)的ID。)。滿足正則
security(_|)group(_id|id)
時,會自動獲取安全組信息。滿足正則
r'\w*name'
時,會自動生成一個以iacer-開頭的隨機(jī)字符串。滿足正則
r'\w*password'
時,會自動生成一個含有大小字母數(shù)字和特殊字符串的密碼串。滿足正則
r'\w*uuid'
時,會自動生成一個uuid。