乐趣区

关于开发: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 入门学习赛·探险寻宝之旅

  • 报名地址
  • 奖项设置

点击关注,第一工夫理解华为云陈腐技术~

退出移动版