Skip to content

FNOS-025 测试用例 ​

项目内容
需求编号FNOS-025
计划编号PLAN-FNOS-025
覆盖功能FNOS-025-01、FNOS-025-02、FNOS-025-03、FNOS-025-04
测试状态通过

测试范围与需求分析 ​

被测对象是「CodeBuddy 插件已下架」这一状态在三条链路上的体现:应用分发清单、文档站、仓库追踪状态与发布工具链。

老用户环境(已安装过该插件的机器)不在本需求范围内:安装回调本就会把「已不在发布清单里的自有插件」从用户 profile 移除,该机制是既有的通用逻辑,既不列入功能列表,也不列入验收范围。

关键风险点 ​

风险用例方向
只解除仓库追踪、目录仍在磁盘上,插件被版本维护与发布链路继续捡起版本维护与发布的候选列表里不得出现该插件
发布清单删了插件但内置守卫仍要求它,构建期直接失败FPK 构建必须通过,且包内清单不含该插件
文档站留下指向已删页面的链接,文档构建失败文档构建(含死链检查)必须通过
文档站残留「六个插件」这类数量断言,下架后变成错误陈述现行文档里不得再出现该插件或旧数量
仓库里仍能查到插件源码,等于没下架版本管理的文件集合里查不到该目录
反向误删:本机源码被一并清掉源码在本机必须完整保留
锁文件与工作区不一致,干净检出时冻结安装失败干净检出(插件目录不存在)下冻结安装必须通过

测试环境 ​

功能执行环境说明
FNOS-025-01构建产物FPK 构建与包内清单核对;不要求真实 NAS 走查
FNOS-025-02文档站构建环境pnpm run build -- --docs(含死链检查)
FNOS-025-03仓库工具链版本管理的文件集合与本机文件系统
FNOS-025-04仓库工具链版本维护命令与插件市场索引

本需求不涉及 fnOS 插件的宿主桥接能力,DSH Web 与 DSH Desktop 不构成独立验收门槛;验收集中在分发链路、文档站与仓库工具链。

测试用例 ​

FNOS-025-01 插件不再随应用内置 ​

用例ID功能点测试标题关联验收前置条件测试步骤预期结果优先级基线来源
TC-001FNOS-025-01应用发布清单不含该插件AC-01工作区在版本控制下1.读取应用发布清单 2.逐项核对插件名清单里没有该插件,其余条目完整P0新增行为,无回归基线
TC-002FNOS-025-01FPK 构建通过内置守卫校验AC-01本机具备打包工具1.构建 FPK(跳过内置插件归档) 2.观察构建结果构建成功,不因「必须内置该插件」报错P0新增行为,无回归基线
TC-003FNOS-025-01FPK 包内清单不含该插件AC-01已构建出 FPK1.解开包内应用归档 2.读取发布清单包内清单与仓库一致,不含该插件P0新增行为,无回归基线
TC-004FNOS-025-01应用介绍文案的内置插件清单与实际一致AC-02仓库已更新1.读取应用清单描述 2.与发布清单逐项比对描述里的内置插件与实际分发内容一致,数量断言正确P1新增行为,无回归基线

FNOS-025-02 文档站不再收录该插件 ​

用例ID功能点测试标题关联验收前置条件测试步骤预期结果优先级基线来源
TC-005FNOS-025-02文档构建通过(含死链检查)AC-02依赖已安装1.构建文档站 2.观察构建结果构建成功,无指向已删页面的链接P0新增行为,无回归基线
TC-006FNOS-025-02插件总览与专页均无该插件AC-01文档已更新1.读取插件总览表格 2.检索侧边栏条目 3.访问原专页地址总览无该行、侧边栏无该条目、原专页地址不再存在P0新增行为,无回归基线
TC-007FNOS-025-02现行文档无旧数量断言AC-01文档已更新1.在现行文档中检索旧的插件数量表述 2.核对上下文现行文档里的插件数量与实际一致P1新增行为,无回归基线
TC-008FNOS-025-02历史需求与验收记录保持可达AC-01文档已更新1.打开历史需求的索引行 2.顺着侧边栏进入历史记录仍可访问(按规范保留,不回改已完成文档)P2既有行为回归

FNOS-025-03 仓库不再追踪插件源码 ​

用例ID功能点测试标题关联验收前置条件测试步骤预期结果优先级基线来源
TC-009FNOS-025-03版本管理的文件集合中查不到该目录AC-01变更已提交1.列出该目录下受版本管理的文件结果为空P0新增行为,无回归基线
TC-010FNOS-025-03本机源码完整保留AC-02变更已提交1.列出该目录内容 2.读取插件清单源码、清单、配置与测试均在,可读可构建P0新增行为,无回归基线
TC-011FNOS-025-03干净检出下冻结安装通过AC-01可移动该目录1.把插件目录移出工作区 2.执行冻结锁文件安装 3.执行全量检查 4.恢复目录安装与全量检查均通过,锁文件无漂移P0新增行为,无回归基线

FNOS-025-04 发布链路不再包含该插件 ​

用例ID功能点测试标题关联验收前置条件测试步骤预期结果优先级基线来源
TC-012FNOS-025-04版本维护的插件列表不含该插件AC-01工作区干净1.执行版本维护命令 2.观察输出与提交内容输出只含其余插件;该插件的清单版本号未被改动P0新增行为,无回归基线
TC-013FNOS-025-04发布候选列表不含该插件AC-01工作区干净1.读取插件发现结果 2.核对候选列表候选列表里没有该插件P0新增行为,无回归基线
TC-014FNOS-025-04插件市场索引不含该插件AC-02上游生成器可用1.从源列表移除该包后重新生成索引 2.核对索引条目索引条目与源列表一致,不含该插件P0新增行为,无回归基线
TC-015FNOS-025-04索引守卫与源列表联动AC-02索引已更新1.执行市场索引守卫用例用例按源列表核对条目数量与成员,通过P1新增行为,无回归基线

测试执行结果 ​

用例ID功能点执行环境结果执行日期备注
TC-001FNOS-025-01构建产物通过2026-10-22应用版本 5.9.0-0.2.1-rc.2.13 / DSH 0.2.1-rc.2;清单 4 项(3 个自有插件 + 三方 dshmarket)
TC-002FNOS-025-01构建产物通过2026-10-22内置守卫改为反向断言后构建通过,不再要求内置该插件
TC-003FNOS-025-01构建产物通过2026-10-22解包 FPK 内的应用归档核对发布清单,无该插件
TC-004FNOS-025-01构建产物通过2026-10-22应用介绍文案的内置插件清单与发布清单一致
TC-005FNOS-025-02文档站构建环境通过2026-10-22文档构建完成,无死链报错
TC-006FNOS-025-02文档站构建环境通过2026-10-22插件总览 5 行、侧边栏无该条目、原专页文件已删除
TC-007FNOS-025-02文档站构建环境通过2026-10-22现行文档中的插件数量断言已统一为 5
TC-008FNOS-025-02文档站构建环境通过2026-10-22历史需求索引行与侧边栏条目保留,可达
TC-009FNOS-025-03仓库工具链通过2026-10-22版本管理的文件集合中该目录为 0 条;仓库仅保留历史快照
TC-010FNOS-025-03仓库工具链通过2026-10-22本机源码、清单、配置与测试完整保留,可读可构建
TC-011FNOS-025-03仓库工具链通过2026-10-22插件目录移出后冻结安装与全量检查(25 任务)均通过,锁文件无漂移
TC-012FNOS-025-04仓库工具链通过2026-10-22版本维护输出 5 个插件;该插件清单版本号保持不变,未被一起升版本
TC-013FNOS-025-04仓库工具链通过2026-10-22插件发现结果排除该目录,发布候选列表不含它
TC-014FNOS-025-04仓库工具链通过2026-10-22索引重新生成后为 5 个插件,无该插件条目
TC-015FNOS-025-04仓库工具链通过2026-10-22守卫用例改为与源列表核对,不再写死数量

Bug 记录 ​

本轮未产出缺陷。

测试结论 ​

  • 结论:通过。
  • 执行用例总数 15 条,通过 15 条,失败 0 条,未执行 0 条,遗留 Bug 0 个。
  • 一句话结论:下架在应用分发、文档站、仓库追踪与发布工具链四条链路上均已验证生效。

遗留风险 ​

  1. 已发布到 npm 的包未做下架:@tnnevol/dsh-codebuddy 在 npm 上仍可安装。仓库与文档不再推荐和分发它,但用户手动安装仍会遭遇上游拦截。这是本需求范围外的选择,已在需求文档的「不在本次范围内」登记。
  2. 历史验收资产过期:packages/dsh-e2e-desktop 下两份以该插件为载体的桌面端验收用例已无法执行,需改用其它插件承载或归档。该项不在本需求的处理范围内,已单独记录待后续决定。
  3. 网关 /codebuddy 通道保留:仍持有该插件的用户(手动安装)不至于静默失效;代价是网关里保留了一条指向已下架插件的路径。
  4. 老用户环境不在本轮验收范围:已安装过该插件的机器,其 profile 里该插件的清理由安装回调的既有通用机制承担,本轮未做真机验证。

变更记录 ​

日期变更说明
2026-10-22建立 FNOS-025 测试用例文档登记 18 条用例,覆盖分发清单、文档站、仓库追踪、发布链路与升级清理五条链路;执行 16 条全部通过,真实 NAS 安装与升级验收 2 条待执行。
2026-10-22范围收缩,用例收敛为 15 条用户明确「老用户不用管了」:移除 FNOS-025-05 及其两条用例(孤儿清理机制验证、真实 NAS 升级验收)与真实 NAS 新装验收用例,其余用例重新连续编号为 TC-001~TC-015;执行环境不再含真实 NAS。15 条全部通过,测试状态改为「通过」。

基于 VitePress 构建