华为云CodeArts TestPlan测试计划对接与使用全攻略
1. 引言:为什么需要CodeArts TestPlan
在敏捷开发和DevOps实践日益普及的今天,软件交付节奏不断加快,测试活动不再仅仅是开发末期的一个环节,而是贯穿整个软件生命周期的核心质量保障手段。然而,传统的测试管理方式——依赖Excel表格管理用例、线下沟通分配任务、手工统计测试进度——已经无法满足现代软件研发对效率、可追溯性和协作性的要求。
华为云CodeArts TestPlan正是在这样的背景下应运而生。作为一款一站式云端测试管理平台,它沉淀了华为多年高质量的软件测试工程方法与实践,覆盖了测试计划、测试设计、测试用例、测试执行和测试评估等全流程。CodeArts TestPlan不仅提供了传统的手工测试管理能力,更深度融入了接口自动化测试、思维导图式测试设计、数据驱动测试等先进特性,旨在帮助企业协同、高效、可信地开展测试活动,保障产品高质量交付。
本文将从零开始,系统性地介绍CodeArts TestPlan的对接与使用全流程。无论您是测试工程师、开发人员还是DevOps实践者,都可以通过本文快速掌握这一强大的测试管理工具。
需要先登录华为云控制台,点击:华为云控制台,还没有账号,点击:注册并关联,已有账号点击:登录后关联
2. CodeArts TestPlan核心能力解读
在深入操作之前,有必要先理解CodeArts TestPlan的核心能力架构。它并非一个孤立的测试执行工具,而是一个覆盖测试全生命周期的管理平台。
2.1 测试计划管理
测试计划是测试活动的顶层设计。在CodeArts TestPlan中,用户可以创建测试计划,明确测试范围、测试目标、计划周期、处理者等关键信息。测试计划可以关联到CodeArts中的项目迭代,实现测试活动与研发节奏的同步。
2.2 测试设计与用例管理
测试设计是CodeArts TestPlan的一大亮点。平台提供了基于思维导图的启发式测试设计能力,可视化承载四层测试设计方法:根据需求分解测试场景,根据场景分解测试点,根据测试点生成草稿用例,最后归档为正式测试用例。这种"需求→场景→测试点→用例"的层层递进方法,帮助测试人员将脑海中的测试模型图形化地表达出来,支撑所有利益干系人高效沟通与交流。
在用例管理层面,CodeArts TestPlan内置了手工测试、接口自动化测试、性能自动化测试以及自定义自动化测试等多种执行方式。用户可以在对应执行方式下创建用例,不同类型的用例可以在同一个测试计划中统一管理。
2.3 接口自动化测试
接口自动化测试是CodeArts TestPlan面向DevOps场景的核心能力。平台支持基于接口URL或者Swagger文档生成接口脚本模板,快速编排接口自动化测试用例。测试用例免代码编写,技术门槛低,适合接口开发者、接口消费者、测试人员、业务人员等不同角色使用。一键导入Swagger接口定义即可自动生成脚本模板,基于模板组装编排、管理接口自动化测试用例,支持HTTP和HTTPS协议,提供可视化的用例编辑界面。
2.4 测试执行与质量评估
测试执行阶段支持并行或串行执行、流水线触发执行等多种模式,并可配置质量门禁。每次执行的详细结果和日志都会被完整记录。测试质量看板则提供了需求覆盖率、缺陷分布统计、用例通过率、用例完成率等关键指标的实时可视化展示,也支持自定义报表。
3. 开通服务与环境准备
使用CodeArts TestPlan的第一步是开通服务并完成环境初始化。
3.1 前提条件
使用测试计划服务前,需要满足以下条件:
- 已注册华为云账号并完成实名认证
- 测试计划服务的使用需要基于CodeArts中已创建的项目。若没有可用项目,需要先新建项目
3.2 开通CodeArts TestPlan服务
登录华为云控制台后,在服务列表中选择"开发与运维 > 测试计划CodeArts TestPlan",进入服务页面后单击"立即使用"即可开通服务。对于新用户,华为云通常会提供一定的免费试用额度,具体以官网公告为准。
3.3 创建项目
如果还没有可用的CodeArts项目,需要先创建一个。操作路径如下:
- 在CodeArts首页单击"新建项目"
- 选择合适的项目模板(如Scrum项目模板)
- 填写项目名称,其他选项保持默认即可
- 单击"确定"进入项目
3.4 添加成员并授权
测试计划服务支持项目级的权限管理。项目管理员可以通过"设置 > 权限管理"进入项目权限管理界面,为不同成员分配角色。CodeArts TestPlan定义了多种角色类型,包括项目管理员、项目经理、测试经理、开发人员、测试人员等,不同角色拥有不同的操作权限。例如,所有角色都具有创建用例、修改用例、执行用例等基本权限,但合并至基线的权限则对部分角色有限制。
4. 测试计划与测试用例的完整生命周期
理解CodeArts TestPlan中测试计划与用例的生命周期管理,是高效使用该平台的基础。
4.1 测试用例三层管理体系
CodeArts TestPlan采用"用例库-基线版本-测试版本"的三层用例管理架构。这套体系专门针对云服务交付中"同一服务多业务形态并行、交付节奏快、多轮迭代"的特点而设计。
- 用例库:包含了产品最新最全、并经过验证的有效用例集合,是所有版本测试过程中积累的测试用例资源库
- 基线版本:测试设计活动的主要场所,可以看作一个版本测试资源的全集。所有的需求、规格、用例的设计、资源树关系的调整都在基线版本下进行
- 测试版本:测试用例执行的场所,测试问题和结果真实存在于测试版本中
这种分层设计实现了用例的"一次设计、多次复用",有效避免了不同版本间用例的重复劳动。
4.2 创建测试版本与测试计划
在实际操作中,首先需要创建测试版本,然后在版本下创建测试计划:
- 登录软件开发生产线首页,进入目标项目
- 单击导航栏中的测试计划服务
- 单击"基线"右侧进入版本管理页面
- 在弹框中输入测试版本号(如"1.0"),单击"保存"
- 在版本下拉栏中选择刚创建的版本,单击"新建计划"
- 输入测试计划名称、待测版本号、选择处理者、设置计划周期等
- 单击"下一步",根据需要勾选执行方式(手工测试、接口自动化等)
- 单击"保存"完成测试计划的创建
4.3 设计测试用例
测试计划创建完成后,进入"设计"阶段:
- 在测试计划列表中,找到待设计的测试计划,单击"设计"
- 根据需要选择"手工测试"或"接口自动化"页签
- 单击"新建用例",填写用例名称、前置条件、测试步骤、预期结果等信息
- 保存后,用例将展示在测试计划对应的用例列表中
4.4 从其他版本导入测试用例
CodeArts TestPlan支持在不同版本间复用测试用例。在版本管理页面创建新版本后,可以从源版本将用例导入到新版本的用例库中。导入时可以选择覆盖规则,并勾选需要导入的测试用例。导入成功后,用例将保存在新版本的用例库中,供该版本下的测试计划使用。
5. 接口自动化测试深度实践
接口自动化测试是CodeArts TestPlan最具特色的能力之一,也是实现持续测试的关键支撑。
5.1 创建接口自动化用例
在测试计划的"设计"页面中,选择"接口自动化"页签,单击"新建用例"即可创建接口自动化测试用例。创建时需要填写用例名称、类型、模块、版本号、关联需求、用例等级等基本信息。
5.2 编写接口自动化脚本
接口自动化用例的脚本分为三个阶段:
- 前置步骤(准备阶段):实现测试前置条件的准备,如登录获取Token、准备测试数据等
- 测试步骤(测试阶段):实现接口的功能测试,发送HTTP请求并验证响应
- 后置步骤(销毁阶段):实现测试数据的释放或恢复,如删除测试产生的临时数据
CodeArts TestPlan提供了可视化的脚本编辑界面,支持通过拖拽和配置的方式完成脚本编写,无需手工编码。对于熟悉编程的用户,也可以通过关键字库和自定义脚本实现更复杂的测试逻辑。
5.3 从Swagger导入自动生成脚本
对于已有Swagger接口定义文档的项目,CodeArts TestPlan支持一键导入Swagger文件自动生成接口测试脚本模板。只需在接口自动化用例中导入Swagger 2.0版本的YAML或JSON文件,平台即可自动解析接口定义并生成对应的测试步骤模板。这大大降低了接口自动化测试的脚本编写成本。
5.4 数据驱动测试
CodeArts TestPlan支持数据驱动测试能力,允许通过导入Excel文件读取测试数据,复用到不同测试场景中。具体操作步骤如下:
- 在接口自动化用例的"脚本"页签中,单击数据驱动图标
- 选择用例对应的目标环境
- 单击"下载示例",将数据集表格模板下载到本地
- 在Excel中配置"数据集描述"与"局部参数字段",表头字段需要与用例脚本中已创建的局部参数名称保持一致
- 上传编辑好的Excel文件
- 在URL请求的参数值中输入"$"调用已配置的局部参数
需要注意的是,每次最多上传100条数据集、最多50个参数字段,一次只能上传一个Excel文件。导入成功后,执行测试用例时将按照数据集中的每一行数据进行一轮测试。
5.5 接口测试关键字
CodeArts TestPlan提供了丰富的内置关键字,也支持用户将常用的测试步骤保存为自定义关键字以便复用。例如,平台内置了OpenGaussQuery、MySQLInsert、PostgreSQLUpdate等数据库操作关键字,可以在接口测试脚本中直接调用。
以下是一个使用MySQLInsert关键字的示例场景(概念性说明):
# 在接口自动化用例的前置步骤中
# 调用MySQLInsert关键字向测试数据库插入一条测试数据
# 参数包括:数据库IP、端口、用户名、密码、数据库名、SQL语句
关键字: MySQLInsert
参数:
host: "192.168.1.100"
port: "3306"
user: "test_user"
password: "******"
database: "test_db"
sql: "INSERT INTO test_data (id, name) VALUES (1, 'test')"6. CodeArts TestPlan的多种对接方式
CodeArts TestPlan并非一个封闭的测试管理工具,它提供了多种方式与外部系统进行对接和集成,使其能够融入更广泛的DevOps工具链中。
6.1 通过ROMA Connect测试计划连接器对接
华为云ROMA Connect提供了专门的"测试计划连接器"(CodeArts TestPlan connector),用于对接华为云测试计划服务。这种方式适用于需要将CodeArts TestPlan能力集成到ROMA Connect应用与数据集成平台中的场景。
创建连接器的步骤:
- 登录ROMA Connect控制台
- 在左侧导航栏选择"连接器",单击"新建连接"
- 选择"测试计划"或"CodeArts TestPlan"连接器
- 在弹窗中配置连接器信息:
- 连接名称:填写连接器实例的名称
- 描述:填写描述信息以便识别不同的连接器
- Access Key:当前华为云账号的AK(Access Key ID)
- Secret Access Key:当前华为云账号的SK(Secret Access Key)
- 单击"确定"完成创建
AK/SK的获取方式为:登录华为云控制台,进入"我的凭证"页面,在"访问密钥"中生成或查看已有的密钥对。如果已生成过AK/SK,可找到之前下载的credentials.csv文件。
连接器支持的动作:
- 实时计算单个自定义报表
- 查询某个测试计划下的需求树
- 查询某测试计划下的操作历史
- 获取环境参数分组列表
- 通过导入仓库中的文件生成接口测试套
- 计划中批量添加测试用例
- 项目下查询测试计划列表(v2版本)
- 项目下创建计划
- 通过用例编号获取测试用例详情
- 批量更新测试用例结果
- 批量执行测试用例
- 创建/更新/删除自定义测试服务类型用例
- 测试类型服务注册与注销
6.2 通过REST API对接
CodeArts TestPlan提供了REST(Representational State Transfer)风格的API,支持通过HTTPS请求调用。这是最灵活的对接方式,适用于自定义工具、脚本或第三方系统的集成。
API调用的基本流程:
- 获取Token:通过调用IAM服务获取用户Token接口,在响应消息头中获取X-Subject-Token的值
- 构造请求:按照API文档构造HTTPS请求,在请求头中携带Token进行认证
- 调用API:发送请求到对应的API端点,获取返回结果
API调用示例(Python):
import requests
import json
# IAM认证获取Token
def get_token(iam_endpoint, username, password, domain_name):
url = f"{iam_endpoint}/v3/auth/tokens"
payload = {
"auth": {
"identity": {
"methods": ["password"],
"password": {
"user": {
"name": username,
"password": password,
"domain": {"name": domain_name}
}
}
},
"scope": {"domain": {"name": domain_name}}
}
}
response = requests.post(url, json=payload)
return response.headers.get("X-Subject-Token")
# 调用TestPlan API查询测试计划列表
def list_test_plans(token, endpoint, project_id):
url = f"{endpoint}/v1/{project_id}/plans"
headers = {
"X-Auth-Token": token,
"Content-Type": "application/json"
}
response = requests.get(url, headers=headers)
return response.json()
# 使用示例
token = get_token("https://iam.cn-north-4.myhuaweicloud.com",
"your_username", "your_password", "your_domain")
plans = list_test_plans(token, "https://testplan.cn-north-4.myhuaweicloud.com",
"your_project_id")
print(json.dumps(plans, indent=2, ensure_ascii=False))以上代码仅为示例,实际使用时需要替换为正确的IAM端点、TestPlan服务端点、项目ID以及认证凭证。具体的API接口列表和参数说明请参考华为云官方API文档。
6.3 通过流水线插件对接
CodeArts Pipeline(流水线服务)提供了"TestPlan接口测试"插件,可以在流水线任务中直接调用CodeArts TestPlan的能力。这种方式适用于将测试执行嵌入到CI/CD流水线中的场景。
配置流水线插件的步骤:
- 进入CodeArts Pipeline服务首页
- 在流水线的"任务编排"页面中搜索并添加"TestPlan接口测试"插件
- 配置插件参数,包括测试计划、测试套件等信息
- 也可以使用YAML语法进行配置
通过流水线插件,可以实现代码提交后自动触发测试执行,并将测试结果作为流水线质量门禁的判定依据,真正实现"测试左移"和持续测试。
6.4 对接Jenkins等第三方CI工具
对于使用Jenkins等第三方CI/CD工具的组织,可以通过调用CodeArts TestPlan的REST API来实现对接。在Jenkins Pipeline中,可以使用HTTP Request步骤调用TestPlan API,实现测试计划的创建、用例的批量执行、测试结果的查询等操作。
一种常见的实践是在Jenkins构建任务中,通过Shell脚本或Groovy脚本调用TestPlan API,触发接口自动化测试套件的执行,并获取执行结果作为构建质量的门禁条件。
7. 测试执行与质量报告
7.1 执行测试用例
测试用例设计完成后,进入执行阶段:
- 在测试计划列表中找到待测试的计划,单击"执行"
- 对于手工测试用例,在列表中单击用例,在右侧滑出的窗口中记录测试结果(通过/失败),并可添加截图和备注
- 对于接口自动化用例,可以单个执行、批量执行,也可以配置为定时执行或流水线触发执行
CodeArts TestPlan支持并行和串行两种执行模式,帮助用户高效利用资源池,减少任务阻塞。
7.2 查看质量报告
测试执行完成后,可以通过质量报告了解测试计划的整体情况:
- 在测试计划列表中单击"报告"
- 查看测试计划的当前进展统计:用例通过率、用例完成率、缺陷分布、需求覆盖率等
- 可以单击"点击添加报表"选择内置的统计报表模板,也可以创建自定义报表
- 支持将质量报告下载到本地
8. 最佳实践与常见场景
8.1 测试用例分层管理实践
对于同时维护多个版本或分支的项目,强烈建议充分利用CodeArts TestPlan的"用例库-基线版本-测试版本"三层管理体系。将核心的、稳定的测试用例沉淀在用例库中,在基线版本中进行用例的设计和维护,在每个测试版本中执行测试并记录结果。版本之间通过用例导入实现复用,避免重复劳动。
8.2 接口测试关键字复用
对于接口自动化测试中频繁出现的公共步骤(如登录认证、数据准备等),可以将其保存为接口关键字,在多个测试用例中进行复用。这不仅提高了脚本的编写效率,也降低了维护成本——当接口发生变化时,只需修改关键字即可,所有引用该关键字的用例自动生效。
8.3 基于需求策略的测试设计
CodeArts TestPlan的测试设计特性支持基于需求策略生成测试用例。测试人员可以根据需求文档,在思维导图中分解测试场景和测试点,然后通过添加动作因子和数据因子,批量生成组合测试用例。这种方法特别适合参数组合较多、需要覆盖多种输入条件的测试场景。
9. 常见问题问答
问1:CodeArts TestPlan和传统的测试管理工具有什么区别?
答:CodeArts TestPlan不仅提供传统的测试用例管理功能,还深度集成了接口自动化测试、思维导图式测试设计、数据驱动测试、流水线集成等DevOps时代所需的能力。它是一站式平台而非单一工具,覆盖从测试计划到质量评估的全流程。
问2:使用CodeArts TestPlan需要编程能力吗?
答:不一定。对于手工测试用例的管理和执行,完全不需要编程能力。对于接口自动化测试,平台提供了可视化的脚本编辑界面,通过拖拽和配置即可完成,技术门槛较低。当然,对于复杂的测试逻辑,熟悉编程会让脚本编写更加灵活高效。
问3:CodeArts TestPlan支持哪些类型的测试?
答:CodeArts TestPlan内置了手工测试、接口自动化测试、性能自动化测试以及自定义自动化测试等多种执行方式。用户可以根据需要在对应执行方式下创建和管理测试用例。
问4:如何将CodeArts TestPlan集成到我的CI/CD流水线中?
答:有两种主要方式。一是在CodeArts Pipeline流水线中直接添加"TestPlan接口测试"插件;二是通过调用CodeArts TestPlan的REST API,从任意CI/CD工具(如Jenkins、GitLab CI等)中触发测试执行并获取结果。
问5:接口自动化测试中的测试数据如何管理?
答:CodeArts TestPlan支持数据驱动测试,可以通过导入Excel文件来管理测试数据集。测试用例脚本中配置局部参数,Excel中的每一行数据对应一轮测试执行,实现了测试逻辑与测试数据的分离。
问6:测试计划服务中的用例如何在不同版本间复用?
答:CodeArts TestPlan提供了"用例库-基线版本-测试版本"的三层管理架构。在版本管理页面,可以从源版本将用例导入到新版本的用例库中,实现用例的跨版本复用。




