# openEuler RISC-V 24.03 LTS 合入主线测试准备阶段 **Repository Path**: yunxiangluo/openEuler-RISCV-2403LTS-Pretest ## Basic Information - **Project Name**: openEuler RISC-V 24.03 LTS 合入主线测试准备阶段 - **Description**: openEuler-RISCV-2403LTS-Pretest - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2023-12-27 - **Last Updated**: 2025-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![openEuler ico](https://gitee.com/openeuler/QA/raw/master/images/openEuler.png) 版权所有 © 2023 openEuler 社区 您对“本文档”的复制、使用、修改及分发受知识共享 (Creative Commons) 署名—相同方式共享 4.0 国际公共许可协议 (以下简称“CC BY-SA 4.0”) 的约束。为了方便用户理解,您可以通过访问了解 CC BY-SA 4.0 的概要 (但不是替代)。CC BY-SA 4.0 的完整协议内容您可以访问如下网址获取:。 修订记录 | 日期 | 修订版本 | 修改 章节 | 修改描述 | 作者 | |------------|----------|------------|----------|---------| | 2023-12-28 | 1.0.0 | | 初稿 | KevinMX | | | | | | | 目 录 1 概述 > 1.1 版本背景 > 1.2 需求范围 2 风险 3 测试分层策略 4 测试分析设计策略 > 4.1 继承 feature/组件测试设计策略 > 4.2 专项测试策略 5 测试执行策略 6 附件 **Keywords 关键词**: openEuler RISC-V LTS 测试策略 Abstract 摘要: 本文是 openEuler 24.03 LTS RISC-V 版本的整体测试策略,用于指导该版本测试活动的开展。 缩略语清单: | 缩略语 | 英文全名 | 中文解释 | |--------|--------------------------------------|------------| | CVE | Common Vulnerabilities and Exposures | 公共漏洞和暴露 | | LTS | Long time support | 长时间维护 | | OS | Operation System | 操作系统 | # 概述 openEuler 是一款开源操作系统。当前 openEuler 内核源于 Linux,支持鲲鹏、RISC-V 及其它多种架构处理器,能够充分释放计算芯片的潜能,是面向全球开源贡献者构建的高效、稳定、安全的开源操作系统,适用于数据库、大数据、云计算、人工智能等应用场景。 本文主要描述 openEuler 24.03 RISC-V 版本的总体测试策略。其按照社区开发模式进行运作,结合社区 release-manager 团队制定的版本计划规划相应的测试活动。整体测试策略覆盖需求、继承需求的测试分析与执行,明确各个测试周期的测试策略及出入口标准,并指导后续测试活动。 ## 版本背景 - openEuler 24.03 RISC-V 版本已于 2023.10 发布 - openEuler 24.03 RISC-V LTS 版本发布 - 本次发布范围为 BaseOS 仓库 - 内核版本:Linux kernel 6.6 ## 需求范围 本次发布的 openEuler 24.03 RISC-V 版本为 RISC-V 第一个正式发布的 LTS 版本。 BaseOS 软件包发布范围见:[BaseOS List]() # 风险 | 问题类型 | 问题描述 | 问题等级 | 应对措施 | 责任人 | 状态 | |----------|----------|----------|----------|--------|------| | | | | | | | # 测试分层策略 | 需求 | 开发主体 | 测试主体 | 测试分层策略 | |------|----------|----------|--------------| | | | | | # 测试分析设计策略 ## 继承 feature/组件测试设计策略 从历史版本继承的功能特性的测试策略如下: 从老版本继承的功能特性的测试策略如下: | Feature/组件 | 策略 | |-----------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | **内核** | 适配内核到 Linux kernel 6.6,继承已有测试能力,采用开源测试套 LTP/mmtest 等进行内核基本功能的测试保障;通过开源性能测试工具对内核性能进行验证 | | **操作系统基础底座 (BaseOS)** | 继承已有测试能力,通过 mugen 自动化测试对发布范围内所有软件包进行验证 | | **容器**(isula/docker/安全容器/系统容器/镜像) | 继承已有测试能力,重点关注本次容器领域相关软件包升级后,容器引擎原有功能完整性和有效性,需覆盖 isula、docker 两个引擎;分别验证安全容器、系统容器和普通容器场景下基本功能验证;另外需要对发布的 openEuler 容器镜像进行基本的使用验证 | | **编译器**(gcc/jdk) | 继承已有测试能力,基于开源测试套对 gcc 和 jdk 相关功能进行验证 | | **安装部署** | 继承已有测试能力,覆盖开发板/虚机场景 | | **xfce** | 继承已有测试能力,重点关注 xfce 桌面的可安装性和提供组件的能力 | ## 专项测试策略 ### 安全测试 | 测试内容 | 策略/说明 | |---------------------|----------------------------------------------------------| | syzkaller | fuzz 48~72h(由于 QEMU 转译效率原因,fuzz 速度较慢) | | nmap | 对虚机/开发板进行端口扫描,确保不存在非必要的端口开放 | | mugen/security_test | 执行 mugen/security_test 测试套 | ### 可靠性测试 可靠性测试是本次版本测试中重点考虑的测试活动,在各类资源异常、抢占竞争、压力、故障等背景下,通过功能的并发与反复操作进行长时间的测试;过程中通过监控系统资源、进程运行等状态,及时发现系统和特性隐藏的问题并解决。 本次可靠性测试从关键特性、重要组件、新增特性的可靠性指标和系统级可靠性进行分析和设计,以保证特性和系统在各类异常、故障及压力背景下的持续提供服务的能力。 | 测试类型 | 具体测试内容 | |----------|--------------------------------------------------------------------------------------------------------------------------------------------------------| | 操作系统长稳 | 基于 QEMU 的系统在各种压力背景下,通过构造资源类和服务类等异常,随机执行 LTP、系统管理操作等测试;过程中关注系统重要进程和服务,日志等异常情况;稳定性测试时长充分 | ### 性能测试 性能测试是针对交付件的具体性能指标,利用工具进行各类性能指标的测试。openEuler SP 版本是 LTS 版本的补丁版本,所以在操作系统基本 benchmark 各类指标上需要和 LTS 版本保持一致,性能数据波动需小于 5%;特性类的性能,需要按照各个特性既定的指标,进行时间效率、资源消耗底噪等方面的测试验证,保证指标项与既定目标的一致。 openEuler 24.03 RISC-V 版本为首次 LTS 发布,本次性能测试结果将作为后续版本的性能基线。 | **指标大项** | **指标小项** | **指标值** | **说明** | |-------------|---------------------------------------------------------------------------------|------------------------|-------------------------------------| | **OS 基础性能** | 进程调度子系统,内存管理子系统、进程通信子系统、系统调用、锁性能、文件子系统、网络子系统。 | 参考 LTS 版本相应指标基线 | 与 LTS 基线数据差异小于 5% 以内可接受 | ### 兼容性测试 #### 南向兼容性 南向兼容性测试覆盖 QEMU 虚机和硬件开发板两部分,其中硬件开发板信息如下: | 型号 | 硬件配置信息 | 备注 | |-----------------------------|------------------------------------------------------|----------------| | AllWinner D1 Nezha LicheeRV | AllWinner D1, 1*C906 @ 1GHz, 1GB DDR3 | WiFi+BT+RJ45 | | Sipeed LicheeRV D1 | AllWinner D1, 1*C906 @ 1GHz, 512MB DDR3 | WiFi+BT | | Sipeed LicheePi 4A | THead TH1520, 4*C910 @ 2GHz, 8/16GB LPDDR4X-3733 | WiFi+BT+2*RJ45 | | StarFive VisionFive | StarFive JH7100, 2*U74 @ 1GHz, 8GB LPDDR4 | WiFi+BT+RJ45 | | StarFive VisionFive 2 | StarFive JH7110, 4*U74 @ 1.5GHz, 4GB LPDDR4 | 2*RJ45 | | HiFive Unmatched | SiFive Freedom U740, 4*U74 @ 1.2GHz, 16GB DDR4-1866 | RJ45 | | SG2042 (Milk-V Pioneer) | Sophon SG2042, 64*C910 @ 2GHz, 128GB DDR4-3200 RDIMM | 2*RJ45 | 硬件兼容性测试项:供电接口、USB 接口、视频输出(HDMI)、RJ45 以太网、WiFi、蓝牙。 ### 软件包管理专项测试 - 检查发布软件包依赖情况 - 检查发布软件包安装情况与冲突情况 ### 资料测试 资料测试主要是对版本交付的资料进行测试,重点保证各个资料描述的清晰性和功能的正确性,此外,openEuler 作为一个开源社区,在对提供的中文资料进行测试外,也对英文文档进行了重点测试。资料交付清单如下: | 手册名称 | 覆盖策略 | 中英文测试策略 | |--------|--------------------------|-----------| | 安装指南 | 文档描述与版本的行为是否一致 | 英文描述的准确性 | | 管理员指南 | 文档描述与版本的行为是否一致 | 英文描述的准确性 | ### 取消的测试项目 安全测试 - oss-fuzz:安装部署依赖的 Docker 镜像缺少 riscv64 架构适配 虚拟化测试 - 目前没有支持 H 扩展的硬件设备,目前只有 QEMU 支持,效率过低 接口测试 - 已包含在 CI 内 兼容性测试 - 北向兼容性测试 oecp/oec-application:未适配 riscv64 - 南向兼容性 oec-hardware/oech-ci:未适配 riscv64 # 测试执行策略 openEuler 24.03 RISC-V 版本按照社区 release-manger 团队既定的版本计划,共有 5 轮测试,按照社区研发模式,所有的需求已在拉分支前完成合入,因此本次版本测试采取 1+3+1 的测试方式,即 Round 1 发布的 beta 版本可提供外部开发者基本功能及测试条件,Round 2~4 全量保障本次版本发布所有特性 (新增&继承) 以及其他 DFX 能力,Round 5 进行回归测试。 ### 测试计划 openEuler 24.03 RISC-V 版本按照社区开发模式进行运作,结合社区 release-manager 团队制定的版本计划规划相应的测试活动。 | 测试阶段 | 起始时间 | 结束时间 | Days | Note | |--------------|----------|----------|------|--------------| | Test round 1 | | | 5 | 版本启动测试 | ### 测试重点 ### Round 1 - 功能测试 - mugen - LTP - 编译器测试 - AnghaBench - csmith - dejagnu - yarpgen - 内核测试 - trinity - mmtest ### Round 2 - 功能测试 - mugen - 长稳测试 - LTP Stress ### Round 3 - 功能测试 - mugen - 长稳测试 - LTP Stress - 文档测试 - 对已提供的安装文档和部分操作文档进行验证 - 问题单回归 ### Round 4 - 功能测试 - mugen - 问题单回归 - 长稳测试 - LTP Stress - 文档测试 - 对已提供的安装文档和部分操作文档进行验证 ### Round 5 - 功能测试 - mugen - 问题单全量回归 - 文档测试 - 对已提供的安装文档和部分操作文档进行验证 ### 入口标准 1. 上个阶段无 block 问题遗留。 2. 转测版本的冒烟无阻塞性问题。 3. 满足各阶段版本转测检查项。 ### 出口标准 1. 策略规划的测试活动涉及的测试用例已执行完毕。 2. 发布特性满足版本规划目标。 3. 版本无阻塞问题遗留,其它严重问题有相应规避措施或说明。 # 附件