ClaudeCode_测试Ontology_MCP实战
我用 Claude Code 搭了一个测试 Ontology让 AI 看懂需求、用例、缺陷和上线风险适用场景测试质量管理、AI 测试助理、MCP 实战、企业 AI 落地先看最终效果Claude Code 通过本地 MCP 查询 Ontology 数据后能识别REL-1.2.0 当前仍有 2 个未关闭 Bug其中 1 个 P1并给出建议回归范围。图 1Claude Code 基于 sqa-ontology MCP 输出版本风险速览。一、为什么要做这个 Demo前面讲 MCP 时我们解决的是“AI 怎么连接工具”的问题。但连接之后AI还需要理解业务对象之间的关系。对测试团队来说真正重要的不是让 AI 查到Bug而是让它知道 Bug关联哪个用例、哪个需求、哪个版本以及这些关系是否形成上线风险。所以这次 Demo 的目标不是做一个复杂平台而是搭一个最小可运行的测试质量OntologyRelease 版本└── Requirement 需求├── TestCase 测试用例└── Bug 缺陷└── Risk 上线风险最终我们希望在 Claude Code 里问“请分析 REL-1.2.0 是否还有上线风险。”它能基于本地数据给出结构化结论而不是泛泛回答。二、本次 Demo 的项目结构整个项目只保留几个核心文件便于读者照着复现。图 2Demo 项目目录。核心文件包括CLAUDE.md、ontology.json、query_ontology.py、mcp_server.py。文件作用CLAUDE.md给 Claude Code 的项目说明和行为约束避免它编造需求、用例或缺陷。ontology.json测试质量 Ontology 数据模型表达需求、版本、用例和缺陷之间的关系。query_ontology.py本地查询脚本用于聚合版本风险、未关闭 Bug 和建议回归范围。mcp_server.py把本地查询能力封装成 MCP 工具供 Claude Code 调用。README.mdDemo 项目说明。三、第一步定义测试质量 Ontology这一步的重点不是建数据库而是先把测试工作中的关键对象和关系显式表达出来。我们先定义5 类对象Requirement、Release、Module、TestCase、Bug。对象含义示例Requirement需求报销审批规则优化Release版本REL-1.2.0Module模块H5端、数据导出、报销审批TestCase测试用例H5端提交报销后状态变为审批中Bug缺陷H5端提交报销后状态未刷新对象之间的关系是 Ontology 的核心关系含义Release includes Requirement版本包含需求Requirement has TestCase需求被用例覆盖TestCase found Bug用例执行发现缺陷Bug belongs to Module缺陷归属模块Bug blocks Release缺陷可能影响版本上线完成 ontology.json后我先用一个简短脚本读取对象统计确认数据结构没有问题。图 3Ontology对象统计。能看到需求、版本、模块、用例、缺陷数量以及未关闭 Bug。四、第二步本地脚本输出版本风险有了结构化对象后下一步用 query_ontology.py做本地聚合。这个脚本会做几件事• 根据 release_id 找到版本包含的需求。• 根据需求找到关联测试用例和失败用例。• 根据需求找到未关闭 Bug。• 统计 Bug 优先级分布和模块分布。• 根据 P0/P1 未关闭问题判断是否存在阻断风险。• 根据失败用例和 Bug 模块推荐回归范围。本地执行效果如下图 4本地执行 query_ontology.py 后输出的版本风险分析。这一步已经能看出 Ontology 的价值它不是把 Bug孤立列出来而是把版本、需求、用例、Bug 和回归范围关联起来。五、第三步准备 MCP Python 环境接下来把本地查询能力暴露给 Claude Code。因为 MCP Python SDK 需要 Python3.10本次本地环境使用 Python 3.11 创建虚拟环境。cd ~/sqa-ontology-demopython3.11 -m venv .venvsource .venv/bin/activatepython -m pip install --upgrade pippip install mcppython -c “import mcp; print(‘mcp ok’)”图 5MCP Python SDK 安装完成import mcp 校验通过。这里遇到过一个实际问题系统默认 Python 是 3.9.6安装 mcp会失败。因此不要动系统 Python直接用 Python 3.11 重建 .venv 更稳。六、第四步把查询能力封装成 MCP 工具mcp_server.py 只暴露 3个只读工具。第一版不做写入避免误改真实系统数据。MCP 工具作用query_release_risk查询版本风险返回需求数、用例数、失败数、未关闭 Bug、风险分布。query_requirement_quality查询某个需求的质量状态包括关联用例和未关闭 Bug。get_regression_scope根据失败用例和未关闭 Bug 推荐回归范围。from mcp.server.fastmcp import FastMCPmcp FastMCP(“sqa-ontology-mcp”)mcp.tool()def query_release_risk(release_id: str):return get_release_risk(release_id)mcp.tool()def query_requirement_quality(requirement_id: str):return get_requirement_quality(requirement_id)mcp.tool()def get_regression_scope(requirement_id: str):return recommend_regression_scope(requirement_id)如果手动执行 python mcp_server.py 后出现 JSON-RPC EOF报错不一定是代码问题。stdio MCP Server 本来就是给 Claude Code拉起并通信的不适合在普通终端里人工交互。七、第五步注册到 Claude Code拿到虚拟环境 Python 路径和 mcp_server.py 的绝对路径后执行claude mcp add --transport stdio sqa-ontology – \/Users/vito/sqa-ontology-demo/.venv/bin/python \/Users/vito/sqa-ontology-demo/mcp_server.pyclaude mcp listclaude mcp get sqa-ontology图 6sqa-ontology 已成功注册为 Claude Code 的本地 stdio MCP Server。截图里可以看到 Status 为 Connected说明 Claude Code 已经能连接本地 MCPServer。八、第六步让 Claude Code 分析上线风险在 Claude Code 中输入请使用 sqa-ontology MCP 的 query_release_risk 工具分析 REL-1.2.0的上线风险。要求必须基于 MCP 返回的数据不要编造不存在的需求、Bug 或用例输出未关闭 Bug 数量、优先级分布、模块分布输出建议回归范围不要直接给出“可以上线/不可以上线”的绝对结论。为了方便截图我让 Claude Code 再输出一版“一屏内风险速览”图 7Claude Code 基于 MCP Ontology 输出的一屏内风险速览。这个结果的重点不是“语言写得像报告”而是它的结论来自结构化数据版本包含需求需求关联用例用例失败发现Bug未关闭 P1 形成上线风险。九、这套 Demo 的价值这个 Demo 很小但跑通了一个关键闭环测试对象建模→ 本地风险查询→ MCP 工具暴露→ Claude Code 调用→ 输出上线风险分析它说明 MCP 和 Ontology 的关系可以这样理解组件价值MCP解决 AI 怎么连接工具和数据。Ontology解决 AI 怎么理解业务对象、关系和动作。Claude Code作为 AI 工作入口调用 MCP 工具并生成分析结果。只让 AI 查询 Bug价值有限让 AI 理解 Bug关联哪个用例、哪个需求、哪个版本才更接近真实测试助理。十、落地建议如果要把这个思路放到团队里不建议一上来就做自动写入。更稳的路线是阶段建议阶段 1只读查询查询需求、用例、Bug、测试结果、构建结果输出风险摘要。阶段 2草稿生成生成测试报告草稿、Bug 草稿、回归建议人工确认后使用。阶段 3受控写入对低风险动作做写入关键动作必须保留确认和审计。对测试团队来说最适合先做的是“只读查询 风险汇总”。这类场景风险低、价值高也容易让团队建立信任。十一、写在最后企业 AI落地不能只靠大模型。大模型能理解语言但它未必理解企业内部的业务对象MCP能连接工具但连接之后仍然需要业务地图。Ontology的价值就是把需求、用例、缺陷、版本、风险这些测试对象组织成 AI能理解和查询的业务世界。一句话总结MCP 解决连接Ontology 解决理解。当 Claude Code 能通过 MCP查询数据又能通过 Ontology理解需求、用例、缺陷和版本之间的关系它才真正开始接近一个测试助理。

相关新闻

终极硬件调试指南:深入AMD Ryzen处理器底层的5大实战技巧

终极硬件调试指南:深入AMD Ryzen处理器底层的5大实战技巧

终极硬件调试指南:深入AMD Ryzen处理器底层的5大实战技巧 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:/…

2026/7/3 1:36:16 阅读更多 →
(十三)「JVS-Rules规则引擎 V2.5」— 规则入参配置

(十三)「JVS-Rules规则引擎 V2.5」— 规则入参配置

规则引擎的入参配置是指在规则引擎中定义和配置规则的输入参数。这些参数用于接收外部系统或用户提供的数据,作为规则引擎执行规则和决策的输入。数据传递和接收:通过入参配置,规则引擎可以接收外部系统或用户传递的数据。这些数据可以是实时…

2026/7/3 1:32:16 阅读更多 →
Havenlon 不是让人少用 AI,而是让人敢用 AI 去执行真实业务

Havenlon 不是让人少用 AI,而是让人敢用 AI 去执行真实业务

AI 让你能做出系统,Havenlon 让你敢让系统执行。一、AI 降低了创造门槛,却没有降低执行风险过去,一个人想做一个真正能跑的业务系统,门槛很高。哪怕只是一个客户管理后台、订单处理工具、自动退款页面、内部审批系统或数据同步脚本…

2026/7/3 1:30:16 阅读更多 →

最新新闻

嵌套 H5 的跨端通信:iOS / Android / 小程序 / 浏览器

嵌套 H5 的跨端通信:iOS / Android / 小程序 / 浏览器

一、为什么要做“统一桥接层”? “Write once, run anywhere” 对于纯展示型 H5 是成立的。但只要涉及到业务交互,比如:调起原生登录、保存图片到相册、修改系统状态栏颜色、分享到朋友圈,浏览器标准的 Web API 根本无能为力。 …

2026/7/3 2:40:31 阅读更多 →
交叉熵损失函数实战指南:原理、陷阱与工业级调优

交叉熵损失函数实战指南:原理、陷阱与工业级调优

1. 项目概述:为什么交叉熵损失函数不是“又一个公式”,而是模型精度的隐形操盘手在机器学习项目里,你调用model.compile(losscategorical_crossentropy)可能只需要0.3秒,但背后这个看似简单的函数,却直接决定了模型是“…

2026/7/3 2:38:31 阅读更多 →
ThreadLocalMap 设计及工作原理

ThreadLocalMap 设计及工作原理

把焦点深入到 ThreadLocalMap 这个核心容器上。它是理解整个 ThreadLocal 机制的关键,也是一个精巧的、为特定场景优化的定制化哈希表。下面我从数据结构、哈希冲突解决、扩容机制和关键操作四个维度,剖析它的设计精髓。1. 数据结构:弱引用的…

2026/7/3 2:36:30 阅读更多 →
Node.js Promise.all 并行查询实战:性能提升与错误处理详解

Node.js Promise.all 并行查询实战:性能提升与错误处理详解

在 Node.js 后端开发中,我们经常需要从多个数据源(如数据库、外部 API、文件系统)并行获取数据。如果采用传统的串行 await 方式,总耗时将是所有异步操作耗时的总和,这在处理高并发或延迟敏感的业务时是无法接受的。…

2026/7/3 2:36:30 阅读更多 →
SpringBoot+MySQL实战:从零搭建企业级后台管理系统

SpringBoot+MySQL实战:从零搭建企业级后台管理系统

1. 先搞清楚这个“新冠物资管理系统”到底能做什么,以及它适合谁看到“新冠物资管理系统”这个标题,很多人第一反应可能是:这会不会是一个过时的、特定时期的项目?实际上,这个基于 SpringBoot 和 MySQL 的项目&#xf…

2026/7/3 2:34:30 阅读更多 →
别再熬夜写论文了!6款AI论文写作工具,一键极速生成超长篇幅!

别再熬夜写论文了!6款AI论文写作工具,一键极速生成超长篇幅!

别再做“学术裁缝”触碰学术不端风险了!本文解析论文写作新范式,介绍AI辅助原创、人机协同深化、全流程合规保障三大核心,并推荐6款免费AI论文工具,覆盖全流程生成、深度对话构思、理工科适配、范文参考、文献检索、学术润色翻译等…

2026/7/3 2:32:30 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻