学习笔记:知识图谱是什么,在测试里能干什么

哈喽,大家好~

这阵子我在折腾「用 AI 辅助测试」:把测试知识库切成片段喂给 AI,帮着生成测试用例;又通过 MCP 协议连上 bug 管理系统,让 AI 自动拉缺陷数据做分析。

但折腾的过程里,我反复撞到同一堵墙:用例、接口、脚本、bug 这些东西之间是怎么关联的,全靠人脑记。

做接口自动化的同学肯定熟:开发说「orderStatus 这个字段的类型要改」。然后呢?哪些接口在用它、哪些用例覆盖了它、哪些脚本的断言会挂------这些问题没有现成答案,只能翻记录、问同事、靠回忆。漏了一条,漏测就跟上了。

那么,能不能把这些散落在各个工具里的关系,变成一张能查的图?

这就是我最近学知识图谱(Knowledge Graph)的动机。这篇是学习记录:先弄懂它是什么,再看它在测试里能干什么。

一、知识图谱是什么:从三元组说起

知识图谱听起来玄乎,其实它存知识的最小单位特别简单,叫三元组 :头实体 ---关系→ 尾实体。说白了就是一句「主谓宾」:

注意「麻辣火锅」在第一条里是结尾,在第二条里又成了开头。同一个实体被反复使用,知识就自己「缝」了起来。把成千上万条三元组接在一起,就得到一张网------节点是事物,连线是事物之间的关系,这就是知识图谱。

它和普通表格的差别也很直观:表格里只存一条条记录,谁跟谁有关系,得自己跨表翻;图谱把「谁和谁有什么关系」直接写在连线上,顺着线看就行。

二、测试领域的知识图谱长什么样

把视角拉回测试。用例、接口、脚本、缺陷这些东西之间,本来就有实实在在的关系:用例覆盖需求、用例调用接口、接口包含字段、脚本实现用例、用例暴露缺陷。把这些画出来,就是一张测试知识图谱:

重点是图里那条虚线:「字段 → 用例」的影响 关系,没有任何人手工登记过,它是顺着「字段 → 接口 → 用例 → 脚本」这条路径推导出来的。这正是图谱相对「把用例写成表格」的关键增量------它能把已有的关系串成一条你原来看不见的结论。

这些节点的数据来源,基本都是现成的:

节点 从哪来
需求 需求文档、迭代计划、知识库切片
用例 用例库、AI 生成用例的产出
接口 / 字段 接口文档、OpenAPI 定义
脚本 接口自动化仓库
缺陷 Bug 系统(用 MCP 就能定时拉取)

三、一个能落地的例子:字段改了,回归什么

回到开头那个场景。有了图谱,「orderStatus 类型要改」就不再是靠回忆的题,而是一次图查询。影响面像涟漪一样扩散:

一个字段被 3 个接口引用,这 3 个接口一共被 12 条用例覆盖,这 12 条用例又对应着 4 个自动化脚本------顺着线走一遍,回归清单就出来了。数字是举例,实际有多少取决于你的图,但查法完全一样。

最妙的是,起步根本不需要图数据库。一张三列的表就够了:

复制代码
头实体,关系,尾实体
orderStatus,属于,下单接口
orderStatus,属于,查询接口
orderStatus,属于,退款接口
下单接口,被调用,下单正常用例
下单接口,被调用,下单参数校验用例

「找受影响的用例」就是两次查询:先查所有「尾实体 = orderStatus」的行拿到接口,再拿这些接口当头实体查下一跳。用 Excel 筛选、或者 SQLite 里一条 SQL 都能跑。等关系规模上去了,再考虑 Neo4j 这类图数据库也不迟。

四、我的落地计划:三步走

三步走:

  1. 先攒需求、用例、缺陷三类节点,跑通「用例 ↔ 缺陷」的关联分析;
  2. 接入接口与字段定义,把自动化脚本也挂上去;
  3. 把常用查询(影响面、覆盖缺口、冗余用例)做成固定产出。

计划先到这。等真的跑起来,踩到坑再来记录一篇。


相关推荐
ss27335 分钟前
AI时代首先数据库-PostgreSQL实战笔记 | 19 PostgreSQL逻辑备份:pg_dump与pg_dumpall
数据库·笔记·postgresql
YouCanYouUp.1 小时前
AUTOSAR CAN 网络管理(NM / CanNm)深度解析:从概念到配置实现
学习
2301_801821711 小时前
NMVM短文本聚类模型学习
学习
flytalei1 小时前
逐浪笔记 GitOps 实战:Jenkins 构建、Argo CD 同步与 Git 回滚
笔记·git·jenkins
叼烟扛炮1 小时前
Linux 学习笔记(八):GCC 编译器的四大阶段与链接原理
linux·笔记·学习
Z21-X2 小时前
云原生运维学习笔记:从云计算概念到服务器硬件的入门之旅
运维·笔记·学习·云原生
星川皆无恙2 小时前
基于知识图谱的百科问答系统:Django + Neo4j 与实现
人工智能·python·机器学习·自然语言处理·django·知识图谱·neo4j
滴啦嘟啦哒2 小时前
【具身笔记】【Piper+PI0.5】一、基于键盘实现数据采集
笔记·vla·具身
叼烟扛炮2 小时前
Linux 学习笔记(七):软件安装与 Vim 编辑器极速入门
linux·学习·编辑器
hgy89692 小时前
Sufer技能积累手册
学习