大数跨境

开源一套 API 智能测试平台:诚实的告诉您,这套架构瞄准了下一代的天花板

开源一套 API 智能测试平台:诚实的告诉您,这套架构瞄准了下一代的天花板 智测AI
2026-07-17
6
导读:4 个 AI 智能体 + 12+ 个专业工具 + 代码级感知能力,把「代码变更 → 影响分析 → 用例生成 → 测试执行 → 报告输出」整条链路变成一次对话。

添加微信 huice666/danwen668

费获取全套项目源码及资料

B站地址:https://www.bilibili.com/video/BV14HNR6LEiv/

一个基于 DeepAgents × CodeGraph × LangGraph 的企业级 API 智能测试平台,以及为什么我认为它代表了 API 测试的下一代天花板方向。

一、先看成品

4 个 AI 智能体 + 12+ 个专业工具 + 代码级感知能力,把「代码变更 → 影响分析 → 用例生成 → 测试执行 → 报告输出」整条链路变成一次对话。

打开浏览器,在聊天框里输入:

 「分析最近的代码变更,推荐需要回归测试的 API 接口」

 「从 swagger.json 生成测试用例并执行」

 「验证 API 是否符合 OpenAPI 规范」

 「帮我调试 POST /api/orders,body 是 {…}」

平台会自动判断该调用哪个智能体、按什么顺序协作、传什么上下文,最后给你一份带风险评级和修复建议的结构化报告。

👤 用户:"分析代码变更,哪些 API 需要回归测试?"

🤖 Supervisor 自动编排:
  → code-analyzer:codegraph_affected 检测变更 → codegraph_search 追踪调用链
  → api-tester:执行推荐的回归测试
  → report-writer:汇总报告

输出:
🔴 风险等级:HIGH
受影响接口:POST /api/orders, GET /api/orders/{id}, POST /api/payment/process
回归推荐:
  • POST /api/orders — CRITICAL — 订单创建逻辑直接依赖变更函数
  • POST /api/payment/process — HIGH — 支付金额计算依赖订单服务
  • GET /api/orders/{id} — MEDIUM — 查询使用了被修改的数据结构

一次完整的工作流

技术栈一览

二、为什么传统方案做不到?

传统 API 测试平台的典型路径:

1. 手动导入 Swagger

2. 手动维护「代码 → 接口 → 测试」的映射表

3. 每次发版跑全量回归

4. 出问题了人工定位失败用例

这套模式的根本问题是:测试数据和代码变更脱节。你改了 order_service.py 里的 calculate_total,平台不知道哪些接口会受影响;你新增了路由,平台不知道要补充哪些用例;你只能要么全量跑(慢),要么凭经验筛选(漏)。

而这套平台的出发点不一样:让 AI 先理解代码,再决定测什么。

三、五个「真创新」:这套方案为什么不一样

创新 1:代码变更 → API 影响范围,全自动

这是平台最核心的差异化能力。

CodeGraph 作为本地代码知识图谱,能在几毫秒内完成:

修改了 order_service.py 的 calculate_total
  → 哪些 API 路由调用了它
  → 哪些 Handler 依赖这个 Service
  → 哪些测试文件需要重新跑

不需要手动维护映射表。17 种框架的路由(Django 的 path()、FastAPI 的 @app.get()、Spring 的 @GetMapping、Gin 的 r.GET()、Express、Laravel、Rails、ASP.NET 等)全部自动识别。

在 VS Code(~10k 文件)上的基准测试:81% 更少的工具调用,文件读取降为 0。因为 CodeGraph 已经把代码结构预建成了图,查询影响范围不是去读文件,而是去查图。

创新 2:OpenAPI 规范 → 可执行 pytest 脚本,一键生成

传统做法:拿到 Swagger 文档 → 人工读 → 人工写用例 → 人工写代码。

这套平台的做法:

parse_openapi_spec("swagger.json")
  → 提取接口清单(路径/方法/参数/请求体/响应结构)
  → generate_api_test_cases()
  → 生成正向 + 负向 + 边界三类用例
  → generate_pytest_script()
  → 输出 test_api.py,可直接 pytest 执行

3 个工具调用,从零到可执行测试脚本。 支持 OpenAPI 2.0 / 3.0 / 3.1,JSON / YAML,本地文件 / 远程 URL。

创新 3:多智能体自主协作,不是「套壳 ChatGPT」

很多人理解的「AI 测试」= 一个聊天框 + 几个 prompt。

这套平台的本质是 4 个独立上下文的子智能体,每个有专属工具集和系统提示词:

Supervisor 根据用户意图,自动决定调用哪个子智能体、按什么顺序、传递什么上下文。子智能体之间不共享对话历史,上下文完全由 Supervisor 显式传递——这意味着每一步都清晰、可控、可审计。

创新 4:对话界面和 REST API 共用同一套「工具层」

这是一个容易被忽略但非常关键的设计。

平台同时提供:

 对话入口:聊天框里让 AI 编排测试

 REST 管理 APIPOST /api/analyzePOST /api/testPOST /api/endpoints/sync

这两个入口底层调用的是同一套工具实现

 tools/codegraph_tools.py

 tools/api_test_tools.py

 tools/api_gen_tools.py

好处是什么?不会出现「聊天能用、API 不行」或者两边结果不一致的情况。 你可以在 CI/CD 里直接调 /api/analyze 做变更分析,也可以让测试工程师在聊天框里追问细节,底层逻辑完全一致。

创新 5:项目上下文自动注入 + 人工审核门(Agent Inbox)

平台不是把每个项目都当成空白 slate 来处理。前端选择了项目后,Supervisor 会自动注入项目上下文:

当前项目上下文:
- id: xxxx
- name: 订单服务
- openapi_spec: /workspace/specs/order-api.yaml
- base_url: http://order-api:8080
- repo_url: /workspace/repos/order-service

子智能体不需要猜测路径,直接拿注入的字段作为工具参数。

更进一步的,UI 内置了 Agent Inbox 组件,支持在关键步骤暂停等待人工确认(Accept / Modify / Reject / Add)。这正是 MASTEST 论文强调的核心机制:LLM 生成的测试用例,必须经过人工审核才能进入下一阶段,否则错误率会在管道中不断放大。

四、技术架构:为什么这套设计能撑到「天花板」

这个架构的关键在于:新增一种测试能力 = 新增一个工具 + 配一个新子智能体。 不需要重构整个平台。

比如要加性能测试,只需要:

1. 在 tools/ 里加一个 k6_tools.py

2. 在 agents/ 里加一个 performance_tester.py

3. 在 Supervisor 里注册它

这就是「可扩展的天花板框架」的含义。

五、诚实的自我评估:天花板还有多远?

如果有人问我「这是 API 接口测试的天花板吗?」,我会说:远不是,但天花板的方向已经看清了。

当前平台覆盖了 API 测试的 3 个核心环节:代码变更感知、用例生成、测试执行。但真正的天花板,还需要补齐以下能力:

🔴 缺失 1:性能 / 负载测试

当前平台只能做功能测试(接口对不对),不能做性能测试(接口快不快、扛不扛得住)。

天花板方案

 集成 k6(Grafana 出品,比 JMeter 更适合云原生)

 从 OpenAPI 规范自动生成压测脚本

 智能体分析历史性能数据,自动设定基线

 测试结果自动对比:P95 延迟涨了 30%?直接告警

🔴 缺失 2:安全测试

当前平台不做安全扫描。而在企业级场景中,API 安全测试是刚需。

天花板方案

 集成 OWASP ZAP 或自定义安全扫描器

 自动检测:SQL 注入、XSS、认证绕过、越权访问、敏感数据泄露

 智能体分析安全报告,按严重程度排序

🔴 缺失 3:gRPC / GraphQL / WebSocket 支持

当前平台只支持 REST API。但现代微服务架构中,gRPC 和 GraphQL 越来越普遍。

天花板方案

 gRPC:解析 .proto 文件,自动生成测试用例

 GraphQL:解析 Schema,自动生成 Query/Mutation 测试

 WebSocket:连接管理 + 消息收发测试

🟡 缺失 4:Mock 服务

依赖的第三方 API 挂了怎么办?测试环境数据不完整怎么办?

天花板方案

 从 OpenAPI 规范自动生成 Mock Server

 支持自定义响应(正常、异常、超时、错误码)

 智能体根据测试场景自动配置 Mock 规则

🟡 缺失 5:Human-in-the-Loop 审核门(部分实现)

UI 已具备 Agent Inbox 中断/审核组件,但还需要把审核节点深度嵌入到每个关键工作流(生成用例后、执行测试前、报告发布前)。

天花板方案

 每个阶段输出后,暂停等待人工审核

 审核动作:Accept / Modify / Reject / Add

 系统做苦力活,人做质量控制

🟡 缺失 6:测试数据工厂

当前平台生成测试用例时,请求体用的是空 JSON 或简单占位符。真实场景中,测试数据需要:

 符合业务语义(用户名是真实姓名,不是 “test_user”)

 满足数据库约束(唯一性、外键关联)

 支持多环境切换(dev 用张三,staging 用李四)

天花板方案

 智能体从 OpenAPI Schema + 数据库 Schema 推断数据约束

 自动生成符合业务语义的测试数据

 数据依赖自动管理(创建订单前先创建用户)

🟢 缺失 7:CI/CD 深度集成

当前平台可以跑测试,但缺少「质量门禁」。

天花板方案

 GitHub/GitLab PR 触发自动分析

 CodeGraph 检测变更 → 只跑受影响的测试(不跑全量)

 质量门禁:覆盖率 < 80%?阻塞合并

 智能体自动评论 PR:“检测到订单服务变更,建议补充支付回调的测试用例”

🟢 缺失 8:API 流量回放

生产环境的真实流量是最好的测试数据。

天花板方案

 从 API Gateway 或日志中捕获生产流量

 脱敏后回放到测试环境

 对比响应差异,发现潜在问题

🟢 缺失 9:混沌工程

你的 API 在下游服务挂了的时候会怎样?超时?重试?雪崩?

天花板方案

 故障注入:延迟、错误、断连

 验证熔断器、降级策略、重试机制

 智能体生成混沌实验并分析结果

六、我的「天花板」定义

我认为 API 测试的「天花板」不是单一平台能做到所有事,而是 一个可扩展的智能体框架,能按需接入各种测试能力

当前平台在 L1-L3,但 L4-L9 的扩展路径已经清晰。 因为架构是「智能体 + 工具」的模式,每升一级只需要增加对应的工具和子智能体,而不是推翻重来。

七、写在最后

这篇文章不是产品宣传——平台还有很多不完善的地方。我想表达的核心观点是:

AI 时代的 API 测试,不应该是「更好的 Postman」,而应该是「能理解代码、能自主决策、能持续进化的测试团队」。

4 个智能体各司其职,CodeGraph 提供代码级的理解能力,DeepAgents 提供多智能体协作框架,LangGraph 提供可持久化、可中断、可恢复的对话状态——这套组合的价值不在于「替代了人工」,而在于 把测试工程师从重复劳动中解放出来,让他们专注于真正需要判断力的工作:审核测试策略、设计复杂场景、评估风险优先级。

这才是「智能测试」的真正含义。

扫码免费获取全套源码资料

图片
huice666
danwen668


【声明】内容源于网络
0
0
智测AI
专注AI与软件测试融合,探索智能测试前沿技术与实践。
内容 154
粉丝 0
智测AI 专注AI与软件测试融合,探索智能测试前沿技术与实践。
总阅读932
粉丝0
内容154