AI驱动UI自动化测试生成平台探索思考
AI驱动UI自动化测试生成平台探索思考
一、项目定位
AI驱动的人机协作UI自动化测试平台,AI辅助生成,人工审核确认,支持两种入口:
- 从页面URL入口:自动分析页面生成测试用例
- 从需求文档入口:需求阶段AI辅助分析产出测试点,可导出手动测试或转化为自动化
核心定位:让AI做重复体力活,让人做业务决策,提升测试效率,不替代测试工程师。
二、整体技术架构
┌─────────────────────────────────────────────────────────┐
│ Frontend (React) │
│ React 18 + TypeScript + Vite + TailwindCSS │
│ Zustand 全局状态 + ReactQuery 服务端数据 │
└─────────────────────────────────────────────────────────┘
↓ RESTful JSON
┌─────────────────────────────────────────────────────────┐
│ Backend (Python) │
│ FastAPI (async) + SQLAlchemy 2.0 + SQLite │
│ Playwright 浏览器自动化 + OpenAI AI生成 │
│ 分层:Models → Schemas → Routers → Services │
└─────────────────────────────────────────────────────────┘
架构特点:全异步设计,分层清晰,增量可扩展,轻量易部署。
三、核心设计思路
1. 顶层:产品隔离
- 以「产品」作为顶层分类容器
- 不同项目/产品数据完全隔离
- 凭证、模块、场景都按产品隔离
2. 测试架构:模块化函数驱动
- 测试模块:最小单元,对应一个独立功能点
- 依赖+状态:模块定义前置依赖和状态变化
- 测试场景:组合多个模块形成完整测试流程
- 增量执行:认证模块会话缓存,不用每次重新登录
- 状态追踪:处理同URL不同页面状态问题
3. 人机协作:分步确认机制
- AI生成每个阶段输出后,必须人工确认才能进入下一阶段
- 错的越早发现,修改成本越低
- 支持"全部确认"一键跳过,不强制逐条修改
- 危险操作(覆盖/删除)必须二次确认
4. 两种入口互补
| 入口 | 适用场景 | 测试阶段 |
|---|---|---|
| 页面URL分析 | 已有可访问产品,需要自动化回归 | 测试右移 |
| 需求文档分析 | 需求阶段提前测试设计 | 测试左移 |
四、当前AI难点与思考
1. AI幻觉问题
问题:AI理解需求可能偏离业务原意,匹配页面元素可能认错,生成选择器可能出错
现有应对:不要求AI一次做对,每一步输出都要人肉审核确认,错了改了再往下走,接受AI会犯错,用人把关
思考:完全消除幻觉不可能,人机协作本身就是接受这个事实,AI提速,人控质量。
2. 复杂页面元素匹配
问题:页面元素多、同名元素多、动态id变化,AI可能选错
现有设计:用户只写业务描述,AI抓完用户确认,不对再改。要不要上视觉匹配(截图让用户点选)?会增加很多复杂度,当前轻量化方案更实用
思考:纯LLM匹配不可能100%对,关键是给用户便捷的修改方式,而不是追求完全自动。
3. 输出质量依赖需求输入质量
问题:轻量四阶段路径输出质量严重依赖需求文档质量,如果需求写得模糊,AI输出也模糊
思考:这不完全是缺点——需求模糊的时候,AI发散分析反而能帮助梳理需求,把模糊点暴露出来。当然可以增加"AI主动提问澄清模糊点",但会增加交互复杂度,需要权衡
4. 复用粒度平衡
问题:步骤级复用会不会粒度太细?依赖链太长反而增加维护成本?过度复用会不会改一处崩一片?
思考:不强制复用,用户自己控制。鼓励"同一页面内常用操作"复用,不鼓励跨页面全局复用。模块级和步骤级两种复用并存,用户按需选择。
5. 页面改版后的维护成本
问题:页面改版选择器全变了,复用步骤虽然改一处全生效,但怎么知道哪些复用步骤需要改?
思考:这是复用本身的trade-off,复用节省了新增代码的时间,改版时集中改一处也比到处改好。可以后续增加元素diff检测,提示哪些步骤可能受影响,属于优化迭代,不是必须第一版本做。
6. 深度页面AI生成
问题:深层页面需要多级导航+认证才能到达,AI生成步骤时怎么拿到正确元素?
现有方案:模块自己声明
page_url+ 依赖前置模块,生成时自动按依赖执行到达目标页面再抓元素。解决了问题,但依赖用户正确填写依赖。
五、设计哲学
AI辅助,不替代人
早错早改,分步确认
增量扩展,兼容存量
用户控制,选择自由
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)