一、AI背景
人工智能生成内容(AIGC,AI-Generated Content)技术的快速发展正在改变内容生产的方式,并逐渐渗透到各个行业,例如:在自媒体平台自动编写文案并发布,快速分析数据,写小说,画漫画等。强大的文本生成能力已经实现了生产力超过生产资料,提供了更加高效的生产力,将AI引入到工作中成为发展的方向。
目前公司编写测试用例为人工编写,存在手工编写用例的普遍痛点,例如:重新编写,费时费力,边界遗漏,兼容遗漏等。AI拥有自动生成文本并快速整合的能力,以AI辅助功能用例编写成为推动行业创新和效率提升的关键点。
AI编写用例的优点:
※ 效率提升
AI可以快速生成大量测试用例,显著减少人工编写所需的时间,提升整体测试效率。
※ 测试覆盖提升
AI能够自动识别潜在的测试场景和边界条件,从而提高测试覆盖率**,确保更全面的检测。
※ 一致性和准确性提升
AI生成测试用例具有较高的一致性和易理解性,减少人为错误,增强测试的可靠性和准确性。
AI热词:
二、设计方案
本部分介绍使用AI编写测试用例的的设计方案,包括使用流程和架构图。
AI编写用例流程图
AI编写用例架构图
三、设计核心介绍
本部分介绍如何使用AI辅助生成功能用例,详细讲解了从PRD文档->测试点->测试用例->Xmind用例->使用采纳,整条链路的核心设计与实现。
PRD文件解析器
平台支持飞书PRD文档中文本、多维表格、电子表格内容的解析,暂不支持对图片、流程图解析。文档读取分为6个步骤,分别为:获取飞书token、获取用户token、获取文件block列表、Table表格解析、电子表格解析、解析结果组装。以下主要介绍解析部分内容:
结构组成设计:
实现方案详情
※ 飞书文档读取
※ Table的提取与sheet表格的提取
- Table提取:提取表格过程中需要将表格相关的块与子块关联绑定,递归解析所有的数据。并根据第一行各字段的长度<20做是否为表头判定,默认第一行为表头信息。
- sheet提取:在飞书表格提取过程中需要使用多个递归,分别获取表格所有内容与元素
※ AI解析PRD文档:
- PRD解析:通过与AI交互将文本内容解析为:需求关键字、测试背景、测试需求详情三部分,并按照特定字段将数据存储。
- 结构设计:
PRD解析结构设计
核心代码逻辑:
※ 获取关联测试需求业务背景:
- 根据PRD解析关键字信息匹配最相关的测试用例模块,使用向量和关键字双权重对RAG**模块做测试用例提取:
- keyword_weight:0.3
- vector_weight:0.7
- 同时设置AI模型准确度为0.85
- 匹配过程中分别针对不同的关键字,从RAG数据中提取热度最高的3个测试模块,合并后提取所有模块中热度最高的三个模块作为业务历史背景。
- RAG提取架构设计
- 核心代码逻辑
模型设计
测试点生成器
测试点生成器为AI生成用例的核心,实现PRD到测试点的转换。生成过程中结合需求背景、关键字、需求详情、业务背景、测试分析等信息作为业务背景,以更准确的生成测试用例。核心结构如下:
结构组成设计
实现方案详情
模型设计
测试用例生成器
测试用例生成器为AI用例生成器,负责将AI测试点转换为Xmind测试用例,主要实现两个功能,第一步将AI测试点转换为markdown结构的测试用例,包括用例名称、前置条件、执行步骤、期望结果等。第二部负责将第一步测试用例转换为Xmind结构。
实现方案详情
※ 测试点解析生成markdown格式用例:
生成markdown格式用例
解析结果
※ AI markdown格式转换为Xmind结构用例
转换Xmind结构
生成结果
模型设计
知识库搭建
LLM大模型有通用的推荐能力,针对公司业务场景是无法准确识别相关功能的,针对“最后一公里”问题,平台使用搭建测试用例知识库的方式,以提升推荐准确度。
平台会以历史测试用例与业务需求文档作为历史业务背景。在推荐功能用例过程中自动匹配历史业务背景,以提升推荐准确度。
知识库搭建
※ 知识库涉及范围
※ 实现方案详情
- Xmind测试用例转换知识库
- 业务文档转换知识库
※ 模型设计:
- 测试用例转换文本AI模型
- 业务文档转换业务文档模型
四、实现结果展示
五、总结 & 规划
目前平台侧已经实现自动生成功能用例的功能,实现了从 PRD自动解析->测试点生成-> Xmind用例生成->同步平台的完整流程。可以一定程度上提升用户编写用例效率。
后续规划
- 支持PRD文档图片/流程图等多模态数据解析
- 持续完善RAG模型与测试用例知识库的维护
往期回顾
2.以细节诠释专业,用成长定义价值——对话@孟同学 |得物技术
3.得物可观测平台架构升级:基于GreptimeDB的全新监控体系实践
文 / 执一
关注得物技术,每周更新技术干货
要是觉得文章对你有帮助的话,欢迎评论转发点赞~
未经得物技术许可严禁转载,否则依法追究法律责任。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。