【API進階之路】研發需求突增3倍,測試團隊集體鬧離職


摘要:最近研發的需求量漲了3倍,開發團隊拼命趕進度,可苦了測試團隊。

本以為從一線研發轉管理后會清閑一些,但是沒想到,我還要充當救火隊員的角色。

到了第四季度,各業務部門都在憋着勁兒沖業績,畢竟這跟年終獎可是息息相關的事兒。業務部門沖業績,帶動着研發的需求不斷增加,這個部門說想要提前上線,那個部門說要臨時加個需求,研發只能說我們得按排期來,這句話平時可能好使,可一旦需求和業績相關,那研發就要火力全開,排期什么的就得靠邊站了。

最近研發的需求量漲了3倍,開發團隊拼命趕進度,卻苦了測試團隊。原本測試團隊就人少壓力大,現在需求漲了,測試人員卻沒增加,測試主管帶着幾個同事找到老板,說再這樣下去真是干不了了。

沒有測試可還行?這可急壞了老板,臨時招人也來不及。他喊我過去商量,看有沒有辦法解決。老板的意思是希望我能夠去帶一帶測試團隊,給大家緩解下壓力。但是吧,加上我一個人也解決不了什么問題呀,這可怎么辦?

經過分析,我們發現測試的壓力來自2個方面:一方面是要上線的項目集中爆發;另一方面是開發在趕進度,交付質量有所降低,再加上微服務架構下項目單元變多,測試的工作量也成倍增長。得想個辦法從根本上解決這些問題。

琢磨了一個晚上,我給老板提交了一份方案:把原先寫的測試用例注冊到華為雲一站式雲端測試平台——雲測(CloudTest)上,使用雲測API進行測試用例管理、接口測試等,提高測試效率,保障項目高質量支付。

使用華為雲雲測API也比較容易,具體步驟如下。

一、TestHub服務操作

TestHub服務操作包括:新測試類型服務注冊到雲測、用戶獲取自己當前已經注冊的服務。

1、確定調用API鑒權時使用的Token,獲取響應Header參數中X-Subject-Token對應的值。

2、確定Testhub服務名稱及用戶服務域名並注冊。

接口相關信息:URL格式-POST /v1/services

請求示例:發送一條POST請求。

POST: https://{endpoint}/v1/services

{
  "service_name" : "這是一個測試類型名稱",
  "server_host" : "https://xxx.xxx.xxx"
}

響應示例

{
  "service_name" : "這是一個測試類型名稱",
  "service_id" : 13
}

3、確定Testhub服務已被注冊成功。

接口相關信息:URL格式- GET /v1/services

請求示例:發送一條GET請求。

GET:https://{endpoint}/v1/services

響應示例:獲取到返回的注冊信息即證明用戶已注冊成功。

{
  "services" : [ {
    "id" : 13,
    "name" : "這是一個測試類型名稱"
  } ]
}

二、用例操作

用例操作包括:創建測試用例、更新測試用例、獲取測試用例詳情、批量執行用例接口、批量更新測試用例結果。

1、確定調用API鑒權時使用的Token,獲取響應Header參數中X-Subject-Token對應的值。

2、創建新的測試用例。

接口相關信息:URL格式-POST /v1/projects/{project_id}/testcases

請求示例:發送一條POST請求。

POST: https://{endpoint}/v1/projects/{project_id}/testcases

{
  "name" : "testcaseXXX",
  "service_id" : 13,
  "rank_id" : "2",
  "testcase_number" : "1234",
  "extend_info" : {
    "description" : "這是一條描述信息",
    "preparation" : "這是一條前置條件xxxxxx",
    "steps" : [ {
      "expect_result" : "<ol class=\"ordered\"><li class=\"ordered\"><span>結果一</span></li><li class=\"ordered\"><span>結果二</span></li></ol><p><br /></p>",
      "test_step" : "<p>步驟一</p>"
    } ],
    "label_list" : [ "標簽一", "標簽二" ],
    "module_id" : "b66aab5469cc4ab39b0dda8e644a42a4",
    "test_version_id" : "8.1.2",
    "fix_version_id" : "8.2.0.1",
    "assigned_id" : "b66aab5469cc4ab39b0dda8e644a42a4",
    "issue_id" : "b66aab5469cc4ab39b0dda8e644a42a4"
  }
}

響應示例

{
  "testcase_id" : "efdb403066474ab08836b9eeaaa23bca",
  "project_id" : "aswe4w5ty4032344tgse345eeaaa23bc",
  "service_id" : 13,
  "name" : "這是一個測試計划名稱",
  "testcase_number" : "1234",
  "rank_id" : "2",
  "status_id" : "0",
  "assigned_user" : {
    "id" : "efdb403066474ab08836b9eeaaa23bca",
    "name" : "name_xxxxxx"
  },
  "execute_count" : 3,
  "result_id" : "0",
  "extend_info" : {
    "author" : {
      "id" : "efdb403066474ab08836b9eeaaa23bca",
      "name" : "name_xxxxxx",
      "time" : "2020-06-09 16:55:57"
    },
    "updator" : {
      "id" : "efdb403066474ab08836b9eeaaa23bca",
      "name" : "name_xxxxxx",
      "time" : "2020-06-09 16:55:57"
    },
    "domain" : {
      "id" : "efdb403066474ab08836b9eeaaa23bca",
      "name" : "name_xxxxxx"
    },
    "description" : "這是一條描述信息",
    "preparation" : "這是一條前置條件xxxxxx ",
    "steps" : [ {
      "expect_result" : "<ol class=\"ordered\"><li class=\"ordered\"><span>結果一</span></li><li class=\"ordered\"><span>結果二</span></li></ol><p><br /></p>",
      "test_step" : "<p>步驟一</p>"
    } ],
    "label_list" : [ {
      "id" : "efdb403066474ab08836b9eeaaa23bca",
      "name" : "name_xxxxxx"
    } ],
    "defect_list" : [ {
      "id" : "efdb403066474ab08836b9eeaaa23bca",
      "name" : "name_xxxxxx"
    } ],
    "module" : {
      "id" : "efdb403066474ab08836b9eeaaa23bca",
      "name" : "name_xxxxxx"
    },
    "issue" : {
      "id" : "efdb403066474ab08836b9eeaaa23bca",
      "name" : "name_xxxxxx"
    },
    "test_version_id" : "string",
    "fixed_version" : {
      "id" : "efdb403066474ab08836b9eeaaa23bca",
      "name" : "name_xxxxxx"
    }
  }
}

3、確定用例創建成功且無需修改后,可執行用例並更新用例結果。

接口相關信息:URL格式-POST /v1/projects/{project_id}/testcases/execution

請求示例:發送一條POST請求。

POST: https://{endpoint}/v1/projects/{project_id}/testcases/execution

{
    "service_id": 13,
    "plan_id": "b66aab5469cc4ab39b0dda8e644a42a4",
    "execute_list": [
        {
            "testcase_id": "b66aab5469cc4ab39b0dda8e644a42a4",
            "execute_id": "efdb403066474ab08836b9eeaaa23bca",
            "result_id": "0",
            "start_time": 2020-06-2218: 11: 54
        }
    ]
}

響應示例

{
  "error_code" : "CLOUDTEST.000XXXXXX",
  "error_msg" : "失敗原因XXXXX",
  "error_detail" : {
    "failed" : [ {
      "error_code" : "CLOUDTEST.000XXXXXX",
      "error_msg" : "失敗原因XXXXX",
      "testcase_id" : "efdb403066474ab08836b9eeaaa23bca"
    } , {
      "error_code" : "CLOUDTEST.000XXXXXX",
      "error_msg" : "失敗原因XXXXX",
      "testcase_id" : "251fca07b22f493692eb06b1754f07a8"
    }]
  }
}

4、等待用例腳本執行完畢后,需要調用接口將執行結果通過接口返回到Testhub服務同步數據。

接口相關信息:URL格式-POST /v1/projects/{project_id}/testcases/result

請求示例:發送一條POST請求。

POST:https://{endpoint}/v1/projects/{project_id}/testcases/result

{
    "service_id": 13,
    "execute_list": [
        {
            "testcase_id": "b66aab5469cc4ab39b0dda8e644a42a4",
            "execute_id": "efdb403066474ab08836b9eeaaa23bca",
            "result_id": "0",
            "end_time": 2020-06-23 18: 11: 54,
            "duration": 120,
            "description": "這是一條備注信息"
        }
    ]
}

響應示例

{
  "error_code" : "CLOUDTEST.000XXXXXX",
  "error_msg" : "失敗原因XXXXX",
  "error_detail" : {
    "failed" : [ {
      "error_code" : "CLOUDTEST.000XXXXXX",
      "error_msg" : "失敗原因XXXXX",
      "testcase_id" : "efdb403066474ab08836b9eeaaa23bca"
    } , {
      "error_code" : "CLOUDTEST.000XXXXXX",
      "error_msg" : "失敗原因XXXXX",
      "testcase_id" : "251fca07b22f493692eb06b1754f07a8"
    }]
  }
}

通過雲測平台,測試效率、交付質量都得到了提升,測試團隊再也沒人提離職了。

了解更多華為雲API信息:“免費下載創新加速利器《華為雲API精選手冊》

——活動推薦——

華為雲已經成為全球主要雲服務供應商,在華為雲上開放了2400+ API,包括計算、存儲、網絡、應用服務、軟件開發服務、視頻、數據庫、EI智能等74+產品,如何利用這些豐富強大的API快速開發自己的應用和服務,成為大家關注的熱點。

華為雲API學習賽,為入門初學者量身定制的學習平台,以賽帶學,學以致用。無需代碼,只需下載體驗模板,按操作文檔操作即可完成作品。參賽、邀請都有豐富獎品,還有機會拿P40 5G手機超級激勵!!

API入門學習賽·AI人臉識別

 

API入門學習賽·探險尋寶之旅

 

 

 

點擊關注,第一時間了解華為雲新鮮技術~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM