写点什么

【API 进阶之路】研发需求突增 3 倍,测试团队集体闹离职

发布于: 2020 年 10 月 23 日

摘要:最近研发的需求量涨了 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 入门学习赛·探险寻宝之旅



点击关注,第一时间了解华为云新鲜技术~


发布于: 2020 年 10 月 23 日阅读数: 71
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
【API进阶之路】研发需求突增3倍,测试团队集体闹离职