Skip to content

测试与巡检原理说明

测试分类

类别 目标
单元测试 验证纯逻辑或低依赖服务,如图谱整理、CLI provider 归一化、日志配置
集成测试 验证 API、数据库、文件存储和服务协作,如策略入库、回测、知识库和任务
UI 结构测试 验证 Gradio 组件、Tabs、Dataframe、Plot 和 AI 悬浮窗是否存在
UI 点击巡检 启动服务后模拟用户点击每个页面,结合截图判断功能完整性和布局缺陷

回归优先级

  1. 先保证本次改动范围 lint 和单测通过。
  2. 再跑全量 pytest,确认跨模块行为未回退。
  3. 页面巡检发现的问题按“阻塞操作、页面空白、布局缺陷、体验建议”分级。
  4. 不把历史 mypy 或 ruff 技术债一次性混入 UI 优化任务。

临时文件策略

测试生成的 data/tmp_pytest 和巡检截图以外的临时文件需要在任务结束前清理。巡检截图属于报告证据,保存在 docs/audit/screenshots/。

删除任何文件前先取得用户确认,并核对精确目录边界;执行策略拦截时记录实际状态,不通过替换工具或路径绕过。不能把已获清理授权写成已经删除。

功能正确性验收

2026-10-17 的小样本复核表明,已有测试通过不代表业务完成。旧 CLI 用例曾把模拟日志视为成功;Qlib 测试接受 blocked 状态且使用 qrun 替身;回测任务可完成但实际日期仍与输入不一致。2026-10-18 已补日期边界和 Codex 命令测试,并把 mock CLI 标记为禁用真实调用。

验收需分别记录按钮触发、后台参数、真实运行、业务结果和持久化。对回测核对日历区间、成交手数、成本、资金与持仓恒等关系;对 CLI 核对是否真的启动进程、运行状态和助手正文;对 Qlib 区分依赖导入、实验登记、测试替身和实际训练回测。浏览器定位器错误属于测试脚本问题,修正后重跑,不计作产品错误。

性能检查区分冷加载、热缓存和强制刷新,并记录实际页面就绪时间。tests/frontend/platform_functional_audit.py保留早期诊断用途,部分定位和标签已过时,不能直接作为当前页面完整通过的依据。2026-10-31按现有持久工作台巡检九模块31个二级入口,并实际验证回测证据、两处对话、知识引用/章节刷新、图形操作、Qlib因子、资源池、文件阅读、通知与CLI;执行脚本和结果保留在docs/audit/code_health_e2e_2026-10-31/。运行完成不表示真实外部数据、付费CLI或Qlib原生训练已经通过。

文档发布验证

构建成功验证配置与文档解析,HTTP 集成验证导航及资源可达,浏览器验证图片、交互和搜索实际显示。三者不能互相替代。子路径部署应验证深层页面到 CSS、图片和搜索索引的相对地址,防止只在本机根目录可用。

外部服务失败、模拟结果与历史回归记录均需注明证据边界。全项目可能存在独立的类型或风格债,不能把未执行、被跳过或历史通过写成本轮通过。具体构建与检查命令见文档维护与发布。