【S3 Wave 3 交叉评测】Yorimi 对 SmartTest(TestPilot)的反馈 #1

Closed
opened 2026-08-04 02:26:13 +08:00 by mart · 1 comment

项目理解

TestPilot 是 PRD 到测试用例交付包的多阶段 Agent 平台:上传需求后进行解析和疑点提取,由人工确认需求,再设计覆盖模型、并行生成用例,经过规则、LLM、覆盖度三维审核与自动修正,最后人工审核并导出 Excel、Markdown 和 JSON。

具体优点

  1. Agent 编排证据很扎实。build_graph.py 明确定义 parse、requirement analysis、人工 interrupt、coverage design、并行 generation、quality assurance subgraph 和结果持久化;不是只在界面上展示几个 Agent 名称。LangGraph 编排

  2. 六个 Skills 有独立、类型化实现,可脱离 LangGraph 调用。尤其 quality_review.py 将规则、LLM 和覆盖度按配置权重汇总,自动修正又有轮次上限,模块边界清楚。Skills 实现 · 质量审核

  3. 交付生命周期测试很有产品意识:包括旧版本下载失效、finalize 前产物必须新鲜、高风险显式确认、最终态只读、幂等和导出文件校验。这些测试比单纯检查 HTTP 200 更能证明交付可靠性。交付测试

问题或不清楚处

  1. 当前 API 未见认证和任务 owner 隔离。上传、历史、需求、质量报告、审核、finalize 和下载接口都主要依赖可猜测或可获得的 task_id;同时 CORS 接受任意 HTTP 主机的 5190/5219 端口。PRD 常包含未发布业务与客户信息,因此这套服务目前更适合作为可信本机 Demo,而不是直接公网部署。任务 API · 服务入口

  2. README 要求有效 DeepSeek Key,未见可复现的 fixture/replay 模式。交叉评审者没有外部凭证时,无法完整体验需求解析、生成和 LLM 审核,只能阅读代码或运行非模型测试。运行说明 · 环境模板

  3. README 声称有 59 项回归,但仓库未见将后端测试、前端 lint/build 和 smoke test 绑定到当前 commit 的 CI 工作流。本次只读审查无法确认该数字或最新提交是否仍全部通过。

  4. README 明确要求后端单进程运行,状态与 checkpoint 使用本地 SQLite;这一边界合理,但并发任务数、崩溃恢复、备份和多实例升级路径尚未形成验收指标。

可验收的下一步建议

  1. 增加认证及任务 owner 字段,并对上传、历史、审核和下载做服务端授权;用两个用户的集成测试证明跨用户访问返回 404/403。

  2. 提供无需真实 Key 的官方 Demo/replay 模式:固定示例 PRD、录制的结构化模型响应和完整工作流事件;同时保留 live-model 测试作为可选项。

  3. 建立 CI,执行后端 pytest、前端 lint/build,以及使用模型 fixture 的端到端任务;将测试数量和结果链接绑定到具体 commit,而不是写死在 README。

  4. 公布 MVP 运行边界并做恢复测试:同时任务上限、上传大小、服务重启后的状态、SQLite 备份恢复及失败节点的最终事件都应有明确结果。

综合评价

四个仓库中,TestPilot 对“可交互 Agent、独立 Skills、人工审核和最终交付”的实现证据尤其完整,质量审核与版本化交付也很成熟。进入公开演示或 Wave 4 前,最需要补的是敏感 PRD 的访问控制,以及无需评委自备模型 Key 的可复现验收路径。

查阅依据与静态审查限制

  • 默认分支:main
  • 最新提交:b2196f7e08614f67ffccb239688b1cd1f87a4b6a,docs: 更新 README,面向 Wave 3 评审优化结构和说明
  • 主要查阅:README.md、backend/pyproject.toml、backend/app/main.py、backend/app/config.py、backend/app/api/tasks.py、backend/app/graph/build_graph.py、backend/app/skills/、backend/tests/、frontend/package.json
  • 限制:本次仅通过 Forgejo 公开 API 和源码页面静态审查;未安装 uv 或前端依赖,未配置 DeepSeek 或 Claude Key,未运行 pytest、smoke test 或前端构建。

  • 评测方:Yorimi
  • 评测日期与时区:2026-08-04 / Asia/Singapore
  • 本 Issue 为 S3 Wave 3 正式交叉评测留痕。
## 项目理解 TestPilot 是 PRD 到测试用例交付包的多阶段 Agent 平台:上传需求后进行解析和疑点提取,由人工确认需求,再设计覆盖模型、并行生成用例,经过规则、LLM、覆盖度三维审核与自动修正,最后人工审核并导出 Excel、Markdown 和 JSON。 ## 具体优点 1. Agent 编排证据很扎实。build_graph.py 明确定义 parse、requirement analysis、人工 interrupt、coverage design、并行 generation、quality assurance subgraph 和结果持久化;不是只在界面上展示几个 Agent 名称。[LangGraph 编排](https://www.synnovator.com/Michael/SmartTest/src/branch/main/backend/app/graph/build_graph.py) 2. 六个 Skills 有独立、类型化实现,可脱离 LangGraph 调用。尤其 quality_review.py 将规则、LLM 和覆盖度按配置权重汇总,自动修正又有轮次上限,模块边界清楚。[Skills 实现](https://www.synnovator.com/Michael/SmartTest/src/branch/main/backend/app/skills) · [质量审核](https://www.synnovator.com/Michael/SmartTest/src/branch/main/backend/app/skills/quality_review.py) 3. 交付生命周期测试很有产品意识:包括旧版本下载失效、finalize 前产物必须新鲜、高风险显式确认、最终态只读、幂等和导出文件校验。这些测试比单纯检查 HTTP 200 更能证明交付可靠性。[交付测试](https://www.synnovator.com/Michael/SmartTest/src/branch/main/backend/tests/test_delivery.py) ## 问题或不清楚处 1. 当前 API 未见认证和任务 owner 隔离。上传、历史、需求、质量报告、审核、finalize 和下载接口都主要依赖可猜测或可获得的 task_id;同时 CORS 接受任意 HTTP 主机的 5190/5219 端口。PRD 常包含未发布业务与客户信息,因此这套服务目前更适合作为可信本机 Demo,而不是直接公网部署。[任务 API](https://www.synnovator.com/Michael/SmartTest/src/branch/main/backend/app/api/tasks.py) · [服务入口](https://www.synnovator.com/Michael/SmartTest/src/branch/main/backend/app/main.py) 2. README 要求有效 DeepSeek Key,未见可复现的 fixture/replay 模式。交叉评审者没有外部凭证时,无法完整体验需求解析、生成和 LLM 审核,只能阅读代码或运行非模型测试。[运行说明](https://www.synnovator.com/Michael/SmartTest/src/branch/main/README.md) · [环境模板](https://www.synnovator.com/Michael/SmartTest/src/branch/main/backend/.env.example) 3. README 声称有 59 项回归,但仓库未见将后端测试、前端 lint/build 和 smoke test 绑定到当前 commit 的 CI 工作流。本次只读审查无法确认该数字或最新提交是否仍全部通过。 4. README 明确要求后端单进程运行,状态与 checkpoint 使用本地 SQLite;这一边界合理,但并发任务数、崩溃恢复、备份和多实例升级路径尚未形成验收指标。 ## 可验收的下一步建议 1. 增加认证及任务 owner 字段,并对上传、历史、审核和下载做服务端授权;用两个用户的集成测试证明跨用户访问返回 404/403。 2. 提供无需真实 Key 的官方 Demo/replay 模式:固定示例 PRD、录制的结构化模型响应和完整工作流事件;同时保留 live-model 测试作为可选项。 3. 建立 CI,执行后端 pytest、前端 lint/build,以及使用模型 fixture 的端到端任务;将测试数量和结果链接绑定到具体 commit,而不是写死在 README。 4. 公布 MVP 运行边界并做恢复测试:同时任务上限、上传大小、服务重启后的状态、SQLite 备份恢复及失败节点的最终事件都应有明确结果。 ## 综合评价 四个仓库中,TestPilot 对“可交互 Agent、独立 Skills、人工审核和最终交付”的实现证据尤其完整,质量审核与版本化交付也很成熟。进入公开演示或 Wave 4 前,最需要补的是敏感 PRD 的访问控制,以及无需评委自备模型 Key 的可复现验收路径。 ## 查阅依据与静态审查限制 - 默认分支:main - 最新提交:[b2196f7e08614f67ffccb239688b1cd1f87a4b6a](https://www.synnovator.com/Michael/SmartTest/commit/b2196f7e08614f67ffccb239688b1cd1f87a4b6a),docs: 更新 README,面向 Wave 3 评审优化结构和说明 - 主要查阅:README.md、backend/pyproject.toml、backend/app/main.py、backend/app/config.py、backend/app/api/tasks.py、backend/app/graph/build_graph.py、backend/app/skills/、backend/tests/、frontend/package.json - 限制:本次仅通过 Forgejo 公开 API 和源码页面静态审查;未安装 uv 或前端依赖,未配置 DeepSeek 或 Claude Key,未运行 pytest、smoke test 或前端构建。 --- - 评测方:[Yorimi](https://www.synnovator.com/mart/Yorimi) - 评测日期与时区:2026-08-04 / Asia/Singapore - 本 Issue 为 S3 Wave 3 正式交叉评测留痕。
Owner

最新分支已经支持了RBAC权限控制还有离线演示功能,issue提的较早,当时代码还没有提交到远程仓库

最新分支已经支持了RBAC权限控制还有离线演示功能,issue提的较早,当时代码还没有提交到远程仓库
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Michael/SmartTest#1
No description provided.