亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

DevOps on DevCloud|如何實現應用接口的混合驅動測試

發布時間:2020-08-07 17:26:33 來源:ITPUB博客 閱讀:174 作者:程序猿da哥 欄目:開發技術

引言:在“DevOps能力之屋(Capabilities House of DevOps)”中,華為云DevCloud提出(工程方法+最佳實踐+生態)×工具平臺=DevOps能力。華為云DevCloud將推出“DevOps on DevCloud”系列,針對DevOps領域場景,闡述該場景在華為云DevCloud上的實施方法與實踐。

目前越來越多不同行業的企業開啟了數字化轉型,以提升業務敏捷性與開放合作能力,為客戶或合作伙伴提供更好的體驗。微服務架構(Microservices Architecture)和敏捷與DevOps成為諸多企業在數字化轉型中對于應用架構和工程方法的不二選擇。隨著微服務架構的廣泛流程,RESTful風格API也成為大勢所趨。因而,對API進行持續測試成為DevOps的關注點之一。隨著微服務數量規模增加、DTAP環境配置變化、軟件交付周期縮短,持續測試自動化成為更為亟需解決的問題。毫不夸張地講,沒有測試自動化,微服務架構的實施對于企業更會成為一場災難。

一談到測試自動化,大多數團隊通常將其視為純粹的技術挑戰,例如選擇測試框架、確定測試工具等等。實際上,測試自動化成功的核心原則之一是測試設計(Test Design)。團隊應該從一開始在測試設計上進行足夠多的投入。測試設計過程始于分析測試需求。為了提升測試覆蓋率,團隊可以使用“業務流(Business Flow)”方法來分析需求。團隊需要在業務層級(Business Level)與交互層級(Interaction Level)上對操作(Action)或數據(Data)進行抽象。因此,業界提出了關鍵字驅動測試(KDT,Keyword Driven Testing)或者數據驅動測試(DDT,Data Driven Testing)等方法來進行測試設計,提升測試自動化效率。

對于KDT和DDT,從其定義來講,存在一定的區別,即什么因素對測試結果起決定性作用就是什么驅動測試。當然KDT與DDT也有聯系。例如:以登錄為例,首先登錄由不同的Action組成(按鈕點擊、文本框輸入等),其次將登錄的用戶名、密碼作為變化的數據(參數化),可以只關注數據。因此,為提升復用性,在實際項目中,一般會采用混合驅動測試的方法,即融合關鍵字驅動測試與數據驅動測試。總而言之,測試設計需要對操作與數據進行抽象、分組等。

華為云DevCloud云測服務提供了接口測試功能,支持HTTP和HTTPS協議,并可通過參數化、自定義環境、關鍵字等特性支持混合驅動測試,同時將將接口測試納入流水線進行管理,支持產品團隊踐行DevOps理念,為微服務架構的API保駕護航。

1 準備工作

1.1 示例應用接口

華為云DevCloud對外提供了開放API,供第三方平臺進行集成。本接口測試將以華為云DevCloud項目管理服務相關API示例。華為云DevCloud的API列表請參考 https://support.huaweicloud.com/devg-devcloud/devcloud_api_1000.html,接口調用方法請參考 https://support.huaweicloud.com/devg-devcloud/devcloud_api_0001.html,獲取Token認證的方式請參考 https://support.huaweicloud.com/devg-devcloud/zh-cn_topic_0107684989.html

1.2 創建項目

開發者可以訪問華為云DevCloud( https://www.huaweicloud.com/devcloud/),登錄后在首頁新建項目,選擇“空白項目”的Scrum或者看板之一,輸入項目名稱(例如:Prj4ApiHDT)即可創建項目。

在訪問Prj4ApiHDT項目,并進入“測試”-“接口測試”后,就可以開展接口測試相關工作了。

2 API測試

本次API測試將覆蓋一個業務流(Business Flow):獲取授權令牌->創建項目->查詢項目當前工作項列表->在項目中新建工作項->查詢項目當前工作項列表->刪除項目。

2.1 創建關鍵字getAuthToken

調用華為云DevCloud的開放API首先需要獲取授權令牌(token),詳細情況請參考“獲取用戶token”( https://support.huaweicloud.com/api-iam/zh-cn_topic_0057845583.html)。為了測試API的所有用例方便獲取token,將創建關鍵字getAuthToken。

在進入“接口測試”頁面后,點擊“新建”,在“新建用例”頁面輸入名稱“manageProject”等信息,并點擊“確定”,用例創建成功并進入編輯用例腳本頁面。

在用例“manageProject”的編輯用例腳本頁面,進入“測試步驟”,新建“URL請求”,名稱設置為“getAuthToken”,并輸入以下信息:

§ 請求:如圖1所示,請求信息的方法選為“POST”,URL填為“iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens”;請求體選擇“JSON”,并填寫如下信息:

{

"auth": {

"identity": {

"methods": [

"password"

],

"password": {

"user": {

"name": "$${userName}",

"password": "$${password}",

"domain": {

"name": "$${domainName}"

}

}

}

},

"scope": {

"domain": {

"name": "$${domainName}"

}

}

}

}

§ 檢查點:來源為“響應碼”,比較符為“等于(數字)”,目標值為“201”。參見圖2。

§ 響應 提取:出參為“X-Auth-Token”,來源為“響應頭”,屬性為“X-Subject-Token”。參見圖3。

DevOps on DevCloud|如何實現應用接口的混合驅動測試 DevOps on DevCloud|如何實現應用接口的混合驅動測試 DevOps on DevCloud|如何實現應用接口的混合驅動測試 DevOps on DevCloud|如何實現應用接口的混合驅動測試 DevOps on DevCloud|如何實現應用接口的混合驅動測試 DevOps on DevCloud|如何實現應用接口的混合驅動測試

圖6 使用關鍵字

2.2.1 “創建項目”步驟

在用例“manageProject”的編輯用例腳本頁面的“測試步驟”中,新建“URL請求”, 名稱設置為“createProject”,并輸入以下信息:

§ 請求:請求信息的方法選為“POST”,URL填為“api.devcloud.huaweicloud.com/pcedge/v1/projects”;請求頭名稱為“X-Auth-Token”,值為“${X-Auth-Token}”,此值為關鍵字getAuthToken的響應提取中的出參名稱“X-Auth-Token”。請求體選擇“JSON”,并填寫如下信息:

{

"name": "demo1",

"description": "項目描述",

"type": "scrum",

"homepage": ""

}

§ 檢查點:【1】來源為“響應碼”,比較符為“等于(數字)”,目標值為“200”。【2】來源為“響應體(JSON)”,屬性為“status”,比較符為“等于(字符串、區分大小寫)”,目標值為“success”。

§ 響應 提取:出參為“project_uuid”,來源為“響應體(JSON)”,屬性為“result.project.project_uuid”。此參數將作為后續API接口的輸入。

2.2.2 “查詢工作項列表” 步驟

在用例“manageProject”的編輯用例腳本頁面的“測試步驟”中,新建“URL請求”, 名稱設置為“queryWorkItemList”,并輸入以下信息:

§ 請求:請求信息的方法選為“POST”,URL填為“api.devcloud.huaweicloud.com/pcedge/v1/projects/${project_uuid}/issues/query”;請求頭名稱為“X-Auth-Token”,值為“${X-Auth-Token}”,此值為關鍵字getAuthToken的響應提取中的出參名稱“X-Auth-Token”。請求體選擇“JSON”,并填寫如下信息:

{

"page_num": "1",

"page_size": "15",

"query_type": "backlog",

"tracker_id": [

2,

3,

7

]

}

§ 檢查點:來源為“響應碼”,比較符為“等于(數字)”,目標值為“200”。

2.2.3 “創建工作項”步驟

在用例“manageProject”的編輯用例腳本頁面的“測試步驟”中,新建“URL請求”, 名稱設置為“createWorkItem”,并輸入以下信息:

§ 請求:請求信息的方法選為“POST”,URL填為“api.devcloud.huaweicloud.com/mobile/v1/projects/${project_uuid}/issues”;請求頭名稱為“X-Auth-Token”,值為“${X-Auth-Token}”,此值為關鍵字getAuthToken的響應提取中的出參名稱“X-Auth-Token”。請求體選擇“JSON”,并填寫如下信息:

{

"subject": "Item1",

"description": "工作項描述",

"type_id": 3,

"start_date": "1566809662",

"due_date": "1566896062",

"priority_id": 3,

"servity_id": 12,

"status_id": 1,

"expected_work_hours": 8

}

§ 檢查點:來源為“響應碼”,比較符為“等于(數字)”,目標值為“200”。

2.2.4 “查詢工作項列表” 步驟

在用例“manageProject”的編輯用例腳本頁面的“測試步驟”中,在步驟“queryWorkItemList”上點擊“復制”,并將新的步驟拖拽到createWorkItem后面。

2.2.5 測試步驟“刪除項目”

在用例“manageProject”的編輯用例腳本頁面的“測試步驟”中,新建“URL請求”, 名稱設置為“deleteProject”,并輸入以下信息:

§ 請求:請求信息的方法選為“DELETE”,URL填為“api.devcloud.huaweicloud.com/pcedge/v1/projects/${project_uuid}”;請求頭名稱為“X-Auth-Token”,值為“${X-Auth-Token}”,此值為關鍵字getAuthToken的響應提取中的出參名稱“X-Auth-Token”。

§ 檢查點:來源為“響應碼”,比較符為“等于(數字)”,目標值為“200”。

2.3 測試情況分析

假如測試用例正確創建,那么執行的正常結果應該為:【1】成功創建項目;【2】項目中工作項數量為0;【3】成功創建工作項;【4】工作項數量為1;【3】成功刪除項目。在此過程中如果出現失敗的情況,可以查看測試用例manageProject的結果頁面,進行分析。

當然,大家仔細觀察測試步驟中有2步是“查詢工作項列表”,可以用關鍵字來進行處理,供大家自行實現。

本文通過案例展示了華為云DevCloud的接口測試特性的關鍵能力以及使用。在實際項目中,測試場景與測試用例等將更為復雜,因此正如前文所述,產品團隊應該投入精力進行測試設計,在此基礎上進行測試自動化,實現持續測試。當然持續測試不可能一蹴而就,產品團隊可以采用迭代的方式,持續重構優化。

華為云DevCloud作為一站式云端DevOps平臺,集成華為近30年研發實踐和前沿理念,面向開發者提供研發工具服務,讓軟件開發簡單高效。現支持5人以下額度范圍內,可以免費使用,并且可以預約免費的產品演示和技術交流,詳情查看華為云官網

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

枣阳市| 噶尔县| 深水埗区| 涿州市| 瓦房店市| 钦州市| 三台县| 嘉黎县| 柳河县| 罗源县| 晋江市| 密山市| 河西区| 雅江县| 方城县| 肇东市| 棋牌| 浦北县| 社旗县| 阿图什市| 墨竹工卡县| 宜宾市| 日照市| 彭阳县| 永修县| 吴川市| 峨边| 巴林左旗| 莱芜市| 巴南区| 册亨县| 玛纳斯县| 桦甸市| 宁德市| 桐柏县| 海城市| 锡林郭勒盟| 丹江口市| 蓬安县| 沾化县| 抚松县|