随着 AI 技术普及,很多团队都希望搭建一套 AI 测试平台:统一管理各类测试资产,把 AI 能力嵌入测试流程,帮助日常测试提效。 同时现在不少企业招聘里,测试平台搭建、二次定制开发,也已经是测试工程师很重要的加分项。如果只会使用现成工具,很难做出差异化竞争力。
基于这些考量,我这边也开始进行AI测试平台的开发。市面上同类产品虽然不少,但大多很难贴合自己的业务场景。
所以还是打算按照真实测试需求,从零搭建一套适配度更高的平台。平台定位覆盖测试全流程常见场景,接入 AI 能力赋能测试提效。
目前核心功能已经完成了一些,后续也会持续迭代扩充能力。
核心功能介绍
一、需求管理
首先是需求管理,这里支持上传多种文件格式,包括md、txt、pdf、docx等等
创建之后,可以看到有下面的功能
需求分析
能够对当前的文件或者文本做分析,目的是让我们能够快速地去理解需求,这个设计的初衷是因为现在产品也很多用AI做需求设计,写出来的文档内容十分多,按照以前的方式去一行一行阅读,废话太多,阅读成本也很高,因此设计了该需求分析
主要输出内容有:功能清单(能够更加清晰的看到这个需求的功能点是什么)、界面描述(如果有界面或者截图的话,则会梳理出有什么页面)、待澄清项(则是输出需求中有什么是不清晰的,需要补齐的)
同时,右边也提供一个对话agent,能够去调整和修改本次的需求分析
例如:你这边可以将待澄清项发给产品,让产品做解答,解答完之后,你就可以将结果给到对话Agent,让它做修改就好
测试计划
能够基于当前的需求文档,输出测试计划,可以梳理出本需求文档中,目标和范围,以及能够帮你估算人天这些,对于需要编写测试计划的团队来说,能够进行一定的提效
二、功能测试
主要包含下面这些能力
- AI生成用例:先生成草稿,再由用户决定是否写入用例管理
- 用例管理:用来管理用例
三、知识库
支持创建知识库、文档上传、分块、试检索
当然最主要的是提供给AI用例生成等Agent进行知识库内容的检索
四、接口自动化
接口资产
首先是可以导入接口资产,这个一般指的是openapi或者swagger文件,这些文件一般是用来存放接口信息的,一种标准规范。可以让开发导出swagger文件,或者openapi文件
导入后就能够看到,接口清单,可以一键导入到接口管理
接口管理
之后接口管理中就会出现前面导入的接口
能够像postman一样,直接在接口管理中发起调试
单接口Agent
这个是用来做什么的呢?主要是用于单接口的用例设计的,简单来说,就是只针对单独一个接口,按照接口用例设计方法,生成用例
在对话页面中,先选择接口
直接发送
之后会生成草稿,如果觉得不满意的,还能够进行修改
场景Agent
这个应该是实际中使用的会多一些,比较符合实际业务,就是要将多个接口给串联起来,进行完整业务的操作
同样,也是选择接口,直接发送
之后会输出草稿,绘制了数据流、以及详细的接口请求,这里如果不符合的话,则可以对话做调整
确认没问题之后,进行写入
之后可以进入编辑页做编排,当然,这里也提供了编排Agent,能够对话去修改
之后可以执行,执行后如果失败,有 AI 归因
五、UI 自动化测试
功能测试用例执行
在功能测试的测试用例中,支持对用例进行自动化执行
支持探索生成脚本的模式,以及 Agent直跑的方式
- 探索生成脚本的话,就是 AI 会先进行页面探索,操作网站,之后生成对应的 UI 自动化脚本,支持后续回归使用
- Agent 直跑,就会使用 playwright 的无障碍树中的元素做操作,简单理解就是只执行一次,不支持复用
这里以带验证码的登录界面做演示,在执行之后,会生成截图,遇到一些需要图片识别的,则采用 midscene 进行识别
识别完之后,会生成脚本,如果觉得脚本没问题,则可以写入到 UI 用例中
还有一种就是 Agent 直跑的,步骤也是一样的,不过它不会生成脚本,这里就不演示了
这里有个需要讲解的地方,就是环境变量的注入
我们在实践中,会有一个场景,就是业务用例(非登录),我们不想要每次都进行登录,这个时候可以通过 localStorage 进行变量设置
在环境中配置变量,之后执行用例的时候,就不需要去登录了
也支持自由对话,提供网站和上下文信息,探索界面生成用例,有问题进行修复等
六、项目管理
本系统的话,主要是以项目作为关键载体进行维护的,也就是说后续的需求、用例、接口等等都围绕着项目进行
七、系统AI配置
提供多种模型配置方案
这里可以看到,总共有3个可以配置的信息,分别为:
大模型管理
这个就是项目中,Agent的基础大模型,包含让大模型决策、改东西都用它,可以理解为是大模型使用的一个基础,建议配置为多模态的,虽然文本的也可以,但是文本的话,可能就没法解析图片那些了,内部预设了一些模型,常见的话可以用deepseek之类的,deepseek apikey的获取,
向量模型管理
这个的话是提供给知识库使用的向量模型,它能够将文档的内容进行切片,之后进行向量化入库,这里后面我们在知识库的时候,再详细做讲解。
内部也预设了模型,方便快速进行填写
Midscene
这里为啥还需要midscene呢?它是用于UI自动化的,目的是用于补齐playwright的局限的,playwright对于一些复杂元素没法处理的时候,就采用midscene进行处理,同样也是有支持预设,不过注意是需要多模态模型
以上是今天的分享。AI 测试平台源码与部署文档,现已更新至知识星球。接下来我会在星球更新平台的开发思路、模块技术拆解内容。 大家拿到源码后,可以对照教程动手调试,吃透底层实现;也可以基于项目改造,适配自身团队的业务场景。实操过程中遇到任何问题,都可以找 Raina 交流提问。
我也会结合大家反馈的痛点与实际需求持续迭代平台功能,让这套项目能够真正落地到大家的工作里。