惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
Jina AI
Jina AI
大猫的无限游戏
大猫的无限游戏
Martin Fowler
Martin Fowler
博客园 - 司徒正美
云风的 BLOG
云风的 BLOG
C
Cybersecurity and Infrastructure Security Agency CISA
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
S
Securelist
S
Security Affairs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
LINUX DO - 热门话题
博客园 - 三生石上(FineUI控件)
T
Threatpost
T
The Blog of Author Tim Ferriss
C
CERT Recently Published Vulnerability Notes
IT之家
IT之家
P
Palo Alto Networks Blog
Microsoft Azure Blog
Microsoft Azure Blog
Spread Privacy
Spread Privacy
Cyberwarzone
Cyberwarzone
腾讯CDC
L
LangChain Blog
Know Your Adversary
Know Your Adversary
C
CXSECURITY Database RSS Feed - CXSecurity.com
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
I
Intezer
T
Tor Project blog
AWS News Blog
AWS News Blog
T
Tenable Blog
NISL@THU
NISL@THU
Security Latest
Security Latest
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
H
Hackread – Cybersecurity News, Data Breaches, AI and More
人人都是产品经理
人人都是产品经理
MongoDB | Blog
MongoDB | Blog
MyScale Blog
MyScale Blog
D
DataBreaches.Net
Microsoft Security Blog
Microsoft Security Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
量子位
美团技术团队
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
罗磊的独立博客
The GitHub Blog
The GitHub Blog
阮一峰的网络日志
阮一峰的网络日志
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Stack Overflow Blog
Stack Overflow Blog

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解 【002】HTTPS 粗解:证书、TLS 握手与对后端配置的影响 Hermes Agent 一周暴涨五万 Star,但我劝你别急着追 明明连接的是Redis的DB0,为什么能查到DB3的数据? 【从0到1构建一个ClaudeAgent】协作-Agent团队 熟悉电子元器件之后,电子小白下一步该怎么走? MAF快速入门(23)通过C#类定义Skills .NET 高级开发 | 手写一个对象映射框架 FastAPI数据库ORM怎么选?我肝了三个Demo后,终于不再纠结了 mysqldump 参数拾遗:在遗忘与铭记之间 C# .NET 周刊|2026年3月5期 Claude code入门 - 陈彦斌 一文学习入门 ThingsBoard 开源物联网平台 GitHub 热门项目 | 2026年04月16日 如何为GIT设置全局勾子,为每次提交追加信息 Number.isFinite和isFinite与isNaN()和Number.isNaN的区别 PortSwigger SQL注入LAB2 推荐一个测试人必备的Skills,从功能到性能全搞定(附详细实操和安装下载方式) 筑基期:掌握Odoo基础核心知识点02(Odoo XML 开发方式详解) GLM模型这么火,咱们用vllm也咧一个呗! 深入理解 AbortController:从底层原理到跨语言设计哲学 字符串学习笔记 多租户系统框架的基础模块设计和分析设计 Apache SeaTunnel Zeta 为什么能做到“又快又稳”? AI开发-python-LangGraph框架(3-26-LangGraph基本概念及第一个简单样例) Vue 3 组件通信,别只会用 Props 和 Emits 了,这几个狠活儿你得看看 ElasticSearch7.X版本配置密码 用Manim实现动态交点计算--从一个动点问题说起 团结引擎+Addressable+Instant Game打包抖音小游戏 function call 实战:让 LLM 自动判断 pod 异常、调用日志工具并完成故障分析 bubseek —— 让 Agent 的足迹,变成团队的洞察 通过 C# 读取并导出 PDF 书签 如何用 GitHub Actions 实现 Steam 自动化发布 【从0到1构建一个ClaudeAgent】并发-后台任务 .NET 高级开发 | 定制 ASP.NET Core 框架 电子小白:什么是运算放大器(运放) zero2Agent:面向大厂面试的 Agent 工程教程,从概念到生产的完整学习路线 堆上的ORW HC32F460 USB CDC通信异常:非对齐访问异常排查 20260413-Hyperbridge 攻击事件:发生在默克尔山上的验证绕过 那些喊着AI 要淘汰你的人,正在靠你的焦虑赚大钱! 深度学习进阶(八)Swin Transformer 最小二乘问题详解19:带先验约束的增量式SFM优化与实现 SnapTranslate 3.0 正式发布:全局划词翻译 + 完整英语学习闭环,一站式搞定查词、记词、复习 工作的意义、工作的困难认知再思考 .NET + AI 进阶实战:基于类的技能开发 - 打造可治理的 Agent 能力模块 【从0到1构建一个ClaudeAgent】规划与协调-技能 上周热点回顾(4.6-4.12) 电子小白的工具三件套:面包板、杜邦线、万能板 单表五亿数据的查询优化 | Mysql、StarRocks 2. WorkBuddy:从“我是谁”到“帮我干活” C# 如何减少代码运行时间:7 个实战技巧 基于HelixToolkit.SharpDX 渲染3D模型 - 笺上知微 从零开始的双臂具身VLA起源及现阶段发展综述 - SkyXZ 记对 xonsh shell 的使用, 脚本编写, 迁移及调优 - pluvium27 受够了Vibe Coding的失控?换个起点,让AI事半功倍 从开始配置漏洞环境到漏洞复现流程 - 難しい 关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法 - 虚无境 Any metadata 的内存布局 C# .NET 周刊|2026年3月2期 - InCerry 我帮你测过了,测试圈排名第二的 Skill 依然很牛逼 Skill Discovery | 无监督技能发现的经典工作总结 - MoonOut 上下文工程是什么?过时了么?一文讲明白! - 一枫说码 开了 TUN 模式还是直连?90% 的人都踩过这个坑 AScript扩展多种脚本语言 - rockey627 AI 学习笔记:Agent 的记忆机制 你能被装进一个文件里吗?——7 万人把同事"蒸馏"成了 AI - 我没有三颗心脏 Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 - 暮色之狐 在浏览器中快速编辑代码:VSCode Web 集成实践 - Newbe36524 蒸馏自己 skill?基于 Deepseek 的蒸馏器,丐版蒸馏方式,简单便捷 - To_Carpe_Diem Spring AI Aliababa和AgentScope,哪个更好? - 苏三说技术
你说你会AI测试,那你是怎么实现AI+软件测试的呢?(附带5 层AI 质量管理体系)
狂师 · 2026-05-09 · via 博客园_首页

前天面试了一个有着五年经验的测试工程师。

简历上写得挺漂亮:熟练使用AI生成测试用例,用AI实现自动化测试。我心想,这哥们儿应该有点东西,就抛了一个真实的项目问题过去。

没想到,他的回答把我惊呆了。

题目是这样的:

你用AI做测试,需求文档是完整的电商订单流程。AI生成了120条测试用例,3000 行UI自动化脚本,覆盖了正向下单、支付、退款流程。结果上线后一小时,大量用户反馈无法完成订单支付。

排查发现两个核心问题:

  1. AI生成的用例漏了订单金额为0.01元的边界值支付时网络中断重试这两个关键场景
  2. 自动化脚本只实现了点击操作,没有断言支付成功后订单状态变为待发货,也没有处理支付超时的异常场景,导致测试时没发现问题,上线后直接引发生产故障。

我接着追问了三个问题,每一个都是面试必问

  • 第一,你在审核AI生成的订单支付用例时,怎么判断AI有没有漏测边界值异常场景?

  • 第二,自动脚本跑通就代表没问题吗?你会具体检查脚本的哪些细节,如何避免没有断言、没有异常处理的情况。

  • 第三,这次故障后,你会怎么优化AI测试的流程,保证下次不再出现漏测脚本无效的问题?

没想到,他张口就来:

"我就把AI生成的用例大致扫了一遍,看步骤完整、没有明显错误就够了。"

"脚本能跑通就行,没必要查那么细。"

"故障后……下次让AI多生成几条用例,再多看两眼就好了。"

听到这里,我心里叹了口气。

兄弟,你这根本不是懂AI测试,你就是拿AI当甩手掌柜。AI一天能生成几百条用例、几万行脚本,你粗略扫一眼,能发现藏在细节里的边界漏洞、断言缺失吗?

他不知道该怎么回答了,面试到这里,基本也就结束了。

如果这道题你也不知道怎么回答,可以一起加入「AI 进化社」学习,里面涵盖了完整的能拿捏面试官的AI 测试必考题库和AI 测试项目实战技能,覆盖软件测试开发全流程AI 赋能。

这道题为什么能筛掉大部分人?

说实话,这类题我面了不下二十几个人,能答到点上的不超过三个。

很多人有个误区:觉得会用AI生成几条用例、让Copilot写几行Selenium脚本,就叫"AI测试"了。

大家一定要明白一个核心真相,AI擅长批量生成模板化输出,但永远不懂隐性业务,不懂行业规则,不懂项目历史问题。

AI最大的隐患不是写不出用例,而是特别容易产出看起来专业,实际全是漏洞的内容。

比如漏掉权限互斥场景、忽略流程依赖关系、边界值只写常规,不写极值、异常场景只做表面覆盖、自动化脚本缺少关键断言、接口测试漏了参数加密和并发场景等。

比如,AI生成测试内容的常见翻车点:

翻车类型 具体表现 危害等级
边界值漏测 只写常规值,不写极值(如0.01元、999999.99元) 🔴 高
异常场景表面化 写了"网络异常",但没写异常后的状态恢复 🔴 高
权限互斥缺失 没覆盖"同时操作冲突"(如退款+退货并发) 🔴 高
断言缺失 脚本只点不验,跑通≠通过 🟠 中
流程依赖断裂 步骤A失败后重试,步骤B的状态没同步校验 🟠 中
参数安全忽略 接口测试漏了加密、防篡改、并发场景 🟠 中
重复冗余 同一个场景换说法生成多条,浪费执行资源 🟡 低

这也是初级测试和高级测试的核心分水岭:前者只看 AI 产出的 “数量”,后者能看透背后的风险,用系统化方法驾驭 AI。

真正玩转AI测试,需要五层质量管控体系

结合我多年的实战经验,以及踩过的 AI 测试坑,我始终认为:想要真正用好 AI 测试,既发挥它的效率优势,又杜绝漏测、错测、无效用例上线,绝不能 “甩手掌柜式” 用 AI,而是要建立一套完整的 AI 测试全流程质量管控体系。

这不是简单的 “让 AI 多生成几条用例、多看两眼”,而是从需求到复盘的全链路把控,每一步都要融入人的专业判断和业务经验。

我把这套体系,分为五个层级,每一层都是面试高频考点,也是实际工作能落地的标准流程。

第一层:业务需求前置拆解,不给AI盲目发挥的机会

很多人用AI测试最大的误区,就是直接把一份笼统的需求文档丢给AI,让它自由发挥生成测试用例。

这本身就是最大的风险。

AI看不懂文字背后的隐性规则,也不知道你们项目过往的高频缺陷点。

比如"支付功能"三个字,AI理解的就是"输入金额→确认支付→扣款成功"。但它不会知道:

  • 你们的支付通道有金额下限(0.01元)
  • 网络中断后需要支持3次重试,每次间隔5秒
  • 支付超时后订单状态要回滚为"待支付",不能卡在"支付中"
  • 同一笔订单不能重复支付(幂等性)

正确的做法是先人工拆解需求,梳理出几大模块:

  1. 核心业务流程(主路径必须100%覆盖)
  2. 次要分支流程(异常分支、降级方案)
  3. 隐藏业务规则(风控拦截、金额限制、时间窗口)
  4. 权限角色划分(普通用户/VIP/管理员的不同逻辑)
  5. 边界极值清单(最小值、最大值、空值、超长值)
  6. 异常故障场景(网络中断、服务超时、数据不一致)
  7. 安全风控要求(SQL注入、越权访问、敏感信息脱敏)

把这几大模块的结构化清单、历史Bug案例、业务禁止规则,一起喂给AI,限定生成范围,限定覆盖维度。让AI在你划定的框架内产出,而不是任由它随意编造业务逻辑。

尤其是支付、订单、用户权限、数据隐私、资金流转这类核心模块,

必须提前做场景锁定,强制 AI 全覆盖,绝不让它随意编造业务逻辑。这一步的核心是 “人主导、AI 辅助”,用人工的业务理解弥补 AI 的认知盲区。

第二层:给 AI 产出 “做减法”,筛选有效内容

AI产出的测试用例,从来不是全部可用的。而是要学会快速分类筛选:

第一类:标准正向用例

  • 常规流程、基础操作
  • AI基本不会出错,可以直接保留
  • 占比约60%-70%

第二类:待修改用例

  • 边界值不精准(如写了"输入负数",但没写具体-1还是-0.01)
  • 异常场景描述模糊(如"网络异常"没定义异常类型)
  • 步骤顺序错乱
  • 这类不用直接删掉,人工微调后就能复用

第三类:直接废弃用例

  • 逻辑前后矛盾(如前置条件说"未登录",步骤里却要求"点击个人中心")
  • 编造不存在的业务功能(AI"幻觉"出来的菜单或按钮)
  • 重复冗余(同一个场景换说法写了3遍)
  • 完全脱离实际业务(如电商系统里出现"火箭发射"的测试步骤——别笑,我真见过)
  • 这类必须直接剔除,绝对不能混入测试套件

同时还要检查自动化脚本,看脚本是否只实现了页面操作,缺少结果断言,缺少异常捕获,缺少环境兼容适配,这类脚本跑通也没有任何测试意义,必须整改。

这一步的关键是 “不迷信 AI 产出”,用人工的专业判断筛选出真正有价值的内容,避免无效用例占用测试资源。

第三层:多维度量化校验,不靠感觉,靠数据

判断AI测试用例可不可靠,不能凭肉眼感觉,要有量化标准。

  • 首先,核对需求覆盖率,对照需求文档每一个功能点,检查有没有遗漏、未覆盖的模块。

  • 其次,统计反向用例、边界用例、异常用例的占比。正常业务不能只有正向用例,没有反向和异常兜底。然后排查重复用例率、逻辑错误率、高危场景遗漏率。

  • 结合项目历史缺陷库,校验AI有没有覆盖过往线上出过的同类bug

具体供参考:

校验维度 具体做法 合格线
需求覆盖率 对照需求文档逐条映射,看每个功能点有没有对应用例 ≥95%
反向用例占比 反向/异常用例占总用例比例 ≥30%
边界用例数量 每个数值型字段至少2个边界值(最小、最大) 100%覆盖
重复用例率 语义重复的用例占比 ≤10%
逻辑错误率 业务逻辑错误或无法执行的用例占比 ≤5%
高危场景遗漏率 权限/并发/弱网/非法输入/参数篡改等场景 0%
历史缺陷覆盖率 过去3个版本的线上Bug,AI用例能否覆盖 ≥80%

除此之外,还要重点核对AI最容易忽略的高危场景,比如

  • 权限互斥:越权访问、角色切换后的权限残留
  • 并发场景:同一用户多设备登录、秒杀抢购
  • 弱网环境:2G网络、网络切换、飞行模式
  • 非法输入:SQL注入、XSS、路径遍历、特殊字符
  • 接口安全:参数加密、签名验证、重放攻击

这些是 AI 最容易忽略,但最容易引发线上故障的点,用数据做校验,才是专业测试的做事方式。

第四层:三级审核,用人工经验兜底,守住核心风险

AI 永远替代不了人的业务经验,核心场景必须层层把关,所以这里,我建议的做法是,建立 “初审 + 复核 + 终审” 的三级审核机制:

  • 初审:用自动化工具批量过滤重复用例、格式错误、逻辑冲突的内容,节省人工时间;
  • 复核:由资深测试工程师负责,逐行校验核心业务的边界、极值、异常流程,尤其是支付、权限这类高危模块,比如核对自动化脚本是否有断言、异常捕获、环境适配逻辑;
  • 终审:由业务负责人或测试总监确认,重点把关隐性需求和特殊业务规则,比如电商订单的 “跨平台退款规则”“节假日支付限额” 等 AI 无法理解的业务细节。

三道关卡层层过滤,能从根本上杜绝 AI 的错漏内容流入执行阶段,这也是规避线上故障的关键。

第五层:复盘沉淀,让 AI 越用越 “懂” 业务,形成闭环

AI 测试不是一次性行为,一定要做长期沉淀优化。

建议在每次项目结束后,记录三类信息

1、AI翻车案例库

  • 哪类场景AI容易漏测?
  • 哪类业务AI容易编造规则?
  • 哪类脚本容易出现断言缺失?

2、优质模板库

  • 提示词模板(不同业务类型的标准Prompt)
  • 用例模板(正向/反向/边界的标准格式)
  • 脚本规范模板(断言、异常处理、日志的代码规范)

3、训练数据集

  • 把历史优质用例、业务规则、负面案例投喂给AI
  • 让AI越来越贴合团队业务,生成内容越来越精准

形成完整闭环

需求拆解 → AI生成 → 分类筛选 → 量化校验 → 三级审核 → 落地执行 → 复盘沉淀 → 优化提示词 → 下一轮复用

graph TD A["需求拆解"] --> B["AI生成"] B --> C["分类筛选"] C --> D["量化校验"] D --> E["三级审核"] E --> F["落地执行"] F --> G["复盘沉淀"] G --> H["优化提示词"] H --> I["下一轮复用"] I --> A

这才是成熟的AI测试工作模式。

为什么有人用AI效率翻倍,有人越用越漏测?

说到底,AI 测试的核心不是 “会不会用 AI 写用例、出脚本”,而是 “能不能用人的专业能力约束 AI、校验 AI、优化 AI”,这也是前段时间AI 圈大火的Harness Engineering 所提倡的思想。

很多人觉得 AI 测试 “越用越坑”,本质是把本该自己把控的质量责任甩给了 AI;而真正能把 AI 用出效率的人,是把 AI 当成 “高效的工具”,而非 “甩锅的借口”。

从 “甩手掌柜式用 AI” 到 “系统化管控 AI”,需要建立完整的思维体系和落地方法 —— 这也是我为什么想推荐大家加入「AI 进化社」的原因。在这里,我们不会只讲 “AI 如何生成测试用例”,而是从测试全流程出发,结合真实的项目实战案例,拆解 AI 测试的管控体系,分享踩过的坑、沉淀的模板、量化的标准,还有资深质量总监的审核思路和复盘方法。

无论是想应对面试中 “AI 测试落地” 的高频问题,还是想在实际工作中真正用 AI 提效、规避线上故障,「AI 进化社」都能给到可落地的方法和实战案例。与其自己摸索踩坑,不如跟着有实战经验的团队,建立系统化的 AI 测试思维,让 AI 真正成为测试提效的利器,而非埋雷的隐患。

感兴趣的同学可以了解一下,「AI进化社」目前开放报名,具体信息可以私信我(wx: 762357658)。

最后想问问大家:你们在工作中用AI生成测试用例时,有没有踩过类似的坑?AI有没有漏过让你后怕的边界场景?欢迎在评论区交流,我尽量每条都回复。