Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
eca8812
init dev deploy action
yujingz Feb 7, 2025
8ffb60e
update dev bucket
yujingz Feb 7, 2025
3da4748
Restructure docs toc
zhexuany Feb 7, 2025
0324644
Configure docs as landing page and remove unused pages
yujingz Feb 7, 2025
1cdbdf6
Update deployment notification message in GitHub Actions workflow
yujingz Feb 7, 2025
e43437b
add cursor rules for some repo knowledge
yujingz Feb 8, 2025
c808ea8
Hide navbar title in both light and dark themes
yujingz Feb 8, 2025
5995bc2
Update Changelog
yujingz Feb 10, 2025
bfba09b
Update i18n translations for Docusaurus theme and sidebar categories
yujingz Feb 10, 2025
08674d2
feat: doc url fragment
heqi Feb 11, 2025
af42d2f
Backport Panel Updates to Dev (#230)
yujingz Feb 12, 2025
0bf6843
Sync Upstream Changes (#231)
yujingz Feb 13, 2025
4354f63
feat: add home page (#235)
heqi Feb 24, 2025
4d08720
feat: home page header (#237)
heqi Feb 25, 2025
eac2bfc
Merge branch 'master' into release
yujingz Feb 25, 2025
6bfceb5
Remove unused assets (#238)
yujingz Feb 25, 2025
bd7eb65
update changelog (#241)
heqi Feb 26, 2025
e41c56c
feat: update logo svg (#240)
heqi Feb 26, 2025
e396225
feat: update record doc (#242)
heqi Feb 27, 2025
cdd1e35
add teambition integration (#243)
xiranyu01 Feb 27, 2025
5d041e2
feat: batch remote command doc (#245)
heqi Feb 27, 2025
523c6e7
feat: add legel and data security docs (#244)
Woodii1998 Feb 27, 2025
3ed7ed8
Merge branch 'master' into dev
heqi Feb 28, 2025
897dbf1
fix: announcementBar site_url (#246)
heqi Feb 28, 2025
1685392
fix: development announcement bar (#247)
heqi Feb 28, 2025
5ed8c5c
feat: use html link to download json file (#250)
Woodii1998 Mar 6, 2025
f61583e
Feat/record viz (#252)
xiranyu01 Mar 11, 2025
44f12b1
Feat:add `coStudio` usage docs (#254)
YunxianHua Mar 12, 2025
49cd530
Update: device docs (#255)
YunxianHua Mar 13, 2025
eec7934
Add rules (#222)
zhexuany Mar 13, 2025
e6800ea
Feat/update terms (#257)
Woodii1998 Mar 18, 2025
2a25ae5
Update cloud test (#259)
xiranyu01 Mar 18, 2025
e1fe937
Merge branch 'master' into dev
yujingz Mar 18, 2025
0d6cadf
proper naming things
yujingz Mar 18, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/image/1-intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ Docker 镜像是一个可执行的软件包,它包含运行应用程序所需

- 支持快速上传和管理现有镜像
- 可在平台内直接使用托管的镜像
- 与平台[自动化服务](../workflow/action/1-quickstart.md)和[批量测试](../simandtests/regression/1-intro.md)等功能无缝集成
- 与平台[自动化服务](../workflow/action/1-quickstart.md)和[批量测试](../sim-and-tests/regression/1-intro.md)等功能无缝集成
File renamed without changes.
89 changes: 89 additions & 0 deletions docs/sim-and-tests/regression/1-intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
sidebar_position: 1
---

# 关于批量测试

批量测试是一种并行执行多个测试任务的自动化解决方案,主要用于回归测试、仿真测试等大规模测试场景。平台提供完整的测试资源管理能力,支持镜像、数据集、测试套件与测试程序的统一管理,可在项目中一站式完成测试执行、状态监控及结果分析。

## 基本信息
### 概念说明

| 名称 | 说明 |
| --- | --- |
| 镜像 | 运行批量测试的虚拟环境 |
| 测试套件 | 一组相关联的测试用例集合,通常针对特定功能或场景进行测试 |
| 测试程序 | 为执行测试用例而编写的一系列代码和相关依赖 |
| 测试用例 | 运行批量测试过程中执行的具体任务,通常从相应的测试报告中解析出 |

批量测试任务的执行流程如下:
1. 选择测试套件,将其预设的镜像作为测试环境
2. 将测试程序、测试数据([记录](../../collaboration/record/1-quick-start-record.md))和测试套件的配置参数导入测试环境
3. 系统为测试套件关联的每条记录创建独立的子测试任务
4. 所有子测试任务完成后,系统自动汇总结果并生成测试报告

### 系统目录
批量测试支持的目录结构如下:
| 名称 | 目录 |
| -------- | -------------- |
| 测试程序 | /cos/bundles |
| 记录 | /cos/files |
| Artifact | /cos/artifacts |
| 测试输出 | /cos/outputs |

## 批量测试界面
### 批量测试列表页

![regression-list](./img/regression-list.png)

- **测试序号**:测试的唯一标识,依次递增,点击后可查看详情
- **测试时间**:测试开始的时间,鼠标悬停可查看具体时间
- **测试状态**:测试的当前状态,包括队列中、运行中、已完成、无结果。其中:
- 「已完成」表示测试已完成(不表示测试用例的执行成功与否)
- 「无结果」表示测试未解析出结果,查看[如何输出测试结果](./6-status-and-output.md)
- **测试套件名称**:测试所选的测试套件名称,详见[测试套件](./3-config-management.md)
- **测试程序种类、版本**:测试所选的测试程序种类与版本,详见[测试程序](./4-test-bundle-management.md)
- **测试进度**:一个测试包含多个子测试任务,鼠标悬停可查看具体进度
- **测试通过率**:测试通过的数量占总数的比例。
- 计算公式:1 个测试套件用于计算通过率的数值 = 测试套件解析出的用例数 × 关联记录数
- **测试时长**:测试总时长
- **操作**:
- 取消运行
- 重新运行批量测试
- 下载 Artifacts
- 下载测试输出

### 批量测试详情页
- **测试报告**:展示测试的运行时长、测试数量、测试通过率、测试结果等信息

![regression-detail](./img/regression-detail_1.png)

- 测试套件解析出的测试用例:1 个测试套件可解析出多条用例,每条用例有对应的执行结果
- 点击测试用例名称可查看具体结果

- **测试进度**:展示每个子测试任务的执行状态,可在子测试任务详情中查看对应的执行日志、Artifact 与测试输出
- **Artifacts**:测试过程中生成的结果文件,如测试报告
- **测试输出**:测试过程中生成的需要可视化的文件,如 ROSbag

## 使用流程概览
进入项目的「批量测试」页面,根据提示创建一个批量测试:

![regression](./img/4-8-regression-intro.png)

1. 准备测试环境与数据

- 准备运行批量测试的 [Docker 镜像](../../image/1-intro.md)
- 将镜像推送至公开平台或[刻行时空镜像仓库](../../image/3-push-image.md)
- 将测试数据上传到项目中并按[记录](../../collaboration/record/1-quick-start-record.md)存储

2. 配置测试内容

- 在「[测试套件管理](./3-config-management.md)」页面设置测试套件和相应配置参数
- 在「[测试程序管理](./4-test-bundle-management.md)」页面上传被测程序

3. 执行与监控
- 在「[运行批量测试](./5-run.md)」弹框中,选择测试程序版本与测试套件
- 启动批量测试
- 实时监控测试进度并[查看测试结果](./6-status-and-output.md#查看测试结果)

详情请参见后续章节。
167 changes: 167 additions & 0 deletions docs/sim-and-tests/regression/3-config-management.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
---
sidebar_position: 3
---

# 测试套件
## 简介
测试套件是一组相关联的测试用例集合,提供统一的配置管理界面,支持设置测试名称、运行环境(镜像)、测试数据(记录)等参数,实现测试用例的标准化管理。

![test-suite_1](./img/test-suite_1.png)

## 管理测试套件
### 前提条件
1. 请确保已将测试数据按[记录](../../collaboration/record/1-quick-start-record.md)存储,并给每条记录打上了标签

![test-suite_2](./img/test-suite_2.png)

2. 请确保已准备好测试环境(镜像),并将其推送至公开平台或[刻行时空镜像仓库](../../image/1-intro.md)。
推荐在镜像中定义测试用例:
- 测试用例(testcase)支持解析,详见[定义测试结果](./6-status-and-output.md#定义测试结果)
- 批量测试的输入与输出目录,详见[系统目录](./1-intro.md#系统目录)

### 创建测试套件
1. 在项目左侧边栏,选择「批量测试」,点击按钮进入「测试套件管理」页面:

- 首次编辑测试套件

![test-suite_3](./img/test-suite_3.png)

- 非首次编辑测试套件

![test-suite_4](./img/test-suite_4.png)

2. 点击【编辑】,进入测试套件编辑页面:

![test-suite_5](./img/test-suite_5.png)
![test-suite_6](./img/test-suite_6.png)

3. 填写测试套件名称、运行环境、测试数据等信息:

```yaml
# 示例文件

# 版本号,当前支持的版本为"1"
version: '1'

# 测试名称为 workflow name
name: 'workflow name'

# 一个 job 由一个或多个测试套件组成,这些测试套件可以并行测试
jobs:
# 第一个测试套件的名称为"test-1"
- name: 'test-1'
# 测试类型为"generic"
type: 'generic'

# 镜像地址
images:
# 根据测试类型,输入镜像地址
base: cr.coscene.cn/coscene-hello/position:v1.0.0

# 关联记录
records:
# 该测试套件的关联记录标签为"sample"
labels:
- 'sample'

# 该测试套件的运行命令
parameters:
script:
- /bin/sh
- -c
- 'echo hello'

# 测试套件"test-1"的消息通知模板
notifications:
# 通知到钉钉群
- dingTalkBot:

# 第二个测试套件的名称为"test-2"
- name: 'test-2'

# 控制何时自动触发该测试
on:
# 当上传测试程序时,满足以下条件则会触发
bundlePush:
# 条件:测试程序种类为"test"
category:
- test
```

- **version**:版本号,当前支持的版本为`'1'`。
- **name**:测试名称
- **jobs**:测试套件列表
- **name**:测试套件名称
- **type**:测试类型,当前支持的类型为`'generic'`
- **images**:测试套件运行的镜像,支持使用刻行时空镜像仓库或公开平台的镜像
- **records**:运行该测试套件时使用的记录,通过标签关联记录
- **parameters**:运行该测试套件时使用的参数
- **notifications**:测试套件运行完成后发送的消息通知模版
- **on**:自动触发测试
- **bundlePush**:当上传测试程序时,其「种类」满足条件则会触发

具体格式详见 [配置文件格式与样例](./9-yaml-sample.md)。

4. 点击【保存】,保存测试套件配置文件。

![test-suite_7](./img/test-suite_7.png)

### 上传、下载与编辑
> 测试套件的配置文件为 cos.yaml,支持直接上传、下载与编辑。

1. 在项目左侧边栏,选择「批量测试」,点击按钮进入「测试套件管理」页面:

![test-suite_4](./img/test-suite_4.png)

2. 上传、下载或直接编辑配置文件:

![test-suite_8](./img/test-suite_8.png)

3. 点击【保存】,保存测试套件配置文件。

![test-suite_7](./img/test-suite_7.png)

### 查看
配置文件校验通过后,测试套件管理页面将展示解析结果,包括测试套件的基本信息、运行环境、数据关联及触发条件等配置详情。

- 测试名称与测试套件名称

![test-suite_9](./img/test-suite_9.png)

- 测试类型与镜像

![test-suite_10](./img/test-suite_10.png)

- 关联记录

![test-suite_11](./img/test-suite_11.png)

- 关联触发条件

![test-suite_12](./img/test-suite_12.png)

- 通知模板样式

![test-suite_13](./img/test-suite_13.png)

### 使用
在运行批量测试时,可选择测试套件,系统将根据测试套件配置信息运行测试。
<img src={require('./img/test-suite_14.png').default} alt="test-suite_14" width="500" />

## 了解更多
- [配置文件格式与样例](./9-yaml-sample.md)
- [测试程序](./4-test-bundle-management.md)
- [管理测试结果](./6-status-and-output.md)
- [运行批量测试](./5-run.md)

## 常见问题
1. **问:无法保存测试套件,提示”记录错误:标签不存在:sample“**

答:请检查名为「sample」的测试套件,是否存在错误的标签,如标签不存在或书写错误。此处仅支持使用已存在的标签。了解[如何给记录添加标签](../../collaboration/record/3-manage-records.md#编辑)

2. **问:无法保存测试套件,提示”请检查 yaml 文件格式“**

答:请检查测试套件配置文件格式是否正确,如配置文件格式错误,可参考[配置文件格式与样例](./9-yaml-sample.md)



59 changes: 59 additions & 0 deletions docs/sim-and-tests/regression/4-test-bundle-management.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
sidebar_position: 4
---

# 测试程序
## 简介
测试程序是被测试的代码文件,可以是一个.deb 格式的文件或.zip /.tgz /.tar.gz 格式的压缩文件。

![testbundle_1](./img/testbundle_1.png)

## 管理测试程序
### 上传测试程序
1. 在项目左侧边栏,选择「批量测试」,点击按钮进入「测试程序管理」页面:

- 首次上传测试程序

![testbundle_2](./img/testbundle_2.png)

- 非首次上传测试程序

![testbundle_3](./img/testbundle_3.png)

2. 点击【上传测试程序】:

![testbundle_4](./img/testbundle_4.png)

3. 上传测试程序,填写测试种类与版本:

<img src={require('./img/testbundle_5.png').default} alt="testbundle_5" width="500" />

- **测试程序种类**:自定义输入种类信息,或选择已有的测试种类。

- **测试程序版本**:自定义输入版本信息,如`v0.1`

测试种类与版本信息可用于自动触发测试。详见[配置文件格式与样例-自动触发测试](./9-yaml-sample.md#auto-triggering)

4. 上传测试程序后,列表「状态」栏显示为「活跃」,即表示该测试程序上传成功:

![testbundle_6](./img/testbundle_6.png)

### 下载
1. 在项目左侧边栏,选择「批量测试」,点击按钮进入「测试程序管理」页面:

![testbundle_3](./img/testbundle_3.png)

2. 点击列表中测试程序的「下载」按钮,即可下载测试程序:

![testbundle_7](./img/testbundle_7.png)

### 使用
在运行批量测试时,可选择特定版本的测试程序执行测试任务。可以通过测试程序的序号、种类、版本号来识别所需的测试程序。

<img src={require('./img/testbundle_8.png').default} alt="testbundle_8" width="500" />

## 了解更多
- [运行批量测试](./5-run.md)
- [配置文件格式与样例](./9-yaml-sample.md)
- [管理测试结果](./6-status-and-output.md)
- [测试套件](./3-config-management.md)
Loading