# ruyiSDK Test **Repository Path**: weilinfox/ruyisdk-test ## Basic Information - **Project Name**: ruyiSDK Test - **Description**: ruyiSDK Test - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 6 - **Created**: 2024-01-18 - **Last Updated**: 2025-12-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RuyiSDK 测试策略和测试报告(2024.1.16 - ) 修订记录 | 日期 | 修订版本 | 修改 章节 | 修改描述 | 作者 | | --------- | ----- | ------ | ---- | --------------- | | 2024-01-16 | 1.0.0 | | 初稿 v0.3 | PLCT Lab 第三测试小队 | | 2024-02-05 | 1.0.1 | | v0.4 | PLCT Lab 第三测试小队 | | 2024-03-05 | 1.0.2 | | v0.5 | PLCT Lab 第三测试小队 | | 2024-03-19 | 1.0.3 | | v0.6 | PLCT Lab 第三测试小队 | | 2024-04-02 | 1.0.4 | | v0.7 | PLCT Lab 第三测试小队 | | 2024-04-16 | 1.0.5 | | v0.8 | PLCT Lab 第三测试小队 | | 2024-04-30 | 1.0.6 | | v0.9 | PLCT Lab 第三测试小队 | | 2024-05-21 | 1.0.7 | | v0.10 | PLCT Lab 第三测试小队 | | 2024-06-04 | 1.0.8 | | v0.11 | PLCT Lab 第三测试小队 | | 2024-06-18 | 1.0.9 | | v0.12 | PLCT Lab 第三测试小队 | | 2024-06-25 | 1.0.10 | | v0.13 | PLCT Lab 第三测试小队 | | 2024-07-09 | 1.0.11 | | v0.14 | PLCT Lab 第三测试小队 | | 2024-07-23 | 1.0.12 | | v0.15 | PLCT Lab 第三测试小队 | | 2024-08-13 | 1.0.13 | | v0.16 | PLCT Lab 第三测试小队 | | 2024-09-10 | 1.0.14 | | v0.17 | PLCT Lab 第三测试小队 | | 2024-09-24 | 1.0.15 | | v0.18 | PLCT Lab 第三测试小队 | | 2024-10-15 | 1.0.16 | | v0.19 | PLCT Lab 测试团队 | | 2024-10-29 | 1.0.17 | | v0.20.0 | PLCT Lab 测试团队 | | 2024-11-12 | 1.0.18 | | v0.21.0 | PLCT Lab 测试团队 | | 2024-11-26 | 1.0.19 | | v0.22.0 | PLCT Lab 测试团队 | | 2024-12-10 | 1.0.20 | | v0.23.0 | PLCT Lab 测试团队 | | 2024-12-24 | 1.0.21 | | v0.24.0 | PLCT Lab 测试团队 | | 2025-01-07 | 1.0.22 | | v0.25.0 | PLCT Lab 测试团队 | | 2025-01-21 | 1.0.23 | | v0.26.0 | PLCT Lab 测试团队 | | 2025-02-12 | 1.0.24 | | v0.27.0 | PLCT Lab 测试团队 | | 2025-03-03 | 1.0.25 | | v0.28.0 | PLCT Lab 测试团队 | | 2025-03-13 | 1.0.26 | | v0.29.0 | PLCT Lab 测试团队 | | 2025-04-01 | 1.0.27 | | v0.30.0 | PLCT Lab 测试团队 | | 2025-04-15 | 1.0.28 | | v0.31.0 | PLCT Lab 测试团队 | | 2025-04-29 | 1.0.29 | | v0.32.0 | PLCT Lab 测试团队 | | 2025-05-20 | 1.0.30 | | v0.33.0 | PLCT Lab 测试团队 | | 2025-06-03 | 1.0.31 | | v0.34.0 | PLCT Lab 测试团队 | | 2025-06-17 | 1.0.32 | | v0.35.0 | PLCT Lab 测试团队 | | 2025-07-01 | 1.0.32 | | v0.36.0 | PLCT Lab 测试团队 | | 2025-07-15 | 1.0.33 | | v0.37.1 | PLCT Lab 测试团队 | | 2025-07-29 | 1.0.34 | | v0.38.1 | PLCT Lab 测试团队 | | 2025-08-19 | 1.0.35 | | v0.39.0 | PLCT Lab 测试团队 | | 2025-09-09 | 1.0.36 | | 修改以符合实际历史演进 v0.40.0-beta.20250902 | PLCT Lab 测试团队 | | 2025-09-22 | 1.0.37 | | v0.41.0-beta.20250922 | PLCT Lab 测试团队 | | 2025-10-20 | 1.0.38 | | v0.42.0-beta.20251023 | PLCT Lab 测试团队 | | 2025-11-26 | 1.0.39 | | v0.43.0-beta.20251118 | PLCT Lab 测试团队 | | 2025-12-29 | 1.0.40 | | v0.44.0-beta.20251219 | PLCT Lab 测试团队 | 目 录 1. 概述 2. 测试策略 3. 开发中的测试 4. 里程碑版本测试 5. 测试资源 **测试报告列表** 1. [20240116 v0.3 敏捷双周开发版本测试报告](./20240116/) 2. [20240130 v0.4 敏捷双周开发版本测试报告](./20240130/) 3. [20240224 v0.5 敏捷双周开发版本测试报告](./20240224/) 4. [20240312 v0.6 敏捷双周开发版本测试报告](./20240312/) 5. [20240326 v0.7 敏捷双周开发版本测试报告](./20240327/) 6. [20240408 v0.8 敏捷双周开发版本测试报告](./20240408/) 7. [20240423 v0.9 敏捷双周开发版本测试报告](./20240423/) 8. [20240514 v0.10 敏捷双周开发版本测试报告](./20240514/) 9. [20240528 v0.11 敏捷双周开发版本测试报告](./20240528/) 10. [20240611 v0.12 敏捷双周开发版本测试报告](./20240611/) 11. [20240625 v0.13 敏捷双周开发版本测试报告](./20240625/) 12. [20240709 v0.14 敏捷双周开发版本测试报告](./20240709/) 13. [20240723 v0.15 敏捷双周开发版本测试报告](./20240723/) 14. [20240813 v0.16 敏捷双周开发版本测试报告](./20240813/) 15. [20240903 v0.17 敏捷双周开发版本测试报告](./20240903/) 16. [20240913 v0.18 敏捷双周开发版本测试报告](./20240913/) 17. [20241008 v0.19 敏捷双周开发版本测试报告](./20241008/) 18. [20241022 v0.20.0 敏捷双周开发版本测试报告](./20241022/) 19. [20241105 v0.21.0 敏捷双周开发版本测试报告](./20241105/) 20. [20241119 v0.22.0 敏捷双周开发版本测试报告](./20241119/) 21. [20241210 v0.23.0 敏捷双周开发版本测试报告](./20241203/) 22. [20241224 v0.24.0 敏捷双周开发版本测试报告](./20241217/) 23. [20250107 v0.25.0 敏捷双周开发版本测试报告](./20241231/) 23. [20250121 v0.26.0 敏捷双周开发版本测试报告](./20250115/) 24. [20250212 v0.27.0 敏捷双周开发版本测试报告](./20250212/) 25. [20250303 v0.28.0 敏捷双周开发版本测试报告](./20250303/) 26. [20250313 v0.29.0 敏捷双周开发版本测试报告](./20250313/) 27. [20250401 v0.30.0 敏捷双周开发版本测试报告](./20250326/) 28. [20250415 v0.31.0 敏捷双周开发版本测试报告](./20250409/) 29. [20250429 v0.32.0 敏捷双周开发版本测试报告](./20250422/) 30. [20250520 v0.33.0 敏捷双周开发版本测试报告](./20250514/) 31. [20250603 v0.34.0 敏捷双周开发版本测试报告](./20250528/) 32. [20250617 v0.35.0 敏捷双周开发版本测试报告](./20250610/) 33. [20250701 v0.36.0 敏捷双周开发版本测试报告](./20250630/) 34. [20250715 v0.37.1 敏捷双周开发版本测试报告](./20250712/) 35. [20250729 v0.38.1 敏捷双周开发版本测试报告](./20250723/) 36. [20250819 v0.39.0 敏捷双周开发版本测试报告](./20250818/) 37. [20250903 v0.40.0-beta.20250902 敏捷双周开发版本测试报告](./20250903/) 38. [20250930 v0.41.0-beta.20250922 敏捷双周开发版本测试报告](./20250922/) 39. [20251024 v0.42.0-beta.20251017 敏捷双周开发版本测试报告](./20251020/) 40. [20251119 v0.43.0-beta.20251118 敏捷双周开发版本测试报告](./20251119/) 41. [20251222 v0.44.0-beta.20251219 敏捷双周开发版本测试报告](./20251222/) ## 1. 概述 RuyiSDK旨在为 RISC-V 开发者提供一个一体化集成开发环境。为 RISC-V 用户提供相同的开发流程,让用户可以在不同的开源工具和制造商定制的工具链之间轻松切换。对于用户购买到的任何一款RuyiSDK支持的 RISC-V 开发板或模组,都可通过RuyiSDK 系统获得硬件资料说明、固件和软件更新、系统性开发环境支持、软硬件调试支持。开发者可以轻松获取任何常用的 RISC-V 扩展指令集架构组合的系统软件支持,通过RuyiSDK 系统便捷地生成客户所需的操作系统、工具链、语言执行环境(运行时或虚拟机)、计算库和应用框架。RuyiSDK支持和持续维护 RISC-V Vector 0.7.1和 RVP 0.5.2 等已经大规模硅化的草案标准和一些厂商定制扩展。 RuyiSDK V1.0主要聚焦 RuyiSDK 基础框架的实现与主体环节的打通,发布内容主要包含8个方面。 1. Toolchain:GNU 工具链对 RISC-V 扩展指令集的多版本支持和系统适配 2. Sysroot:openEuler,RevyOS 在内的2种操作系统的交叉环境和本地环境支持 3. 模拟器:整合了 Xuantie CPUs 的扩展实现,并模拟了 LicheeRV 和 LicheePi4A 的硬件环境 4. 硬件镜像:提供 Lichee RV,Lichee Pi 4A ,Milk-V Pioneer, K230 等众多平台配套镜像 5. 辅助工具:提供了自动化构建与便捷交互使用工具 6. RuyiSDK 文档:介绍了工具链,模拟器,镜像和辅助工具的构建与使用方法 7. RuyiSDK 软件源,软件源发布内容包括但不限于 1-5 项 8. RuyiSDK IDE 详细参考: https://github.com/ruyisdk/ 和 https://github.com/ruyisdk/ruyi 根据RuyiSDK发展路线,2023年12月推出首个版本v0.2 (已通过测试按期发布),从2024年1月16日起按每两个工作周为周期,发布新版本,并在正式版本发布一周后给出测试报告。 从2025年9月3日起按每两个工作周为周期,改为先发布测试版,并在发布一周后给出测试版测试报告,由测试报告给出正式版本发版评估。 ## 2. 测试策略 RuyiSDK 版本测试按照RuyiSDK团队制定的版本发布计划规划相应的测试活动,测试以用户的视角,基于[RuyiSDK 版本用户手册](https://ruyisdk.org/docs/intro),测试检验每个功能是否能正常使用。本测试只验证Ruyi包管理器和 RuyiSDK IDE工具的使用,不涉及使用GCC、LLVM等具体工具链的使用。 ### 2.1 测试计划 每两周敏捷开发版本的测试为开发中的测试,只测试新加的功能。每个里程碑版本测试分为开发中的测试,Round1测试,缺陷修复,Round2测试四个过程,如表1。 每两周敏捷开发版本的测试为开发中的测试,测试任务包括:1. 开发新功能自动化测试用例,并提交到组内仓库;2. RuyiSDK可自动化测试部分进行全量测试,包括测试新加的功能,跳过暂未实现自动化测试的历史继承特性测试;3. 回归测试遗留缺陷; 4. 缺陷提交issue到项目repo; 5.在使用手册上添加新功能的使用方法。 表1. RuyiSDK 2周敏捷版本测试计划(每2周收到一个新的版本和简要功能描述) | 测试阶段 | 起始时间 | 结束时间 | Days | 备注 | | ------ | --------- | ---------------------- | ---- | ------ | | 敏捷测试| | | 7 | 自动化测试用例开发,新功能测试,缺陷回归测试,缺陷ISSUE提交,测试报告,使用文档添加(新功能) | * 2周发布功能点少,不影响敏捷测试进度时,可安排专门人员手工快速对新增功能点进行快速验证。 * 测试平台开发(QEMU + 开发板 + 图形化应用)开发为长线任务,在非测试周(两周中的另一周)为工作重点,安排专人(多人)负责。 * 调研工作(IDE工具、原型搭建、RISC-V开发板的操作系统适用情况)为非测试周的工作重点(职工)或每周的工作重点(不参与RuyiSDK测试和测试平台开发的实习生),每两周进行一次技术分享。 表2. RuyiSDK 里程碑版本测试计划 | 测试阶段 | 起始时间 | 结束时间 | Days | 备注 | | ------ | --------- | ---------------------- | ---- | ------ | | 开发中的测试 | | | 0(由仓库 CI 自动执行) | 启动单元测试 | | Round1 (同步添加缺陷issue)| | | 7 | 启动版本测试 | | 缺陷修复 | | | 7 | 缺陷修复 | | Round2 | | | 7 | 周期结束后发布测试 | 注: 1. 本测试只验证Ruyi包管理器和 RuyiSDK IDE工具的使用,不涉及使用GCC、LLVM等具体工具链的使用。 2. 从某版本开始 Round1 压缩为 1 天,缺陷修复与 Round2 合并为 7 天;由于先发版后测试,故测试结论不影响发版 3. 从某版本开始没有足够实习生进行GUI测试,由于IDE本身发布不频繁,改为仅在得到测试请求时才测试 4. issue 确认 Ruyi包管理器工具与操作系统支持矩阵(即前述调研工作)脱离同步,见 [ruyisdk/packages-index#6](https://github.com/ruyisdk/packages-index/issues/6) 5. RuyiSDK 周会确认 0.15 版本开始测试团队不再主导RuyiSDK文档编写,同时将《RuyiSDK 版本用户手册》改为《RuyiSDK 文档》。最后的文档提交与延迟合并见 [ruyisdk/docs#60](https://github.com/ruyisdk/docs/pull/60) 6. 部分版本没有发布测试版本(如 v0.38.0),或测试版和正式版间隔不足 1 天(如 v0.37.0),则 Round1 测试自动跳过 7. 0.40.0 版本开始 Round2 测试不再发布测试报告,将 Round1 测试重新扩展为 7 天并由 Round1 发布测试报告;同时执行缺陷修复,根据测试报告结论给出版本质量是否符合发版要求 ### 2.2 测试重点 + 单元测试:单元测试在RuyiSDK 开发完成前进行,由开发人员自行维护,协助开发人员完成开发过程中的缺陷发现和修复。 + Round1 测试:RuyiSDK 开发完成后进行,在测试版本根据[RuyiSDK 版本用户手册](https://ruyisdk.org/docs/intro)验证功能的正确性。 + Round2 测试:Round1缺陷修复后,发布正式版本,在正式版本根据[RuyiSDK 版本用户手册](https://ruyisdk.org/docs/intro)验证功能的正确性,完成后发布测试报告。 注: 1. 0.40.0 版本开始 Round2 测试不再发布测试报告,改由 Round1 发布测试报告,根据测试报告结论给出版本质量是否符合发版要求 ### 2.3 入口标准 1. 上个阶段无 block 问题遗留。 2. 转测版本的冒烟无阻塞性问题。 3. 满足各阶段版本转测检查项。 ### 2.4 出口标准 1. 策略规划的测试活动涉及的测试用例已执行完毕。 2. 发布特性满足版本规划目标。 3. 版本无阻塞问题遗留,其它严重问题有相应规避措施或说明。 ## 3. 开发中的测试 测试目的:开发中的测试在RuyiSDK 每2周敏捷开发版本或里程碑正式发布版本开发完成前进行,由 CI 在每个提交和标签下自动执行,协助开发人员完成开发过程中的缺陷发现和修复。 测试方法: ``pytest`` 正确判定标准: CI 测试通过。 注: 1. 从 0.39.0 版本开始 litester 部分加入 CI,与单元测试同步执行 ## 4. 里程碑版本测试 ### 4.1 Round1 测试 测试目的:RuyiSDK 里程碑正式发布版本开发完成后进行,根据[RuyiSDK 版本用户手册](https://ruyisdk.org/docs/intro)验证功能的正确性。 测试方法:基于[RuyiSDK 版本用户手册](https://ruyisdk.org/docs/intro),开发litester测试套和测试用例,自动化验证功能的正确性。 1. litester测试(原Mugen测试):根据功能点,开发litester测试套和测试用例,验证实际输出和预期输出的一致性。 2. openQA测试:针对硬件开发板平台和GUI图像化应用使用,根据功能点,开发openQA测试程序,验证实际命令行和图形化输出和预期输出的一致性。(无GUI环境,此测试不用进行) 3. 问题单全量回归 4. 编译器测试(用于验证安装成功的编译环境功能和手动安装的环境功能一致,AnghaBench、csmith、dejagnu,RuyiSDK会议确认此测试不用进行)。 5. 文档测试(对安装文档和部分操作文档进行验证) 测试方法:基于[RuyiSDK 版本用户手册](https://ruyisdk.org/docs/intro),开发litester测试套和测试用例,自动化验证功能的正确性。 1. litester测试:根据功能点,开发litester测试套和测试用例,验证实际输出和预期输出的一致性。 2. openQA测试:针对硬件开发板平台和GUI图像化应用使用,根据功能点,开发openQA测试程序,验证实际命令行和图形化输出和预期输出的一致性。(无GUI环境,此测试不用进行) 3. 问题单全量回归 4. 编译器测试(用于验证安装成功的编译环境功能和手动安装的环境功能一致,AnghaBench、csmith、dejagnu,RuyiSDK会议确认此测试不用进行)。 5. 文档测试(对安装文档和部分操作文档进行验证) 正确判定标准:按照[RuyiSDK 版本用户手册](https://ruyisdk.org/docs/intro),实际输出和预期输出的一致。 ### 4.2 Round2 测试 测试目的:round1 测试缺陷修复后进行,根据[RuyiSDK 版本用户手册](https://ruyisdk.org/docs/intro)验证功能的正确性,回归测试round1测试发现的缺陷,重点验证在各支持发行版平台上的功能正常。 测试方法:基于[RuyiSDK 版本用户手册](https://ruyisdk.org/docs/intro),开发litester测试套和测试用例,自动化验证功能的正确性。 1. litester测试:根据功能点,开发litester测试套和测试用例,验证实际输出和预期输出的一致性。 2. openQA测试:针对硬件开发板平台和GUI图像化应用使用,根据功能点,开发openQA测试程序,验证实际命令行和图形化输出和预期输出的一致性。(无GUI环境,此测试不用进行) 3. 问题单全量回归 4. 编译器测试(用于验证安装成功的编译环境功能和手动安装的环境功能一致,AnghaBench、csmith、dejagnu,RuyiSDK会议确认此测试不用进行)。 5. 文档测试(对安装文档和部分操作文档进行验证) 正确判定标准:按照[RuyiSDK 版本用户手册](https://ruyisdk.org/docs/intro),实际输出和预期输出的一致。 ## 5. 测试资源 1. [ruyi-mugen](https://gitee.com/yunxiangluo/mugen-ruyi/) 2. [ruyi-litester](https://github.com/weilinfox/ruyi-litester/) 3. [ruyi-reimu](https://github.com/weilinfox/ruyi-reimu/) 4. [ruyi-litester-reports](https://github.com/weilinfox/ruyi-litester-reports/) 5. [RuyiSDK 双周新版本发布判定方法](https://gitee.com/yunxiangluo/ruyisdk-test/blob/master/Conditions_for_Releases.md)