Skip to content

Commit c61e7b0

Browse files
authored
Release 25.12.1 (#260)
1 parent 423b0f2 commit c61e7b0

File tree

208 files changed

+1190
-1038
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

208 files changed

+1190
-1038
lines changed

docs/image/1-intro.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,4 @@ Docker 镜像是一个可执行的软件包,它包含运行应用程序所需
2121

2222
- 支持快速上传和管理现有镜像
2323
- 可在平台内直接使用托管的镜像
24-
- 与平台[自动化服务](../workflow/action/1-quickstart.md)[批量测试](../simandtests/regression/1-intro.md)等功能无缝集成
24+
- 与平台[自动化服务](../workflow/action/1-quickstart.md)[批量测试](../sim-and-tests/regression/1-intro.md)等功能无缝集成
File renamed without changes.
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
---
2+
sidebar_position: 1
3+
---
4+
5+
# 关于批量测试
6+
7+
批量测试是一种并行执行多个测试任务的自动化解决方案,主要用于回归测试、仿真测试等大规模测试场景。平台提供完整的测试资源管理能力,支持镜像、数据集、测试套件与测试程序的统一管理,可在项目中一站式完成测试执行、状态监控及结果分析。
8+
9+
## 基本信息
10+
### 概念说明
11+
12+
| 名称 | 说明 |
13+
| --- | --- |
14+
| 镜像 | 运行批量测试的虚拟环境 |
15+
| 测试套件 | 一组相关联的测试用例集合,通常针对特定功能或场景进行测试 |
16+
| 测试程序 | 为执行测试用例而编写的一系列代码和相关依赖 |
17+
| 测试用例 | 运行批量测试过程中执行的具体任务,通常从相应的测试报告中解析出 |
18+
19+
批量测试任务的执行流程如下:
20+
1. 选择测试套件,将其预设的镜像作为测试环境
21+
2. 将测试程序、测试数据([记录](../../collaboration/record/1-quick-start-record.md))和测试套件的配置参数导入测试环境
22+
3. 系统为测试套件关联的每条记录创建独立的子测试任务
23+
4. 所有子测试任务完成后,系统自动汇总结果并生成测试报告
24+
25+
### 系统目录
26+
批量测试支持的目录结构如下:
27+
| 名称 | 目录 |
28+
| -------- | -------------- |
29+
| 测试程序 | /cos/bundles |
30+
| 记录 | /cos/files |
31+
| Artifact | /cos/artifacts |
32+
| 测试输出 | /cos/outputs |
33+
34+
## 批量测试界面
35+
### 批量测试列表页
36+
37+
![regression-list](./img/regression-list.png)
38+
39+
- **测试序号**:测试的唯一标识,依次递增,点击后可查看详情
40+
- **测试时间**:测试开始的时间,鼠标悬停可查看具体时间
41+
- **测试状态**:测试的当前状态,包括队列中、运行中、已完成、无结果。其中:
42+
- 「已完成」表示测试已完成(不表示测试用例的执行成功与否)
43+
- 「无结果」表示测试未解析出结果,查看[如何输出测试结果](./6-status-and-output.md)
44+
- **测试套件名称**:测试所选的测试套件名称,详见[测试套件](./3-config-management.md)
45+
- **测试程序种类、版本**:测试所选的测试程序种类与版本,详见[测试程序](./4-test-bundle-management.md)
46+
- **测试进度**:一个测试包含多个子测试任务,鼠标悬停可查看具体进度
47+
- **测试通过率**:测试通过的数量占总数的比例。
48+
- 计算公式:1 个测试套件用于计算通过率的数值 = 测试套件解析出的用例数 × 关联记录数
49+
- **测试时长**:测试总时长
50+
- **操作**
51+
- 取消运行
52+
- 重新运行批量测试
53+
- 下载 Artifacts
54+
- 下载测试输出
55+
56+
### 批量测试详情页
57+
- **测试报告**:展示测试的运行时长、测试数量、测试通过率、测试结果等信息
58+
59+
![regression-detail](./img/regression-detail_1.png)
60+
61+
- 测试套件解析出的测试用例:1 个测试套件可解析出多条用例,每条用例有对应的执行结果
62+
- 点击测试用例名称可查看具体结果
63+
64+
- **测试进度**:展示每个子测试任务的执行状态,可在子测试任务详情中查看对应的执行日志、Artifact 与测试输出
65+
- **Artifacts**:测试过程中生成的结果文件,如测试报告
66+
- **测试输出**:测试过程中生成的需要可视化的文件,如 ROSbag
67+
68+
## 使用流程概览
69+
进入项目的「批量测试」页面,根据提示创建一个批量测试:
70+
71+
![regression](./img/4-8-regression-intro.png)
72+
73+
1. 准备测试环境与数据
74+
75+
- 准备运行批量测试的 [Docker 镜像](../../image/1-intro.md)
76+
- 将镜像推送至公开平台或[刻行时空镜像仓库](../../image/3-push-image.md)
77+
- 将测试数据上传到项目中并按[记录](../../collaboration/record/1-quick-start-record.md)存储
78+
79+
2. 配置测试内容
80+
81+
- 在「[测试套件管理](./3-config-management.md)」页面设置测试套件和相应配置参数
82+
- 在「[测试程序管理](./4-test-bundle-management.md)」页面上传被测程序
83+
84+
3. 执行与监控
85+
- 在「[运行批量测试](./5-run.md)」弹框中,选择测试程序版本与测试套件
86+
- 启动批量测试
87+
- 实时监控测试进度并[查看测试结果](./6-status-and-output.md#查看测试结果)
88+
89+
详情请参见后续章节。
Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
---
2+
sidebar_position: 3
3+
---
4+
5+
# 测试套件
6+
## 简介
7+
测试套件是一组相关联的测试用例集合,提供统一的配置管理界面,支持设置测试名称、运行环境(镜像)、测试数据(记录)等参数,实现测试用例的标准化管理。
8+
9+
![test-suite_1](./img/test-suite_1.png)
10+
11+
## 管理测试套件
12+
### 前提条件
13+
1. 请确保已将测试数据按[记录](../../collaboration/record/1-quick-start-record.md)存储,并给每条记录打上了标签
14+
15+
![test-suite_2](./img/test-suite_2.png)
16+
17+
2. 请确保已准备好测试环境(镜像),并将其推送至公开平台或[刻行时空镜像仓库](../../image/1-intro.md)
18+
推荐在镜像中定义测试用例:
19+
- 测试用例(testcase)支持解析,详见[定义测试结果](./6-status-and-output.md#定义测试结果)
20+
- 批量测试的输入与输出目录,详见[系统目录](./1-intro.md#系统目录)
21+
22+
### 创建测试套件
23+
1. 在项目左侧边栏,选择「批量测试」,点击按钮进入「测试套件管理」页面:
24+
25+
- 首次编辑测试套件
26+
27+
![test-suite_3](./img/test-suite_3.png)
28+
29+
- 非首次编辑测试套件
30+
31+
![test-suite_4](./img/test-suite_4.png)
32+
33+
2. 点击【编辑】,进入测试套件编辑页面:
34+
35+
![test-suite_5](./img/test-suite_5.png)
36+
![test-suite_6](./img/test-suite_6.png)
37+
38+
3. 填写测试套件名称、运行环境、测试数据等信息:
39+
40+
```yaml
41+
# 示例文件
42+
43+
# 版本号,当前支持的版本为"1"
44+
version: '1'
45+
46+
# 测试名称为 workflow name
47+
name: 'workflow name'
48+
49+
# 一个 job 由一个或多个测试套件组成,这些测试套件可以并行测试
50+
jobs:
51+
# 第一个测试套件的名称为"test-1"
52+
- name: 'test-1'
53+
# 测试类型为"generic"
54+
type: 'generic'
55+
56+
# 镜像地址
57+
images:
58+
# 根据测试类型,输入镜像地址
59+
base: cr.coscene.cn/coscene-hello/position:v1.0.0
60+
61+
# 关联记录
62+
records:
63+
# 该测试套件的关联记录标签为"sample"
64+
labels:
65+
- 'sample'
66+
67+
# 该测试套件的运行命令
68+
parameters:
69+
script:
70+
- /bin/sh
71+
- -c
72+
- 'echo hello'
73+
74+
# 测试套件"test-1"的消息通知模板
75+
notifications:
76+
# 通知到钉钉群
77+
- dingTalkBot:
78+
79+
# 第二个测试套件的名称为"test-2"
80+
- name: 'test-2'
81+
82+
# 控制何时自动触发该测试
83+
on:
84+
# 当上传测试程序时,满足以下条件则会触发
85+
bundlePush:
86+
# 条件:测试程序种类为"test"
87+
category:
88+
- test
89+
```
90+
91+
- **version**:版本号,当前支持的版本为`'1'`
92+
- **name**:测试名称
93+
- **jobs**:测试套件列表
94+
- **name**:测试套件名称
95+
- **type**:测试类型,当前支持的类型为`'generic'`
96+
- **images**:测试套件运行的镜像,支持使用刻行时空镜像仓库或公开平台的镜像
97+
- **records**:运行该测试套件时使用的记录,通过标签关联记录
98+
- **parameters**:运行该测试套件时使用的参数
99+
- **notifications**:测试套件运行完成后发送的消息通知模版
100+
- **on**:自动触发测试
101+
- **bundlePush**:当上传测试程序时,其「种类」满足条件则会触发
102+
103+
具体格式详见 [配置文件格式与样例](./9-yaml-sample.md)。
104+
105+
4. 点击【保存】,保存测试套件配置文件。
106+
107+
![test-suite_7](./img/test-suite_7.png)
108+
109+
### 上传、下载与编辑
110+
> 测试套件的配置文件为 cos.yaml,支持直接上传、下载与编辑。
111+
112+
1. 在项目左侧边栏,选择「批量测试」,点击按钮进入「测试套件管理」页面:
113+
114+
![test-suite_4](./img/test-suite_4.png)
115+
116+
2. 上传、下载或直接编辑配置文件:
117+
118+
![test-suite_8](./img/test-suite_8.png)
119+
120+
3. 点击【保存】,保存测试套件配置文件。
121+
122+
![test-suite_7](./img/test-suite_7.png)
123+
124+
### 查看
125+
配置文件校验通过后,测试套件管理页面将展示解析结果,包括测试套件的基本信息、运行环境、数据关联及触发条件等配置详情。
126+
127+
- 测试名称与测试套件名称
128+
129+
![test-suite_9](./img/test-suite_9.png)
130+
131+
- 测试类型与镜像
132+
133+
![test-suite_10](./img/test-suite_10.png)
134+
135+
- 关联记录
136+
137+
![test-suite_11](./img/test-suite_11.png)
138+
139+
- 关联触发条件
140+
141+
![test-suite_12](./img/test-suite_12.png)
142+
143+
- 通知模板样式
144+
145+
![test-suite_13](./img/test-suite_13.png)
146+
147+
### 使用
148+
在运行批量测试时,可选择测试套件,系统将根据测试套件配置信息运行测试。
149+
<img src={require('./img/test-suite_14.png').default} alt="test-suite_14" width="500" />
150+
151+
## 了解更多
152+
- [配置文件格式与样例](./9-yaml-sample.md)
153+
- [测试程序](./4-test-bundle-management.md)
154+
- [管理测试结果](./6-status-and-output.md)
155+
- [运行批量测试](./5-run.md)
156+
157+
## 常见问题
158+
1. **问:无法保存测试套件,提示”记录错误:标签不存在:sample“**
159+
160+
答:请检查名为「sample」的测试套件,是否存在错误的标签,如标签不存在或书写错误。此处仅支持使用已存在的标签。了解[如何给记录添加标签](../../collaboration/record/3-manage-records.md#编辑)
161+
162+
2. **问:无法保存测试套件,提示”请检查 yaml 文件格式“**
163+
164+
答:请检查测试套件配置文件格式是否正确,如配置文件格式错误,可参考[配置文件格式与样例](./9-yaml-sample.md)
165+
166+
167+
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
---
2+
sidebar_position: 4
3+
---
4+
5+
# 测试程序
6+
## 简介
7+
测试程序是被测试的代码文件,可以是一个.deb 格式的文件或.zip /.tgz /.tar.gz 格式的压缩文件。
8+
9+
![testbundle_1](./img/testbundle_1.png)
10+
11+
## 管理测试程序
12+
### 上传测试程序
13+
1. 在项目左侧边栏,选择「批量测试」,点击按钮进入「测试程序管理」页面:
14+
15+
- 首次上传测试程序
16+
17+
![testbundle_2](./img/testbundle_2.png)
18+
19+
- 非首次上传测试程序
20+
21+
![testbundle_3](./img/testbundle_3.png)
22+
23+
2. 点击【上传测试程序】:
24+
25+
![testbundle_4](./img/testbundle_4.png)
26+
27+
3. 上传测试程序,填写测试种类与版本:
28+
29+
<img src={require('./img/testbundle_5.png').default} alt="testbundle_5" width="500" />
30+
31+
- **测试程序种类**:自定义输入种类信息,或选择已有的测试种类。
32+
33+
- **测试程序版本**:自定义输入版本信息,如`v0.1`
34+
35+
测试种类与版本信息可用于自动触发测试。详见[配置文件格式与样例-自动触发测试](./9-yaml-sample.md#auto-triggering)
36+
37+
4. 上传测试程序后,列表「状态」栏显示为「活跃」,即表示该测试程序上传成功:
38+
39+
![testbundle_6](./img/testbundle_6.png)
40+
41+
### 下载
42+
1. 在项目左侧边栏,选择「批量测试」,点击按钮进入「测试程序管理」页面:
43+
44+
![testbundle_3](./img/testbundle_3.png)
45+
46+
2. 点击列表中测试程序的「下载」按钮,即可下载测试程序:
47+
48+
![testbundle_7](./img/testbundle_7.png)
49+
50+
### 使用
51+
在运行批量测试时,可选择特定版本的测试程序执行测试任务。可以通过测试程序的序号、种类、版本号来识别所需的测试程序。
52+
53+
<img src={require('./img/testbundle_8.png').default} alt="testbundle_8" width="500" />
54+
55+
## 了解更多
56+
- [运行批量测试](./5-run.md)
57+
- [配置文件格式与样例](./9-yaml-sample.md)
58+
- [管理测试结果](./6-status-and-output.md)
59+
- [测试套件](./3-config-management.md)

0 commit comments

Comments
 (0)