From 5212ba1a03a9e48dc22845a9fd92bdff678f2857 Mon Sep 17 00:00:00 2001 From: hufanggang Date: Tue, 18 Nov 2025 07:51:09 +0000 Subject: [PATCH 1/2] =?UTF-8?q?add=20Test=5FStrategy/openEuler=5F24.03=5FL?= =?UTF-8?q?TS=5FSP3/openEuler=5F24.03=5FLTS=5FSP3=E7=89=88=E6=9C=ACURPC?= =?UTF-8?q?=E7=89=B9=E6=80=A7=E6=B5=8B=E8=AF=95=E7=AD=96=E7=95=A5.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: hufanggang --- ...13\350\257\225\347\255\226\347\225\245.md" | 217 ++++++++++++++++++ 1 file changed, 217 insertions(+) create mode 100644 "Test_Strategy/openEuler_24.03_LTS_SP3/openEuler_24.03_LTS_SP3\347\211\210\346\234\254URPC\347\211\271\346\200\247\346\265\213\350\257\225\347\255\226\347\225\245.md" diff --git "a/Test_Strategy/openEuler_24.03_LTS_SP3/openEuler_24.03_LTS_SP3\347\211\210\346\234\254URPC\347\211\271\346\200\247\346\265\213\350\257\225\347\255\226\347\225\245.md" "b/Test_Strategy/openEuler_24.03_LTS_SP3/openEuler_24.03_LTS_SP3\347\211\210\346\234\254URPC\347\211\271\346\200\247\346\265\213\350\257\225\347\255\226\347\225\245.md" new file mode 100644 index 0000000..9b41706 --- /dev/null +++ "b/Test_Strategy/openEuler_24.03_LTS_SP3/openEuler_24.03_LTS_SP3\347\211\210\346\234\254URPC\347\211\271\346\200\247\346\265\213\350\257\225\347\255\226\347\225\245.md" @@ -0,0 +1,217 @@ +![avatar](../images/openEuler.png) + +版权所有 © 2022 openEuler社区 + 您对“本文档”的复制、使用、修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称“CC BY-SA 4.0”)的约束。为了方便用户理解,您可以通过访问https://creativecommons.org/licenses/by-sa/4.0/ 了解CC BY-SA 4.0的概要 (但不是替代)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:https://creativecommons.org/licenses/by-sa/4.0/legalcode。 + + 修订记录 + +| 日期 | 修订版本 | 修改描述 | 作者 | +| ---- | ----------- | -------- | ---- | +|2025-11-13|1.0.0|初稿|胡芳刚| + +关键词: URPC UMQ + + +摘要:本文从特性介绍、测试目标、测试内容、测试计划等说明URPC特性测试策略。 + + +缩略语清单: + +| 缩略语 | 英文全名 | 中文解释 | +| ------ | -------- | -------- | +|URPC|Unified Remote Procedure Call|统一远程过程调用| +|UMQ|Unified Message Queue|统一消息队列| + + +# 特性描述 + +支持灵衢原生高性能设备间RPC通信 + +## 需求清单 +|no|feature|status|sig|owner|发布方式|涉及软件包列表| +|:----|:---|:---|:--|:----|:----|:----| +|[ID3WJO](https://gitee.com/openeuler/release-management/issues/ID3WJO?from=project-issue)|URPC:URPC支持UB|Developing|sig-UnifiedBus|@nemeiju|ISO|liburpc| + + +## 特性应用场景分析 + +1. 提供URPC基础建链、远程通信、远程调用能力 + + +## 特性实现流程描述 + +1、URPC功能实现流程 +```mermaid +%% 时序图例子,-> 直线,-->虚线,->>实线箭头 +sequenceDiagram + participant Client as 应用client + participant Server as 应用server + + Note over Client,Server: 1. 初始化阶段 + Client->>Client: urpc_init 初始化urpc + Server->>Server: urpc_init 初始化urpc + Client->>Client: 内存注册,创建chanel和queue + Server->>Server: 内存注册,创建chanel和queue + + Note over Client,Server: 2. 建链 + Client->>Server: client 向 server 发送建链请求,发送内存信息 + Server->>Client: sever回复响应,并建立长链接 + Client->>Server: channel add local queue + Client->>Server: channel add remote queue + Client->>Server: local queue pair remote queue + + Note over Client,Server: URPC建链完成 + + Note over Client,Server: 3. 数据面传输阶段开始 + + loop 持续数据传输 + Note over Client: 应用准备数据 + Client->>Server: 调用 urpc_func_call 发送请求报文 + Server->>Server: 接收请求报文并上报 + Server->>Server: 调用 urpc_func_exec 调用指定函数 + Server->>Client: 调用 urpc_func_return 回复远程调用结果 + Client->>Client: 接收远程调用结果,释放内存。 + end + + Note over Client,Server: 4. 断链阶段 + Client->>Server: local queue unpair remote queue + Client->>Server: remove local/remote queue + Client->>Server: detach 结束长链接 + + Note over Client,Server: 5. 去初始化阶段 + + Client->>Client: 排空local queue,并销毁 queue,channel + Server->>Server: 排空local queue,并销毁 queue,channel + Client->>Client: urpc_uninit 去初始化 + Server->>Server: urpc_uninit 去初始化 + +``` + +2、UMQ功能实现流程 +```mermaid +%% 时序图例子,-> 直线,-->虚线,->>实线箭头 +sequenceDiagram + participant Client as 应用client + participant Server as 应用server + + Note over Client,Server: 1. 初始化阶段 + Client->>Client: umq_init 初始化umq + Server->>Server: umq_init 初始化umq + + Note over Client,Server: 2. 创建句柄阶段 + Client->>Client: umq_create 创建umqh + Client->>Client: umq_bind_info_get 获取本端bindinfo信息 + Server->>Server: umq_create 创建umqh + Server->>Server: umq_bind_info_get 获取本端bindinfo信息 + + Note over Client,Server: 3. 信息交换阶段 + Client->>Server: 发送bindinfo信息
并请求对端bindinfo信息 + Server-->>Client: 发送bindinfo信息 + + Note over Client,Server: 4. 绑定阶段 + Client->>Client: umq_bind + Server->>Server: umq_bind + + Note over Client,Server: UMQ连接建立完成 + + Note over Client,Server: 5. 数据面传输阶段开始 + + loop 持续数据传输 + Note over Client: 应用准备数据 + Client->>Client: umq_buf_alloc 申请内存,准备发送数据 + Client->>Client: umq_post 方向UMQ_IO_TX准备发送数据 + + Client->>Server: 数据包(无确认) + + Note over Server: 应用轮询等待数据 + loop 直到umq_poll返回值大于0 + Server->>Server: umq_poll(UMQ_IO_RX)轮询接收数据 + end + Server->>Server: 处理数据 + Server->>Server: umq_buf_free释放数据 + Server->>Server: umq_buf_alloc申请新的buf + Server->>Server: umq_post方向UMQ_IO_RX + end + + Note over Client,Server: 6. 断链阶段 + Client->>Client: umq_unbind解绑 + Server->>Server: umq_unbind解绑 + Client->>Client: umq_destroy 销毁umqh + Server->>Server: umq_destroy 销毁umqh + Client->>Client: umq_uninit 去初始化 + Server->>Server: umq_uninit 去初始化 + +``` +## 与其他特性交互描述 + +无 + +## 风险项 + +无 + +# 特性分层策略 +## 总体测试策略 + +功能方面覆盖对用户呈现的接口测试、URPC初始化、管理面建链、数据面收发等功能测试,对资源不足、对端进程异常退出等可靠性场景开展测试,并开展正常使用流程的长稳压测。 + +## 接口/功能测试 + +| 接口描述 | 设计思路 | 测试重点 | 备注 | +| ------- | ------- | ------- | ---- | +|初始化|不同初始化参数配置|针对不同配置遍历测试|无| +|管理面建链|单链接、多链接|client端、server端多连接测试|无| +|数据面收发|围绕数据面资源、链接数量测试|多链接收发测试|无| + +## 场景测试 + +同功能测试 + + +## 专项测试 + +| 专项测试类型 | 专项测试描述 | 测试预期结果 | 备注 | +| ----------- | ----------- | ----------- | ---- | +|可靠性测试|构造数据面资源不足,对端进程异常退出测试|不会出现崩溃、资源无法释放等问题,故障恢复后使用正常|无| +|安全测试|病毒/安全编译选项/敏感信息/代码片段引用扫描,开源合规license检查|无安全问题|无| +|长稳测试|正常使用流的长时间压测|系统运行正常,无崩溃、资源泄露等问题|无| + +# 特性测试执行策略 + +## 特性测试依赖描述 + +1. 目前只支持UB硬件使用,依赖UB连接正常通信 + + +## 特性测试约束 + +1. 现阶段不支持Queue异常处理,如果出现Queue异常,需要销毁Queue重新建链即可 + + +## 特性测试环境描述 + +| 硬件型号 | 硬件配置信息 | 备注 | +| -------- | ------------ | ---- | +|MatrixServer服务器|典型配置|NA| + +## 测试计划 + +| Stange name | Begin time | End time | Days | 测试执行策略 | 备注 | +| :------------ | :--------- | :--------- | ---- | ----------------------------- | ------ | +|Test round 4/5/6/7|2025/11/14|2025/12/11|28|全量测试|NA| +|Test round 8/9|2025/12/12|2025/12/25|14|回归测试|NA| + +## 入口标准 + +1. 功能开发已完成 +2. 上阶段无block问题遗留 +3. 基础功能验证正常 + +## 出口标准 + +1. 策略规划的测试活动涉及测试用例100%执行完毕 +2. 性能基线、功能基线等满足特性规划目标 +3. 无block问题遗留,其它严重问题要有相应规避措施或说明 + + +# 附件 \ No newline at end of file -- Gitee From 57d85882db0ebe173333e00501d2287e4057fb2a Mon Sep 17 00:00:00 2001 From: hufanggang Date: Tue, 18 Nov 2025 08:14:20 +0000 Subject: [PATCH 2/2] =?UTF-8?q?add=20Test=5FStrategy/openEuler=5F24.03=5FL?= =?UTF-8?q?TS=5FSP3/openEuler=5F24.03=5FLTS=5FSP3=E7=89=88=E6=9C=ACURMA?= =?UTF-8?q?=E7=89=B9=E6=80=A7=E6=B5=8B=E8=AF=95=E7=AD=96=E7=95=A5.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: hufanggang --- ...13\350\257\225\347\255\226\347\225\245.md" | 171 ++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 "Test_Strategy/openEuler_24.03_LTS_SP3/openEuler_24.03_LTS_SP3\347\211\210\346\234\254URMA\347\211\271\346\200\247\346\265\213\350\257\225\347\255\226\347\225\245.md" diff --git "a/Test_Strategy/openEuler_24.03_LTS_SP3/openEuler_24.03_LTS_SP3\347\211\210\346\234\254URMA\347\211\271\346\200\247\346\265\213\350\257\225\347\255\226\347\225\245.md" "b/Test_Strategy/openEuler_24.03_LTS_SP3/openEuler_24.03_LTS_SP3\347\211\210\346\234\254URMA\347\211\271\346\200\247\346\265\213\350\257\225\347\255\226\347\225\245.md" new file mode 100644 index 0000000..af2c791 --- /dev/null +++ "b/Test_Strategy/openEuler_24.03_LTS_SP3/openEuler_24.03_LTS_SP3\347\211\210\346\234\254URMA\347\211\271\346\200\247\346\265\213\350\257\225\347\255\226\347\225\245.md" @@ -0,0 +1,171 @@ +![avatar](../images/openEuler.png) + +版权所有 © 2022 openEuler社区 + 您对“本文档”的复制、使用、修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称“CC BY-SA 4.0”)的约束。为了方便用户理解,您可以通过访问https://creativecommons.org/licenses/by-sa/4.0/ 了解CC BY-SA 4.0的概要 (但不是替代)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:https://creativecommons.org/licenses/by-sa/4.0/legalcode。 + + 修订记录 + +| 日期 | 修订版本 | 修改描述 | 作者 | +| ---- | ----------- | -------- | ---- | +|2025-11-14|1.0.0|初稿|李树琛| + +关键词: URMA + + +摘要:本文从特性介绍、测试目标、测试内容、测试计划等说明URMA特性测试策略。 + + +缩略语清单: + +| 缩略语 | 英文全名 | 中文解释 | +| ------ | -------- | -------- | +|UBUS|Unified Bus|统一总线| +|URMA|Unified Remote Memory Access|统一远端内存访问,UB协议原生的内存语义和消息语义接口,支持高带宽、低时延,具有良好的可扩展性| + + +# 特性描述 + +URMA子系统在UBUS系统中提供高带宽低时延的数据服务。主要用于对数据中心的各种业务提供消息通信,数据转发的基础功能。对于大数据业务,减少端到端的通信时延。对于HPC和AI业务,提供高带宽、低时延的服务。 + +## 需求清单 +|no|feature|status|sig|owner|发布方式|涉及软件包列表| +|:----|:---|:---|:--|:----|:----|:----| +|[ID3WJX](https://gitee.com/openeuler/release-management/issues/ID3WJX?from=project-issue)|URMA:URMA支持UB基础通信能力|Developing|sig-UnifiedBus|@qianguoxin|ISO|liburma,libubagg,urma-tools,uvs| + + +## 特性应用场景分析 + +1. URMA资源初始化 +2. URMA基础建链 +3. URMA数据面不同模式打流 + + +## 特性实现流程描述 + +1、URMA功能实现流程 +```mermaid +%% 时序图例子,-> 直线,-->虚线,->>实线箭头 +sequenceDiagram + participant Client as 应用client + participant Server as 应用server + + Note over Client,Server: 1. 初始化阶段 + Client->>Client: urma_init 初始化urma + Server->>Server: urma_init 初始化urma + Client->>Client: 创建urma_context、jfc、jfs、jfr、jetty、segment等资源 + Server->>Server: 创建urma_context、jfc、jfs、jfr、jetty、segment等资源 + + Note over Client,Server: 2. 建链 + Client->>Server: 建立socket长连接、交换创建的资源(jetty_id、内存地址等)信息 + Server->>Client: 建立socket长连接、交换创建的资源(jetty_id、内存地址等)信息 + Client->>Server: 通过urma_import_jetty(jfr)与对端建链链接 + Server->>Client: 通过urma_import_jetty(jfr)与对端建链链接 + Client->>Server: urma_import_segment访问远端内存 + Server->>Client: urma_import_segment访问远端内存 + + Note over Client,Server: URMA建链完成 + + Note over Client,Server: 3. 数据面传输阶段开始 + + loop 持续数据传输 + Note over Client: 应用准备数据 + Server->>Client: 调用 urma_post_jetty_recv_wr准备接收buffer + Client->>Server: 调用 urma_post_jetty_send_wr 发送请求报文 + Server->>Server: 调用urma_poll_jfc获取完成事件 + Client->>Client: 调用urma_poll_jfc获取完成事件 + end + + Note over Client,Server: 4. 断链阶段 + Client->>Server: 通过urma_unimport_jetty(jfr)进行拆链操作 + Server->>Client: 通过urma_unimport_jetty(jfr)进行拆链操作 + Client->>Server: 结束长链接 + Server->>Client: 结束长链接 + + Note over Client,Server: 5. 去初始化阶段 + + Client->>Client: 删除segment、jfc、jetty、jfr、jfs、urma_context等资源 + Server->>Server: 删除segment、jfc、jetty、jfr、jfs、urma_context等资源 + Client->>Client: 调用urma_uninit 去初始化 + Server->>Server: 调用urma_uninit 去初始化 + +``` + +## 与其他特性交互描述 + +无 + +## 风险项 + +无 + +# 特性分层策略 +## 总体测试策略 + +覆盖对用户呈现的接口测试,功能方面覆盖URMA初始化、管理面建链、数据面收发等测试,对资源不足、对端进程异常退出等可靠性场景开展测试。 + +## 接口/功能测试 + +| 接口描述 | 设计思路 | 测试重点 | 备注 | +| ------- | ------- | ------- | ---- | +|URMA初始化|考虑遍历不同参数组合配置|针对不同参数组合遍历测试|无| +|URMA管理面建链|单链接、多链接|client端、server端多连接测试|无| +|URMA数据面收发|围绕数据面资源、链接数量测试|多链接收发测试|无| +|URMA基础语义测试|围绕单边/双边不同收发语义测试|单边Read/Write、双边Send/Receive测试|无| + +## 场景测试 + +| 场景描述 | 设计思路 | 测试重点 | 备注 | +| ------- | ------- | ------- | ---- | +|URMA单边read语义功能场景|覆盖资源创建、建链和read语义数据面操作|单边read语义|无| +|URMA单边write语义功能场景|覆盖资源创建、建链和write语义数据面操作|单边write语义|无| +|URMA单边write_imm语义功能场景|覆盖资源创建、建链和write_imm语义数据面操作|write_imm语义|无| +|URMA双边send语义功能场景|覆盖资源创建、建链和send/recv语义数据面操作|双边send/recv语义|无| +|URMA双边send_imm语义功能场景|覆盖资源创建、建链和send_imm语义数据面操作|send_imm语义|无| + +## 专项测试 + +| 专项测试类型 | 专项测试描述 | 测试预期结果 | 备注 | +| ----------- | ----------- | ----------- | ---- | +|可靠性测试|构造数据面资源不足,对端进程异常退出测试|不会出现崩溃、资源无法释放等问题,故障恢复后使用正常|无| +|安全测试|病毒/安全编译选项/敏感信息/代码片段引用扫描,开源合规license检查|无安全问题|无| + + +# 特性测试执行策略 + +## 特性测试依赖描述 + +1. 目前只支持UB硬件使用,依赖UB连接正常通信 + + +## 特性测试约束 + +1. 现阶段不支持TP异常处理,如果出现TP异常,需要重新import_jetty建链 + + +## 特性测试环境描述 + +| 硬件型号 | 硬件配置信息 | 备注 | +| -------- | ------------ | ---- | +|MatrixServer服务器|典型配置|NA| + +## 测试计划 + +| Stange name | Begin time | End time | Days | 测试执行策略 | 备注 | +| :------------ | :--------- | :--------- | ---- | ----------------------------- | ------ | +|Test round 4/5/6/7|2025/11/14|2025/12/11|28|全量测试|NA| +|Test round 8/9|2025/12/12|2025/12/25|14|回归测试|NA| + +## 入口标准 + +1. 功能开发已完成 +2. 上阶段无block问题遗留 +3. 基础功能验证正常 + +## 出口标准 + +1. 策略规划的测试活动涉及测试用例100%执行完毕 +2. 性能基线、功能基线等满足特性规划目标 +3. 无block问题遗留,其它严重问题要有相应规避措施或说明 + + +# 附件 \ No newline at end of file -- Gitee