Files
xas-test-library/docs/adr/0003-test-behavior-catalog.md

30 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ADR 0003:按实际测试行为组织目录
日期:2026-10-13。依据用户明确要求:一个测试为一项,一套测试的内部文件不再平铺。
## 调整原因与领域边界
原目录将递归发现的 .py/.sh 文件当成测试项目,307 个原位置文件中含辅助模块、套件自身验证、服务管理和历史场景脚本。扩展名只能识别源码文件,不能证明它是一项独立测试。
现在分为“文件清单”和“测试入口清单”:文件清单保留源码定位、摘要及版本;`catalog/test-definitions.json` 根据实际 README、脚本用途和调用关系,登记测试名称、执行入口、套件/单项类型及相关文件。公开目录和首页数量均来自测试入口清单;扫描新文件不会自动新增测试项目。用户主动上传的单入口脚本仍作为新测试登记。
本次整理 22 个现有测试入口,加上已接入的轻量模型检查,共 23 项业务测试;其中 8 项套件、15 项单项测试。两个本控制台验收样例默认隐藏,可通过“项目用途 → 验收示例”查看。公司 GPU 套件的 224 个文件归到统一入口,其 148 个内部验证文件不再进入主列表。同类测试的不同来源实现归入相关文件,不因为源文件数量增加重复卡片。
同一个文件既可以是套件的组成部分,也可以在确有独立测试用途时作为单项入口;这体现不同的测试行为,不为每个辅助文件建立入口。总入口与相应完整测试流程维持原样,不在本轮拼接、改写或实际运行测试链。
## 数据与执行不变量
- 原 SQLite schema v1、脚本/版本/运行 ID、历史名称和结果文件均保留。本轮不做数据库结构迁移、回填或历史重写。
- 目录是对现有记录的只读整理。第一次显示使用清单中的业务名称;用户保存后的名称/说明优先。后续运行记录保存对应测试名称,执行仍只有原始入口文件。
- 详情增加相关文件只读查看;内部文件不能通过旧详情链接或直接 API 被配置/启用/运行。现有记录查询、日志、结果下载与取消仍按原运行 ID 工作。
- 未开启 GPU 或服务管理能力;未就绪项目保持待配置。清单不是执行授权,不能据此运行历史脚本中的启停或整机测试步骤。
- 所有上传版本和原文件仍按原路径保存,没有批量复制、合并或删除。
## API 与维护方式
`GET /api/scripts` 现返回业务测试入口,`include_examples=true` 包含验收示例。原路径保留,条目增加 is_test/test_kind/category/file_count;`GET /api/scripts/{id}/files` 提供只读相关文件。`GET /api/scripts/{id}` 仍可读取内部文件,但 is_test=false;这类文件的修改/运行 API 明确拒绝。summary.scripts/ready 统计业务测试,新增 source_files/examples 说明其他数量。
维护者新增已有套件时,应先核对真实执行入口与测试目的,再编辑测试入口清单和相关文件映射。不能按目录名、所有 .py 文件或自动 import 扫描结果直接推断测试项目。新来源和新执行环境仍沿用原有权限与部署流程。
升级采用新镜像替换网页容器,私有 worker 与模型服务不重启。更新前备份原源码、镜像信息、SQLite,并记录历史/源文件摘要;验证失败恢复原网页容器,不回写备份数据库。旧版本可继续读取原 schema v1,应用回退无需数据恢复;数据快照恢复仍须单独确认并保留快照后记录。