知识图谱在 AI 测试开发中的应用
智能体与测试智能体
智能体 Agent
-
百度百科
能够感知环境并采取行动以实现特定目标的代理体。 它可以是软件、硬件或一个系统,具备自主性、适应性和交互能力。 智能体通过感知环境中的变化,根据自身学习到的知识和算法进行判断和决策,进而执行动作以影响环境或达到预定的目标
-
IBM
AI 代理是能够通过设计其工作流和利用可用工具,代表用户或其他系统自主执行任务的系统或程序。这些代理不仅限于自然语言处理,还包括决策、解决问题、与外部环境交互和执行操作等功能
-
Langchain
代理的核心思想是使用语言模型 来选择要采取的一系列操作。在代理中,语言模型被用作推理引擎来确定要采取哪些操作以及按什么顺序
-
Amazon AWS
一种可以与环境交互、收集数据并利用数据执行自我决定任务以达到预定目标的软件程序。人类设定目标,但人工智能代理会独立选择实现这些目标所需的最佳行动
Agent 智能体核心元素总结
-
LLM 大模型 chatgpt qwen llama
-
Planning:规划 路由 ReAct
-
Parser:结构化输出解析 json
-
Tools:工具集与调用 tool function
-
Memory:记忆 短期 长期

测试智能体介绍
软件测试智能体(Software Testing Agent)是指在软件测试领域中,运用人工智能(尤其是大语言模型 LLM)、机器学习、强化学习、知识图谱、智能规划等技术,自主或半自主地执行软件测试任务的智能化系统或实体。
测试智能体的核心能力
-
自主感知 :自动识别软件测试环境、测试对象及相关测试需求。
-
决策与规划 :基于测试目标制定有效的测试策略,生成测试计划和测试用例。
-
自主执行 :自动执行测试过程,包括功能测试、接口测试、性能测试、异常情况处理等。
-
智能分析与反馈 :能够自主分析测试结果,识别缺陷与异常情况,并给出针对性的建议或反馈。
-
自适应学习 :可基于历史测试数据持续优化测试策略和测试用例,不断提升测试覆盖率和效率。
测试智能体的关键特征
|
特征 |
描述 |
|---|---|
|
自主性 |
能够独立或半独立地执行测试任务,减少人工干预。 |
|
智能性 |
运用 AI 技术提高测试设计、执行与分析的精准度与效率。 |
|
自适应性 |
可根据环境与测试结果的变化自动调整测试策略与行为。 |
|
协同性 |
能够与其他智能体或人工团队协作,共享知识与测试成果。 |
|
持续性 |
持续积累与利用历史数据、知识库,不断优化测试效果。 |
Ai测试用例介绍
用例编写规范指南
本文定义了适用于 AI 软件测试智能体进行自动化 测试执行的测试用例编写标准,确保用例内容的清晰、易读、易维护和智能化执行
Ai 测试用例的执行过程
-
观测:通过多模态模型或者控件树识别被测系统上下文,比如页面结构、系统状态等。
-
决策:根据测试用例、已执行步骤和当前观测结果预测下一步操作指令
-
执行:执行下一步操作指令,更新观测结果

Ai 测试用例编写的关键
-
被测系统上下文
了解被测系统上下文结构,以更好的定位自动化目标,并写出更贴合上下文的意图、步骤、预期结果
-
自动化动作
了解智能体支持的工具清单与自动化动作清单,以确保大模型可预测出正确的动作
被测系统上下文观测
理解大模型可以看到的上下文,有助于我们更好地理解测试用例的执行环境和目标。常见的流程是获取当前页面结构,然后进行 token 优化,从而降低 token 量,提高预测效率与大模型识别精准度。
-
UI控件树识别工具
效率与token消耗等性能指标,远胜图像识别与多模态大模型。Token压缩算法很关键。
-
UI界面视觉识别工具
图像识别虽然万能,但是性能、可维护性都有问题。
上下文分析工具
-
Web:浏览器开发者工具、selenium ide、playwright-recorder
-
App:adb、appium inspector
-
接口:浏览器开发者工具、postman、curl、mitmproxy、接口文档、swagger
Web 上下文分析工具 -- 浏览器开发者工具

App 上下文分析工具 Appium inspector

动作清单
-
上下文意图工具:由上下文推理出的产品意图
-
通用业务:登录 搜索 增删改查
-
领域业务:车联网 物联网 金融证券
-
-
通用自动化动作工具:
-
Web 自动化:点击 输入 滑动
-
App 自动化:点击 输入 滑动
-
接口自动化:get post
-
数据库自动化:增删改查
-
自定义工具:获取当前时间 执行命令 调用大模型 调用视觉模型
-
测试用例编写的常见风格
|
风格 |
特点 |
描述 |
|---|---|---|
|
上下文意图+声明式 |
适合验证业务功能,可以灵活应对页面变化 |
描述任务意图目标 |
|
上下文意图+命令式 |
适合验证固定流程,可以确保流程的正确性 |
描述任务实现中间过程 |
|
自动化动作+声明式 |
适合意图识别不准确的场景 |
描述自动化任务意图目标 |
|
自动化动作+命令式 |
适合意图识别不准确的场景 |
描述自动化中间实现过程 |
多种风格的测试用例案例
-
上下文意图+声明式风格
-
-
打开 ceshiren.com
-
搜索“人工智能”
-
断言搜索结果页面显示“人工智能”
-
-
上下文意图+命令式风格
-
-
打开 ceshiren.com
-
点击搜索按钮
-
在搜索框中输入“人工智能”
-
点击搜索按钮
-
断言帖子标题里包含“人工智能”
-
-
自动化动作+声明式风格
-
搜索按钮的id 为 search
-
输入框的css选择器为 #search
-
搜索按钮的class为 btn
-
-
-
打开 ceshiren.com
-
点击搜索按钮
-
在输入框中输入“人工智能”
-
点击搜索按钮
-
断言class为title 的元素包含“人工智能”
-
-
自动化动作+命令式风格
-
-
打开 ceshiren.com
-
点击id为 search 的元素
-
在css选择器
-
点击 class为 btn 的元素
-
断言class为 title 的元素包含“人工智能”
-
如何提高准确性
上下文意图如果不能识别,就主动添加更多元素特征 token 让大模型进行推理 。大模型可以理解中英文 token 之间的关系。

-
<input -
aria-controls="search-result-count" -
aria-label="输入搜索关键字" -
autocomplete="off" -
placeholder="搜索" -
id="ember15" -
class="full-page-search search no-blur search-query ember-text-field ember-view" -
type="text" -
/>
一键获取完整项目代码
|
prompt 输入 token |
大模型结合上下文推理 |
输出 |
|---|---|---|
|
输入“搜索词” |
prompt:输入 上下文:input |
成功 匹配不太精确,有多个输入框的时候有歧义 |
|
在全页搜索中输入“搜索词” |
prompt:全页搜索 上下文:full page search |
成功 关联度高,业务意图明确 |
|
在 full-page-search 中输入“搜索词” |
prompt:full-page-search 上下文: full-page-search |
成功 匹配度最高, 但是不能适应页面变化 |
常见问题
如何提高准确性与稳定性
确定的 token + 确定的大模型配置,输入确定,输出就是确定的。选择固定的大模型,大模型的预训练数据差异不大,预测结果是明确收敛的自动化动作清单,大部分模型预测差异不大,是确定的。
大模型的参数配置、temperature top-p top-k 都是固定的,预测是稳定的。 token 中的最大变动因子是测试用例与被测系统的上下文,可以通过优化用例描述提高准确性与稳定性。
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)