From f209545fdac87a2c46e4760d0f6eb24ad378f2f7 Mon Sep 17 00:00:00 2001 From: duyiwei Date: Mon, 19 Jun 2023 15:43:52 +0800 Subject: [PATCH] add NestOS-22.03-LTS-SP2 test strategy --- ...13\350\257\225\347\255\226\347\225\245.md" | 230 ++++++++++++++++++ 1 file changed, 230 insertions(+) create mode 100644 "release/NestOS-22.03-SP2/QA/NestOS_22.03_LTS_SP2\347\211\210\346\234\254\346\265\213\350\257\225\347\255\226\347\225\245.md" diff --git "a/release/NestOS-22.03-SP2/QA/NestOS_22.03_LTS_SP2\347\211\210\346\234\254\346\265\213\350\257\225\347\255\226\347\225\245.md" "b/release/NestOS-22.03-SP2/QA/NestOS_22.03_LTS_SP2\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..d49f6cd --- /dev/null +++ "b/release/NestOS-22.03-SP2/QA/NestOS_22.03_LTS_SP2\347\211\210\346\234\254\346\265\213\350\257\225\347\255\226\347\225\245.md" @@ -0,0 +1,230 @@ +![openEuler ico](../../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-05-09 | 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_LTS_SP2 版本的整体测试策略,用于指导该版本后续测试活动的开展 + +缩略语清单: + +| 缩略语 | 英文全名 | 中文解释 | +| ------- | ---------------- | ------------ | +| 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_LTS_SP2版本的总体测试策略,按照社区开发模式进行运作,结合社区K8s-Distro/CloudNative/QA团队制定的版本计划规划相应的测试活动。整体测试策略覆盖新需求、继承需求的测试分析和执行,明确各个测试周期的测试策略及出入口标准,指导后续测试活动。 + +## 版本背景 + +NestOS_22.03_LTS_SP2 版本是基于5.10内核22.03-LTS的增强扩展版本,该版本基于openEuler 22.03 LTS SP2 制作,软件包选型与策略与openEuler保持一致。 + +## 需求范围 + +NestOS_22.03_LTS_SP2 版本交付需求列表如下: + +| **no** | **feature** | **status** | **owner** | +| ------ | ------------------------------------------------------------ | ---------- | ---------------------------------------------- | +|1|支持通过ignition自定义用户配置|Developing|[@duyiwei](https://gitee.com/duyiwei7w)| +|2|支持在openstack平台安装|Developing|[@duyiwei](https://gitee.com/duyiwei7w)| +|3|支持使用容器镜像方式更新|Developing|[@duyiwei](https://gitee.com/duyiwei7w)| +|4|支持双根文件分区并验证zincati自动更新|Developing| [@duyiwei](https://gitee.com/duyiwei7w)| +|5|rpm-ostree基本功能验证|Developing|[@duyiwei](https://gitee.com/duyiwei7w)| +|6|支持iSulad、podman、docker等主流容器引擎|Developing|[@duyiwei](https://gitee.com/duyiwei7w)| +|7|操作系统基础命令验证|Developing| [@duyiwei](https://gitee.com/duyiwei7w)| +|8|新增基于NestOS的K8S部署方案|Developing| [@duyiwei](https://gitee.com/duyiwei7w) | + + +# 风险 + +| 问题类型 | 问题描述 | 问题等级 | 应对措施 | 责任人 | 状态 | +| -------- | -------- | -------- | -------- | ------ | ---- | +| 暂无 | | | | | | + +# 测试分层策略 + +本次 NestOS_22.03_LTS_SP2 版本的具体测试分层策略如下: + +| **需求** | **测试分层策略** | +| ------------------------------- | ------------------------------------------------------------ | +| 支持通过ignition自定义用户配置 | 验证实现不同功能模块的ign文件对NestOS配置生效 | +| 支持在openstack平台安装 | 验证openstack版本镜像可通过openstack平台安装启动 | +| 支持使用容器镜像方式更新 | 验证NestOS可以使用OCI格式镜像更新操作系统底座 | +| 支持双根文件分区并验证zincati自动更新 | 验证zincati服务正常启动并可自动更新至NestOS最新版本,并通过被动分区切换至新版本 | +| rpm-ostree基本功能验证 | 验证rpm-ostree原子化更新,搭配NestOS软件包安装、系统回滚与切换等 | +| 支持iSulad、podman、docker等主流容器引擎 | 验证各容器引擎可正常使用,手动搭建K8S集群 | +| 操作系统基础命令验证 | 验证操作系统常用基础指令 | +| 新增基于NestOS的K8S部署方案 | 验证基于NestOS部署的K8S可正常工作 | + + + +# 测试分析设计策略 + +## 新增feature测试设计策略 + +| *序号* | *Feature* | *重点* | *设计思路* | *备注* | +| ------ | ---------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------ | +| 1 | 支持通过ignition自定义用户配置 | NestOS启动后各模块正常运行 | 编写以下配置对应的ign文件:网络配置、存储配置、文件管理、内核参数配置、用户组与Hostname配置、软件包安装配置、时区配置,并重启验证 | | +| 2 | 支持在openstack平台安装 | 可正常读取配置启动 | 使用发布件中的openstack版本镜像,搭配通用ign文件启动正常 | | +| 3 | 支持使用容器镜像方式更新 | 操作系统底座更新 | 使用上传至OEPKG的容器镜像版本NestOS进行操作系统更新,可通过rpm-ostree status查看版本更新状态 | | +| 4 | 支持双根文件分区并验证zincati自动更新 | zincati服务正常启动 | zincati服务正常启动,从cincinnati后端拿取新版本数据,通过rpm-ostree下载并安装。 | | +| 5 | rpm-ostree基本功能验证 | 基本功能符合预期 | 验证NestOS手动更新,版本回滚与切换 | | +| 6 | 支持iSulad、podman、docker等主流容器引擎 | 容器正常工作 | 容器基本功能正常使用,完成容器性能测试的横向对比 | | +| 7 | 操作系统基础命令验证 | 指令正常执行 | 验证操作系统常用基础指令 | | +| 8 | 新增基于NestOS的K8S部署方案 | K8S正常工作 | 基于NestOS本地搭建K8S集群,各组件启动正常,各服务正常工作 | | + + +## 继承feature/组件测试设计策略 + +从老版本继承的功能特性的测试策略如下: + +| Feature/组件 | 策略 | +| ------------ | ---- | +| 暂无 | | + +## 专项测试策略 + +### 安全测试 + +NestOS 作为社区开源版本,在系统整体安全上需要进行保证,以发现系统中存在的安全脆弱性与风险,为版本的安全提供切实的依据,推动产品完成安全问题整改,提高产品的安全。整体安全测试需要覆盖: + +| 测试类型 | 具体测试内容 | +| :--------- | -------------------------------------------------- | +| 安全性测试 | 对身份鉴别、安全审计、用户登录、用户权限、远程连接 | + +### 可靠性测试 + +可靠性是版本测试中需重点考虑的测试活动,在各类资源异常/抢占竞争/压力/故障等背景下,通过功能的并发、反复操作进行长时间的测试;过程中通过监控系统资源、进程运行等状态,及时发现系统/特性隐藏的问题。 + +可靠性的测试建议从关键特性、重要组件、新增特性的可靠性指标和系统级的可靠性进行分析和设计,已保证特性和系统在各类异常、故障及压力背景下的持续提供服务的能力。 + +| 测试类性 | 具体测试内容 | +| ------------ | ------------------------------------------------------------ | +| 操作系统长稳 | 对NestOS进行稳定测试,测试操作系统稳定运行7*24 小时。 | +| 基础功能测试 | 对系统管理、系统服务、常用命令(文件系统、进程监控、网络、用户管理)进行测试 | +| 容器功能测试 | 测试iSulad、podman、docker容器引擎基本功能,测试K8S+iSulad 搭建 | + +### 性能测试 + +性能测试是针对交付件的具体性能指标,利用工具进行各类性能指标的测试。 + +| **指标大项** | **指标小项** | +| ------------ | ------------------------------------------------------------ | +| 基础性能 | 对网络性能、容器性能进行了测试,重点测试了iSulad、docker、podman容器引擎对容器启停时间的消耗。 | + +### 兼容性测试 + +NestOS 在以下硬件进行安装适配和基本功能验证 + +| **型号** | +|:-| +| 飞腾FT2000+ | +| 飞腾S2500 | +| 鲲鹏920 | + + +### 资料测试 + +资料测试主要是对版本交付的资料进行测试,重点是保证各个资料描述说明的清晰性和功能的正确性,另外openEuler作为一个开源社区,除提供中文的资料还有英文文档也需要重点测试。资料交付清单如下: + +| **手册名称** | **覆盖策略** | **中英文测试策略** | +|--------------------|------------------------------------------------------------------------|--------------------| +| NestOS DOC文档 | 安装步骤的准确性及各特性使用的正确性 | 支持中文、英文 | + +# 测试执行策略 + +NestOS 软件包原则上取用 openEuler-22.03-LTS-SP2 分支,部分软件包如gnutls、sssd、libpsl等为已修改未合入软件包,相关pr已提交,待社区合入。 + +经与sig-QA商讨,NestOS测试以功能测试为主,优先保证NestOS所有功能特性正常,制定测试计划如下: + +### 测试计划 + +NestOS_22.03_LTS_SP2 版本按照社区开发模式进行运作,结合与QA团队制定的版本计划规划相应的测试活动。 + +| Stange name | Begin time | End time | Days | Note | +| :------------ | :--------- | :--------- | ---- | ----------------------------- | +| Branch | 2023/05/17 | 2023/05/23 | 7 | 从22.03 LTS-SP2分支拉取软件包,本地构建 | +| Build | 2023/05/24 | 2023/06/09 | 14 | 版本DailyBuild & 开发自验证 | +| Test round 1 | 2023/06/10 | 2023/06/13 | 4 | 版本启动测试,ign用例编写 | +| Test round 2 | 2023/06/14 | 2023/06/16 | 3 | 主要特性与功能测试验证 | +| Test round 3 | 2023/06/17 | 2023/06/23 | 7 | 应用场景测试、性能测试与长稳测试| +| Test round 4 | 2023/06/24 | 2023/06/30 | 7 | 发布版本构建,进行各功能特性回归测试| +### 测试重点 + +测试阶段1: + +1. 虚拟化平台与硬件适配安装验证 +2. 测试用例编写 + +测试阶段2: + +1. 基础OS质量保障 + +5. 主要功能特性测试验证 + + +测试阶段3: + +1. 问题单回归 +2. 应用场景测试验证 + +### 入口标准 + +1. 上个阶段无block问题遗留 + +2. 转测版本的冒烟无阻塞性问题 + +### 出口标准 + +1. 策略规划的测试活动涉及测试用例100%执行完毕 + +2. 发布特性/新需求/性能基线等满足版本规划目标 + +3. 版本无block问题遗留,其它严重问题要有相应规避措施或说明 + +# 附件 + +无 -- Gitee