OC冒烟测试套件正式开源:轻量级、自动化,为系统镜像“健康体检”
在操作系统的研发与构建过程中如何快速验证一个新生成的镜像是否“健康”这往往是开发者面临的第一道关卡。为了解决这一问题OpenCloudOS 社区正式开源了 os_smoke —— 一套专为操作系统设计的轻量级、自动化冒烟测试工具。它主要用于在系统镜像构建完成后第一时间对系统进行全方位的“健康检查”快速验证内核、基础系统、驱动、开发工具等关键组件是否正常工作。一、为什么需要 os_smoke以前传统的系统验证往往依赖人工检查或分散的脚本测试人员通常面临以下困境1. 逐项手工校验系统命令、库文件、编译工具链等关键组件的可用性效率低下且易遗漏。2. 各用例脚本风格各异缺乏统一的结果判定标准与日志规范排障成本高。3. 测试覆盖度依赖个人经验难以系统化地保证每次构建的基线质量。现在有了 os_smoke一切都不一样了。一键运行./tools/tos_test.sh test剩下的交给它。全栈覆盖 从底层的 Kernel、BaseOS到上层的 App、Develop 工具链以及第三方的驱动均可覆盖。智能诊断 自动捕获 dmesg 内核异常测试失败自动保留现场并能自动生成详细的测试日志与结果汇总TPASS/TFAIL。最关键的os_smoke 的架构极其轻量化它无需复杂的环境配置依赖少运行快更适合互联网业务或企业快速迭代验证的场景。二、 部署 os_smoke2.1 获取代码git clone https://gitee.com/OpenCloudOS/os_smokecd os_smoke2.2 环境准备与编译os_smoke 提供了一键式脚本可自动处理依赖安装与编译# 安装依赖./tools/tos_test.sh pkg# 编译测试套./tools/tos_test.sh compile2.3 执行测试用户可以执行全量测试也可以只针对特定模块进行测试# 执行全量冒烟测试./tools/tos_test.sh test# 或按类别执行测试支持 kernel、baseos、app、develop、driver例如./tools/tos_test.sh test kernel# 或执行单个测试用例./tools/tos_test.sh case 用例名称测试完成后结果将保存在 /data/log/os_suites/os_smoke/ 目录下。备注全量冒烟测试因检查项较多整个测试时长大约13-18min中途请不要退出。三、欢迎贡献os_smoke 是一个开放的项目尤其app与驱动的稳定性是操作系统落地的“最后一公里”。面对海量异构硬件我们希望更多硬件厂商贡献真实硬件环境下的驱动加载、IO 压力及故障恢复测试用例。面对行业应用与 OS 的兼容性我们希望软件厂商贡献关键业务场景的冒烟脚本如服务启停、核心接口调用等。我们希望将真实的业务与硬件场景注入 os_smoke 才能共同打造出经得起生产环境考验的坚固底座。欢迎您发现 Bug 请在 Gitee 提交 Issue。有新的测试场景 欢迎提交 PR 贡献您的测试用例。只需在 os_smoke_src/testcases/ 下创建脚本引用框架库即可快速集成。项目地址:https://gitee.com/OpenCloudOS/os_smoke提交Issue:https://gitee.com/OpenCloudOS/os_smoke/issues