From 8928ca4c7a709d5c4b3104a136f28d599a83df06 Mon Sep 17 00:00:00 2001 From: qiaoyujie Date: Wed, 23 Mar 2022 10:23:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A022.03=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=AD=96=E7=95=A5=E4=B8=8E=E6=B5=8B=E8=AF=95=E6=8A=A5=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新NestOS测试报告 --- ...13\350\257\225\347\255\226\347\225\245.md" | 228 ++++++++++++++++++ ...13\350\257\225\346\212\245\345\221\212.md" | 137 +++++++++++ 2 files changed, 365 insertions(+) create mode 100644 "test/NestOS 22.03 \347\211\210\346\234\254\346\265\213\350\257\225\347\255\226\347\225\245.md" create mode 100644 "test/openEuler 22.03 LTS\347\211\210\346\234\254NestOS\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" diff --git "a/test/NestOS 22.03 \347\211\210\346\234\254\346\265\213\350\257\225\347\255\226\347\225\245.md" "b/test/NestOS 22.03 \347\211\210\346\234\254\346\265\213\350\257\225\347\255\226\347\225\245.md" new file mode 100644 index 0000000..c3c37fe --- /dev/null +++ "b/test/NestOS 22.03 \347\211\210\346\234\254\346\265\213\350\257\225\347\255\226\347\225\245.md" @@ -0,0 +1,228 @@ +![openEuler ico](../../images/openEuler.png) + +版权所有 © 2022 openEuler社区 +您对“本文档”的复制、使用、修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称“CC BY-SA +4.0”)的约束。为了方便用户理解,您可以通过访问了解CC BY-SA 4.0的概要 (但不是替代)。CC BY-SA +4.0的完整协议内容您可以访问如下网址获取:。 + +修订记录 + +| 日期 | 修订版本 | 修改 章节 | 修改描述 | 作者 | +| --------- | -------- | ---------- | -------- | --------------------------------------- | +| 2022-3-17 | 1.1.0 | | 初稿 | [@duyiwei](https://gitee.com/duyiwei7w) | + + +目 录 + +1 概述 + +> 1.1 版本背景 + +> 1.2 需求范围 + +2 风险 + +3 测试分层策略 + +4 测试分析设计策略 + +> 4.1 新增feature测试设计策略 + +> 4.2 继承feature/组件测试设计策略 + +> 4.3 专项测试策略 + +5 测试执行策略 + +6 附件 + +**Keywords 关键词**: + +NestOS 测试策略 + +Abstract 摘要: + +本文是NestOS-22.03 版本的整体测试策略,用于指导该版本后续测试活动的开展 + +缩略语清单: + +| 缩略语 | 英文全名 | 中文解释 | +| ------- | ---------------- | ------------ | +| OS | Operation System | 操作系统 | +| iSulad | iSulad | iSulad | +| zincati | zincati | 自动更新引擎 | + +# 概述 + +NestOS 是一款基于openEuler开发的自动更新的最小化操作系统。Nestos搭载了docker、iSulad、podman、cri-o等常见容器引擎,将ignition配置、rpm-ostree、OCI支持、SElinux强化等技术集成在一起,采用基于双系统分区、容器技术和集群架构的设计思路,可以适配云场景下多种基础运行环境。同时NestOS针对Kubernetes进行优化,在IaaS生态构建方面,针对openStack、oVirt等平台提供支持;在PaaS生态构建方面,针对OKD、Rancher等平台提供支持,使系统具备十分便捷的集群组件能力,可以更安全的运行大规模的容器化工作负载。 + +本文主要描述NestOS 22.03 版本的总体测试策略,按照社区开发模式进行运作,结合社区CloudNative/QA团队制定的版本计划规划相应的测试活动。整体测试策略覆盖新需求、继承需求的测试分析和执行,明确各个测试周期的测试策略及出入口标准,指导后续测试活动。 + +## 版本背景 + +NestOS 22.03 版本是基于5.10内核22年全新的基线版本,该版本基于openEuler 22.03 LTS 制作,软件包选型与策略与openEuler保持一致。 + +## 需求范围 + +NestOS 22.03 版本交付需求列表如下: + +| **no** | **feature** | **status** | **owner** | +| ------ | ------------------------------------------------------------ | ---------- | ---------------------------------------------- | +|1|支持通过ignition自定义用户配置|Developing|[@duyiwei](https://gitee.com/duyiwei7w), [@付善庆](https://gitee.com/fu-shanqing)| +|2|支持远程/本地获取.ign文件并读取安装|Developing|[@duyiwei](https://gitee.com/duyiwei7w), [@付善庆](https://gitee.com/fu-shanqing)| +|3|支持并验证通过密钥登录,禁用密码登录|Developing|[@duyiwei](https://gitee.com/duyiwei7w), [@付善庆](https://gitee.com/fu-shanqing)| +|4|支持双系统分区并验证zincati自动更新|Developing| [@duyiwei](https://gitee.com/duyiwei7w), [@付善庆](https://gitee.com/fu-shanqing) | +|5|rpm-ostree基本功能验证|Developing|[@duyiwei](https://gitee.com/duyiwei7w), [@付善庆](https://gitee.com/fu-shanqing)| +|6|支持iSulad、podman、docker等主流容器引擎、K8S部署|Developing|[@duyiwei](https://gitee.com/duyiwei7w), [@付善庆](https://gitee.com/fu-shanqing)| +|7|操作系统基础命令验证|Developing| [@duyiwei](https://gitee.com/duyiwei7w), [@付善庆](https://gitee.com/fu-shanqing) | + + + +# 风险 + +| 问题类型 | 问题描述 | 问题等级 | 应对措施 | 责任人 | 状态 | +| -------- | -------- | -------- | -------- | ------ | ---- | +| 暂无 | | | | | | + +# 测试分层策略 + +本次 NestOS 22.03 版本的具体测试分层策略如下: + +| **需求** | **测试分层策略** | +| ------------------------------- | ------------------------------------------------------------ | +| 支持通过ignition自定义用户配置 | 验证实现不同功能模块的ign文件对NestOS配置生效 | +| 支持远程/本地获取.ign文件并读取安装 | 验证nestos-installer可以通过本地/网络获取ign文件并将NestOS安装至硬盘 | +| 支持并验证通过密钥登录,禁用密码登录 | 验证ssh-key-dir功能正常,仅支持公钥密钥登录,禁用密码登录 | +| 支持双系统分区并验证zincati自动更新 | 验证zincati服务正常启动并可自动更新至NestOS最新版本,并通过被动分区切换至新版本 | +| rpm-ostree基本功能验证 | 验证rpm-ostree原子化更新,搭配NestOS软件包安装、系统回滚与切换等 | +| 支持iSulad、podman、docker等主流容器引擎、K8S部署 | 验证各容器引擎可正常使用,手动搭建K8S集群 | +| 操作系统基础命令验证 | 验证操作系统常用基础指令 | + + + +# 测试分析设计策略 + +## 新增feature测试设计策略 + +| *序号* | *Feature* | *重点* | *设计思路* | *备注* | +| ------ | ---------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------ | +| 1 | 支持通过ignition自定义用户配置 | NestOS启动后各模块正常运行 | 编写以下配置对应的ign文件:网络配置、存储配置、文件管理、内核参数配置、用户组与Hostname配置、软件包安装配置、时区配置,并重启验证 | | +| 2 | 支持远程/本地获取.ign文件并读取安装 | nestos-installer修改后功能正常 | 通过本地拷贝或nestos-installer支持的网络获取配置文件的功能,将NestOS安装至硬盘 | | +| 3 | 支持并验证通过密钥登录,禁用密码登录 | 仅支持密钥登录 | 安全性考虑,NestOS仅支持密钥登录,可通过修改openssh配置暂时修改该策略 | | +| 4 | 支持双系统分区并验证zincati自动更新 | zincati服务正常启动 | zincati服务正常启动,从cincinnati后端拿取新版本数据,通过rpm-ostree下载并安装。 | | +| 5 | rpm-ostree基本功能验证 | 基本功能符合预期 | 验证NestOS手动更新,版本回滚与切换 | | +| 6 | 支持iSulad、podman、docker等主流容器引擎、K8S部署 | 容器正常工作 | 容器基本功能正常使用,完成容器性能测试的横向对比;根据提供教程手动部署K8S集群 | | +| 7 | 操作系统基础命令验证 | 指令正常执行 | 验证操作系统常用基础指令 | | + + +## 继承feature/组件测试设计策略 + +从老版本继承的功能特性的测试策略如下: + +| Feature/组件 | 策略 | +| ------------ | ---- | +| 暂无 | | + +## 专项测试策略 + +### 安全测试 + +NestOS 作为社区开源版本,在系统整体安全上需要进行保证,以发现系统中存在的安全脆弱性与风险,为版本的安全提供切实的依据,推动产品完成安全问题整改,提高产品的安全。整体安全测试需要覆盖: + +| 测试类型 | 具体测试内容 | +| :--------- | -------------------------------------------------- | +| 安全性测试 | 对身份鉴别、安全审计、用户登录、用户权限、远程连接 | + +### 可靠性测试 + +可靠性是版本测试中需重点考虑的测试活动,在各类资源异常/抢占竞争/压力/故障等背景下,通过功能的并发、反复操作进行长时间的测试;过程中通过监控系统资源、进程运行等状态,及时发现系统/特性隐藏的问题。 + +可靠性的测试建议从关键特性、重要组件、新增特性的可靠性指标和系统级的可靠性进行分析和设计,已保证特性和系统在各类异常、故障及压力背景下的持续提供服务的能力。 + +| 测试类性 | 具体测试内容 | +| ------------ | ------------------------------------------------------------ | +| 操作系统长稳 | 对NestOS进行稳定测试,测试操作系统稳定运行168 小时。 | +| 基础功能测试 | 对系统管理、系统服务、常用命令(文件系统、进程监控、网络、用户管理)进行测试 | +| 容器功能测试 | 测试iSulad、podman、docker容器引擎基本功能,测试K8S+iSulad 搭建 | + +### 性能测试 + +性能测试是针对交付件的具体性能指标,利用工具进行各类性能指标的测试。 + +| **指标大项** | **指标小项** | +| ------------ | ------------------------------------------------------------ | +| 基础性能 | 对网络性能、容器性能进行了测试,重点测试了iSulad、docker、podman容器引擎对容器启停时间的消耗。 | + +### 兼容性测试 + +NestOS 在以下硬件进行安装适配和基本功能验证 + +| **型号** | +|:-| +| 飞腾FT2000+ | +| 飞腾S2500 | +| 鲲鹏920 | + + +### 资料测试 + +资料测试主要是对版本交付的资料进行测试,重点是保证各个资料描述说明的清晰性和功能的正确性,另外openEuler作为一个开源社区,除提供中文的资料还有英文文档也需要重点测试。资料交付清单如下: + +| **手册名称** | **覆盖策略** | **中英文测试策略** | +|--------------------|------------------------------------------------------------------------|--------------------| +| NestOS使用手册 | 安装步骤的准确性及各特性使用的正确性 | 当前仅支持中文版 | + +# 测试执行策略 + +NestOS 软件包原则上取用 openEuler-22.03-LTS-NEXT分支,部分软件包如nestos-installer、afterburn、ssh-key-dir等为新合入社区软件包,暂未合入openEuler-22.03-LTS-NEXT分支,但均已在该环境下编译。 + +经与sig-QA商讨,NestOS测试以功能测试为主,优先保证NestOS所有功能特性正常,制定测试计划如下: + +### 测试计划 + +NestOS 22.03 版本按照社区开发模式进行运作,结合与QA团队制定的版本计划规划相应的测试活动。 + +| Stange name | Begin time | End time | Days | Note | +| :------------ | :--------- | :--------- | ---- | ----------------------------- | +| Branch | 2022/2/24 | 2022/2/24 | 1 | 从22.03 LTS-Next分支拉取软件包,本地构建 | +| Build | 2022/2/25 | 2022/3/5 | 9 | 版本DailyBuild & 开发自验证 | +| Test round 1 | 2022/3/7 | 2022/3/10 | 4 | 版本启动测试,ign用例编写 | +| Test round 2 | 2022/3/11 | 2022/3/13 | 3 | 主要特性与功能测试验证 | +| Test round 3 | 2022/3/14 | 2022/3/20 | 7 | 应用场景测试、性能测试与长稳测试| + +### 测试重点 + +测试阶段1: + +1. 虚拟化平台与硬件适配安装验证 +2. 测试用例编写 + +测试阶段2: + +1. 基础OS质量保障 + +5. 主要功能特性测试验证 + + +测试阶段3: + +1. 问题单回归 +2. 应用场景测试验证 + +### 入口标准 + +1. 上个阶段无block问题遗留 + +2. 转测版本的冒烟无阻塞性问题 + +### 出口标准 + +1. 策略规划的测试活动涉及测试用例100%执行完毕 + +2. 发布特性/新需求/性能基线等满足版本规划目标 + +3. 版本无block问题遗留,其它严重问题要有相应规避措施或说明 + +# 附件 + +无 diff --git "a/test/openEuler 22.03 LTS\347\211\210\346\234\254NestOS\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" "b/test/openEuler 22.03 LTS\347\211\210\346\234\254NestOS\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" new file mode 100644 index 0000000..30e5a44 --- /dev/null +++ "b/test/openEuler 22.03 LTS\347\211\210\346\234\254NestOS\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" @@ -0,0 +1,137 @@ +![avatar](../images/openEuler.png) + +版权所有 © 2020 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。 + +修订记录 + +| 日期 | 修订 版本 | 修改描述 | 作者 | +| ---- | ----------- | -------- | ---- | +| 2022/3/17 | 1.1.0 | 初始 | fushanqing | + + 关键词: + + openEuler NestOS iSulad docker podman rpm-ostree zincati + +摘要: + + 文本主要描述NestOS 22.03版本的整体测试过程,详细叙述测试覆盖情况,并通过问题分析对版本整体质量进行评估和总结。 + +缩略语清单: + +| 缩略语 | 英文全名 | 中文解释 | +| ------ | -------- | -------- | +| OS | Operating system | 操作系统 | +| iSulad | iSulad | 轻量级容器引擎 | +| Docker | Docker | Docker容器引擎 | +| Podman | Podman | Podman容器引擎 | +| rpm-ostree | rpm-ostree | 混合镜像/包系统 | +| zincati | zincati | 自动更新引擎 | + +# 1 特性概述 + +NestOS 是一款基于openEuler开发的自动更新的最小化操作系统。Nestos搭载了docker、iSulad、podman、cri-o等常见容器引擎,将ignition配置、rpm-ostree、OCI支持、SElinux强化等技术集成在一起,采用基于双系统分区、容器技术和集群架构的设计思路,可以适配云场景下多种基础运行环境。同时NestOS针对Kubernetes进行优化,在IaaS生态构建方面,针对openStack、oVirt等平台提供支持;在PaaS生态构建方面,针对OKD、Rancher等平台提供支持,使系统具备十分便捷的集群组件能力,可以更安全的运行大规模的容器化工作负载。 + +本文主要描述NestOS 22.03版本的总体测试活动,按照社区开发模式进行运作,结合CloudNative/QA社区制定的版本计划规划相应的测试计划及活动。测试报告覆盖新需求、继承需求的测试执行情况和评估,并结合各类专项测试活动和版本问题单总体情况进行整体的说明和质量评估。 +# 2 特性测试信息 + +NestOS 22.03 版本是基于5.10内核22年全新的版本,软件包原则上取用 openEuler-22.03-LTS-NEXT分支,部分软件包如nestos-installer、afterburn、ssh-key-dir等为新合入社区软件包,暂未合入openEuler-22.03-LTS-NEXT分支,但均已在该环境下编译。其关键特性如下: + + 1. ignition自定义配置 + 2. nestos-installer安装 + 3. zincati自动升级 + 4. rpm-ostree原子化更新 + +| 版本名称 | 测试起始时间 | 测试结束时间 | +| -------- | ------------ | ------------ | +| NestOS Test Round 1 | 2022/3/7 | 2022/3/10 | +| NestOS Test Round 2 | 2022/3/11 | 2022/3/13 | +| NestOS Test Round 3 | 2022/3/14 | 2022/3/20 | + +描述特性测试的硬件环境信息 +NestOS 在以下硬件进行安装适配和基本功能验证 + +| **硬件型号** | +|:-| +| 飞腾FT2000+ | +| 飞腾S2500 | +| 鲲鹏920 | + +# 3 测试结论概述 + +## 3.1 测试整体结论 + +NestOS 22.03 版本整体测试按照计划共完成了一轮重点特性测试+一轮专项测试+一轮回归测试;其中第一轮重点特性测试聚焦在ignition自定义配置、nestos-installer安装、zincati自动升级、rpm-ostree原子化更新+双系统分区的特性验证;一轮专项测试开展版本交付的各类专项测试;一轮回归测试重点覆盖特性测试,验证问题的修复程度。 +NestOS 22.03 版本共发现问题 6 个,有效问题 6 个,3个遗留问题,3个问题已修复,回归测试结果正常,版本整体质量较好。 + + +## 3.2 特性测试结论 +| 测试活动 | 活动评价 | +| -------- | -------- | +| ignition自定义配置 | 共执行2轮测试,通过配置不同ignition文件,覆盖了ignition提供的网络、存储、文件、内核参数、容器、用户和组、主机名、系统外部软件包安装、时区设置等功能,保证可以远程/本地获取ign文件、通过ignition配置系统安装成功,且配置生效。 | +| nestos-installer安装 | 共执行1轮测试,重点验证了通过nestos-installer安装操作系统到目标磁盘的功能。 | +| zincati自动更新 | 共执行2轮测试,测试修改zincati配置、检测更新源、自动下载部署新版本、更新后自动重启功能。重点验证了zincati完成新版本的自动下载和部署、更新重启后服务不中断的测试。 | +| rpm-ostree原子化更新+双系统分区 | 共执行2轮测试,验证手动使用rpm-ostree检测、下载、部署新版本,同时测试了更新版本后双系统分区的验证。 | + +## 3.2 专项测试结论 +| 测试活动 | 活动评价 | +| -------- | -------- | +| 基础功能测试 | 对系统管理、系统服务、常用命令(文件系统、进程监控、网络、用户管理)进行测试,系统基础功能稳定。 | +| 容器功能测试 | 测试iSulad、podman、docker容器引擎基本功能,测试K8S+iSulad 搭建,iSulad和docker功能均能正常运行。 | +| 可靠性测试 | 对NestOS进行稳定测试,测试操作系统稳定运行168 小时。 | +| 性能测试 | 对网络性能、容器性能进行了测试,重点测试了iSulad、docker、podman容器引擎对容器启停时间的消耗,测试结果表明iSulad性能优于docker、podman。 | +| 安全性测试 | 对身份鉴别、安全审计、用户登录、用户权限、远程连接,测试结果符合预期。 | + +## 3.2 约束说明 + + - 内存:4GB及以上 + - 架构:x86_64、aarch64 + - 使用zincati自动更新和rpm-ostree手动更新特性时,需保证当前NestOS版本不是最新版本,若当前NestOS是最新版本,则无法使用该功能。 + +## 3.3 遗留问题分析 + +### 3.3.1 遗留问题影响以及规避措施 + +| 问题单号 | 问题描述 | 问题级别 | 问题影响和规避措施 | 当前状态 | +| -------- | -------- | -------- | ------------------ | -------- | +| 1 | 使用ignition文件无法安装系统外部软件包 | 次要 | 目前NestOS使用的openEuler 22.03 LTS软件包源,目前该源未公开,软件包源公开后问题解决 | | + +### 3.3.2 问题统计 + +| | 问题总数 | 严重 | 主要 | 次要 | 不重要 | +| ------ | -------- | ---- | ---- | ---- | ------ | +| 数目 | 1 | 0 | 0 | 1 | 0 | +| 百分比 | 100% | 0 | 0 | 100% | 0 | + +# 4 测试执行 + +## 4.1 测试执行统计数据 + + +| 版本名称 | 测试用例数 | 用例执行结果 | 发现问题单数 | +| -------- | ---------- | ------------ | ------------ | +| NestOS Test Round 1 | 9 | ign配置文件失败1个 | 1 | +| NestOS Test Round 2 | 18 | 全部通过 | 0 | +| NestOS Test Round 3 | 3 | 全部通过 | 0 | + +*数据项说明:* + +*测试用例数--到本测试活动结束时,所有可用测试用例数;* + +*发现问题单数--本测试活动总共发现的问题单数。* + +## 4.2 后续测试建议 + +后续测试需要关注点(可选) + +# 5 附件 + +*此处可粘贴各类专项测试数据或报告* + + + + + + + + -- Gitee