跳转到正文04 / 测试基础设施
板卡固件自动化测试平台
连接 WSL 服务与 Windows 实体测试机的可追踪、可恢复固件验证闭环:从任务接入到报告产出,全程在同一看板可见。
固件验证可能从 Jenkins 或 Webhook 触发,横跨固件获取、板卡定向执行、报告收集和面向硬件的排障。该项目将原本分散的多机器人工流程收敛为统一、可见的任务链路,并为异常情况划定明确的恢复边界。
02 执行链路
执行链路
- 01Webhook 或手动提交
- 02FastAPI 记录任务
- 03Redis 通知
- 04Celery 按板卡队列路由
- 05Windows Worker 执行 pytest
- 06Allure 报告与结果索引
- 07Dashboard
03 架构与职责
架构与职责
API 与看板
FastAPI 提供 Webhook、任务、报告和健康检查接口,并承载运维看板。
任务路由
Publisher 消费 Redis 通知,并按照 pipeline → board ID → Celery 队列的映射分发任务,使实体测试资源可定位、隔离并可扩展。
测试执行
Windows Worker 获取固件、调用 pytest、生成 Allure 结果,并为每次执行写入 task_result.json。
状态可见性与恢复
看板汇聚任务状态、Worker 与 Publisher 心跳、报告索引和延迟结果恢复机制,而不是将任务发布视为任务完成。
05 可靠性与运维设计
可靠性与运维设计
- 通过重复认领保护,防止同一任务被重复执行,同时允许已分别路由的多块板卡正常处理。
- 将 Broker 短暂断连、Worker 任务丢失、失效 Celery task ID 与报告延迟到达区分处理,不掩盖首个失败点。
- 校验报告上传、清理临时上传目录,并在报告内容落盘前拒绝不安全的压缩包条目。
- 通过 Worker 启动器、串口本地配置保留、版本化 EXE 构建和发布说明,让测试机侧具备可部署、可维护的交付形态。
06 验证方式
验证方式
- 仓库回归测试覆盖任务认领、结果回收、队列可用性、报告同步、Worker 打包与启动环境,以及串口配置等关键边界。
- 端到端 PowerShell 入口串联服务检查、Webhook 提交、等待 Worker 处理与 Dashboard 结果查询,形成最小完整链路验证。
- 验收依据是 pytest 结果、服务日志、生成报告和真实设备行为,而不是未经验证的效率或稳定性数字。
07 Codex 辅助下的工程方法
Codex 辅助下的工程方法
Codex 辅助下的工程方法Codex 用于加速实现;系统边界、集成决策、真实硬件调试、失败归因与验收仍由我负责。
- 使用 Codex 加速模块边界梳理、任务拆解、配置与脚本初版、回归测试样例、Dashboard 迭代、重构和文档编写。
- 将可复用的项目规则沉淀在 AGENTS.md:包括 WSL 部署、缓存排查、Vue 模板限制、中文文本安全,以及“源码 → 部署文件 → 浏览器运行态”三层验证。
- 保持执行结果的确定性:pytest、服务日志、报告和实体设备结果才是事实依据,而非仅以生成代码作为结论。
08 AI 演进方向
AI 演进方向
当前版本中,AI 是实现辅助工具,而不是任务执行的决策者。后续可基于结构化任务结果与日志,提供失败摘要、相似问题检索及人工复核的排障支持。
09 技术栈
技术栈
FastAPI · SQLite · Redis · Celery · pytest · Allure · WSL · Windows Worker
在 GitHub 查看源码 →