1. 先聊聊我为什么开始折腾这套 AI 工作流
测试这行干久了,大家都知道一个扎心的事实:真正消耗时间的往往不是执行测试本身,而是测试前的一堆准备工作和测试后的各种收尾。
接到一个新需求,先得把需求文档翻来覆去读几遍,画脑图、列测试点、写用例,这一套下来大半天就没了。好不容易用例写完了,开发提测了,跑完一轮回归,又要写测试报告、整理缺陷清单、给领导汇报测试结论。等这些杂事干完,真正用来思考“哪里容易出问题”“哪里要重点测”的时间反而所剩无几。
我最早用AI,也就是让它帮忙写点常规脚本、查个API用法,属于有一搭没一搭地用。真正让我下定决心把AI系统化地嵌进日常流程,是有一次接了个迭代需求,光测试用例就写了200多条,晚上十点还在公司对着需求文档逐条核对覆盖点,当时脑子里就冒出一个念头:这种纯靠人力堆的活,一定有更聪明的干法。
后来我花了大概两三周的时间,把自己日常的测试工作拆开揉碎,琢磨哪些环节是重复性的、有规律可循的,哪些环节是真正需要测试工程师判断力的,然后把AI安插到那些重复性最高的位置,慢慢打磨出了4套固定模板。用了大概一个月之后回头看,最直观的感受是:用例设计时间大概省了一半,自动化脚本从零开始写基本不卡壳,连最烦的测试报告都能自动生成初稿,我只需要做校对和补充。
这篇文章不聊那些高深的大模型原理,也不讲怎么从零搭建复杂的AI平台,就分享我实际在用、被验证过确实能省时间的4套工作流模板,以及每套模板背后的设计思路、踩过的坑、调过的细节。
我觉得这套东西适合谁呢?主要是两类人:一类是像我一样每天被用例设计、回归测试、缺陷报告淹没的功能测试工程师,另一类是已经在写自动化脚本、想进一步提效的测试开发。如果你对AI的印象还停留在“让它帮我写个登录用例”这种零散用法,这篇文章应该能给你一些系统化的思路。
2. 整体设计思路:AI 该用在测试的哪个环节
2.1 先想清楚 AI 的边界,别指望它一步到位
我在跟不少同行聊的时候发现,大家容易走两个极端。一个极端是把AI当神,觉得丢给它一段需求它就能把测试方案、用例、脚本全给你搞定,结果拿到手发现内容看着像模像样,但细看全是套话,关键的业务逻辑反而没覆盖住。另一个极端是试了一两次觉得AI输出质量不行,干脆回到纯手工模式。
我自己摸索下来,AI在测试领域最靠谱的定位是:它不是一个替你思考的“决策者”,而是一个帮你把想法快速落地的“高级助理”。你负责告诉它业务背景、风险点、测试策略,它负责把这些信息转换成正式的用例文本、可运行的脚本框架、结构清晰的报告草稿。中间所有需要判断的东西,最终还是得靠人来把关。
这套认知决定了整个工作流设计的方向:不是我列一堆需求让AI自由发挥,而是我给它一个固定的输入框架,限定它的输出格式,然后在关键节点插入人工审核。后面讲的4个模板,全部遵循这个原则。
2.2 四模板分工:从需求到报告的完整闭环
我把测试工程师日常最耗时、也最有规律可循的工作切成了四块,每一块对应一个模板:
- 需求分析模板:把产品需求文档转成测试关注点清单和测试计划草案
- 用例设计模板:基于测试关注点生成覆盖完整、步骤清晰的测试用例
- 自动化脚本模板:把手工测试用例转成可执行的自动化脚本
- 报告总结模板:把测试结果数据转成结构化的测试报告和风险提示
这四块基本覆盖了一个迭代从提需求到发版的完整过程。用下来感觉最爽的一点是:每个环节的输出,都会变成下一个环节的输入。比如需求分析模板产出的测试关注点,直接作为用例设计模板的输入;用例设计模板产出的用例,又可以直接投喂给自动化脚本模板。这样整个流程串起来之后,每一环都不用从零开始。
2.3 参数的重要性:给 AI 足够的上下文
很多人用AI感觉效果不好,一个很重要的原因是输入太干瘪。比如直接丢一句“帮我设计测试用例”,AI没有业务背景、没有用户场景、没有历史经验,它只能给你生成非常泛泛的模板化内容。
我在这套工作流里反复强调一个词:上下文。模板的作用也不仅仅是规定输出格式,更重要的作用是强制你在输入的时候把必要的上下文信息补全。业务背景是什么、核心流程是哪条、历史上有过什么Bug、哪些模块比较脆弱,这些信息你喂得越足,AI输出的质量就越好。
实际操作下来,我一般会在每个模板里预留一个固定字段叫“补充信息”,专门用来填那些需求文档里没写清楚、但测试必须知道的东西。这一条后面在每个模板里都会反复出现。
3. 模板一:需求理解与测试关注点生成
3.1 什么时候用这个模板
拿到一个新需求,不管是需求文档写得很详细还是只有几句话,我都会先跑一遍这个模板。
它的作用不是替代你自己读需求,而是帮你把脑子里的思考过程结构化地整理出来。人脑在阅读需求的时候往往会跳过一些“觉得理所当然”的细节,但AI不会,它会把你喂给它的每一句话都当成需要处理的输入,用比较机械的方式把逻辑链补全。
这个模板最适合用在两个时间点:一是新迭代刚开始,产品文档刚发下来,你要快速理解需求、梳理测试范围的时候;二是需求评审之前,你需要提前准备问题清单的时候。
3.2 模板结构详解
我实际在用的提示词大概长这样:
你是一名资深的测试工程师,请基于以下需求描述,帮我完成需求分析和测试计划草案。 【需求名称】 【业务背景】 【核心用户与使用场景】 【功能点列表】 【补充信息】 请按以下格式输出: 1. 需求理解摘要(用3-5句话总结这个需求要解决什么问题) 2. 隐性需求分析(需求文档中没有直接写出来,但测试需要考虑的点) 3. 测试范围与优先级(列出需要测的功能点,标注高/中/低优先级) 4. 潜在风险点(哪些地方最容易出问题,结合业务逻辑推断) 5. 需要的测试数据或测试环境这里面比较关键的是第2点和第4点。隐性需求分析能逼着AI把需求文档里没写明、但实际上会影响测试设计的点挖出来。比如某页面上的一个按钮,需求文档只写了“点击后跳转到详情页”,但实际测试时你还要考虑:没登录能不能点?重复点击会不会重复提交?详情页加载失败怎么提示?这些需求文档通常不会写,但AI基于通用测试经验可以给你补全。
潜在风险点这个就更实用了。你把业务背景喂得越详细,AI对风险点的判断就越准确。比如你告诉它这是个支付相关的功能,它就知道要关注金额计算的精度、并发场景下的幂等性、超时异常处理这些点;你告诉它这是权限管理相关的功能,它就会关注越权访问、数据隔离这些方向。
3.3 一个实战示例
举个我最近做的例子。某电商平台要上一个新的优惠券叠加功能,需求文档大概写了三页,核心功能就是用户在结算页可以选择多张优惠券叠加使用,系统按一定规则计算最终优惠金额。
我按模板把需求喂给AI:
【业务背景】平台现有优惠券系统,本次迭代支持用户在订单结算页同时选择多张优惠券叠加使用,系统按商品品类、券类型、使用顺序计算最终优惠金额。历史上优惠计算出现过精度问题,有过客诉。
【核心用户与使用场景】用户在结算页勾选多张券,系统实时展示优惠明细,提交订单时锁定优惠,支付成功后在订单详情展示优惠分摊。
【补充信息】优惠券包括满减券、折扣券、免邮券,部分券有品类限制,部分券不可叠加,下单时券状态需要实时校验。
AI输出的测试关注点里,有几个我自己当时确实没第一时间想到的:
- 多张折扣券叠加时,是按原价计算折扣还是按优惠后的金额折算,这个规则需要明确
- 优惠金额分摊到多个商品时,如果出现除不尽的情况,余数怎么处理
- 下单时锁定优惠,但支付超时取消订单后,优惠券的返还状态和有效期怎么处理
- 高并发下单时,同一张券被多个订单同时使用,有没有超领的风险
这些都是很有价值的测试关注点,能帮我提前跟产品、开发对齐规则边界,而不是等测试执行到一半才发现规则没定清楚。
3.4 使用注意事项
这个模板用下来,有两个坑必须提醒一下。
第一,不要把需求文档全文粘贴进去就不管了。你给的上下文质量决定输出质量,如果需求文档本身有一堆废话或者描述自相矛盾,AI输出的时候也会把这些矛盾放大。我一般会先把需求文档里跟测试直接相关的功能点、业务规则、边界条件摘出来,再喂给AI。
第二,AI输出的测试范围只是草案,不是最终的测试计划。我在实际使用的时候,会把AI输出的内容跟自己的思考对照一遍:它提的优先级我认不认可?有没有漏掉某些特殊的业务场景?然后手动调整后再落到正式的测试计划文档里。AI是帮你把手动整理的时间省掉,但不代表你可以完全不看。
4. 模板二:测试用例自动生成
4.1 这个模板要解决的核心痛点
写用例是测试工程师日常工作里占比最大的一块。一个中等规模的需求,写个一百来条用例很正常,而且大部分用例是那种写的时候觉得没什么技术含量、不写又不行的工作量。
用AI生成用例,最怕的是生成一堆看起来像那么回事、实际上都是套路的用例。比如随便一个输入框它就给你写“输入合法字符验证通过”“输入非法字符验证提示错误”“输入超长字符验证截断”,然后几十条用例全是这个套路,真正跟业务逻辑强相关的用例反而没覆盖。
所以我在设计这个模板的时候,特别强调了两件事:一是必须提供测试关注点作为输入,让AI知道该围绕哪些核心逻辑来设计用例;二是限定输出格式,强制它输出每个用例的预期结果和设计依据,方便我审查它到底有没有在认真思考。
4.2 模板结构详解
这个模板的提示词是四个模板里最长的,因为它要输出的信息密度最高。我实际在用的版本:
你是一名资深的测试工程师,请基于以下测试关注点和需求信息,设计完整的测试用例。 【需求名称】 【业务背景与核心规则】 【测试关注点】请针对每一条关注点展开用例设计,不要遗漏 【补充信息】 请按以下格式输出,每一个功能点用二级标题分隔: - 功能点名称 - 用例编号(按照功能点缩写+序号排列) - 前置条件 - 测试步骤(必须写清楚具体操作步骤,不要写“输入正确数据”这种模糊描述) - 预期结果(必须可验证,不要出现“系统正常处理”这类描述) - 设计依据(说明这条用例覆盖了哪个测试关注点或业务规则) 要求: 1. 等价类、边界值、异常场景必须覆盖 2. 每个功能点至少覆盖正常流程、异常流程、边界场景 3. 业务规则相关用例必须与【业务背景与核心规则】保持一致设计依据这个字段是我反复调出来的。一开始没用这个字段的时候,AI生成的用例经常跑偏,有了这个字段强制它写清楚设计依据,我扫一眼就知道它有没有理解业务规则,哪些用例是凑数的,效率高很多。
4.3 实战示例
接上面优惠券叠加的例子,我把需求分析模板产出的测试关注点作为输入,让AI生成用例。
其中一条关注点是“多张折扣券叠加时,按原价还是按折后价计算优惠”,AI给出了几条用例:
功能点名称:折扣券叠加计算逻辑 用例编号:DISCOUNT-STACK-001 前置条件:用户账号已登录,购物车中有2件商品,A商品100元,B商品200元,用户持有2张折扣券(8折券、9折券),两张券均可用于全部商品 测试步骤: 1. 进入结算页 2. 勾选8折券和9折券 3. 点击“查看优惠明细” 预期结果:页面展示优惠计算明细,明确标注计算顺序和每张券的优惠金额 设计依据:验证叠加计算规则的展示,为后续校验计算逻辑提供前提 用例编号:DISCOUNT-STACK-002 前置条件:同上 测试步骤: 1. 进入结算页 2. 勾选8折券和9折券 3. 查看优惠明细 4. 手动计算:按先8折后9折的顺序计算最终应付金额 预期结果:页面展示的最终应付金额与手动计算结果一致 设计依据:覆盖“折扣券按顺序叠加”规则的核心计算逻辑这些用例质量相当能打。因为我在测试关注点里写明了需要验证的规则点,AI就能写出具体、可执行的用例步骤,而不只是泛泛的“验证叠加计算正确”。
4.4 覆盖度自查方法
AI生成的用例覆盖度再怎么高,终归需要人工复核。我一般会做一个简单的覆盖度矩阵表,把测试关注点列在表格左侧,每条关注点对应的用例编号写在右侧,检查每个关注点是不是都有用例覆盖,没有的就手动补充。
| 测试关注点 | 对应用例编号 | 状态 |
|---|---|---|
| 折扣券叠加计算顺序 | DISCOUNT-STACK-002, DISCOUNT-STACK-003 | 已覆盖 |
| 满减券与折扣券同时使用 | COMBINE-001, COMBINE-002 | 已覆盖 |
| 券不可叠加时置灰逻辑 | LIMIT-001, LIMIT-002 | 已覆盖 |
| 优惠金额分摊余数处理 | SPLIT-001, SPLIT-002 | 待补充 |
这个方法看着简单,但确实能避免“AI生成了一堆用例、但核心风险点反而漏了”的情况。
4.5 使用注意事项
用这个模板的时候,最大的坑是输入的需求规则如果不一致,AI生成的用例之间就会互相打架。比如你在业务背景里写了“折扣券不能与满减券同时使用”,但在测试关注点里又写了“折扣券与满减券同时使用的场景”,AI就会陷入混乱。
所以每次用这个模板之前,我都会先理顺业务规则,保证喂给它的规则是统一、无冲突的。另一件需要注意的事是:AI生成的用例数量可能会超出你的预期,一次性生成上百条很正常,这时候不要直接照单全收,先跑一遍覆盖度自查,把冗余的、重复度高的用例删掉,再放进你的用例管理工具里。
5. 模板三:自动化脚本快速生成
5.1 为什么自动化脚本也要模板化
做了几年自动化测试之后,我有一个很深的感受:写脚本本身不难,难的是从零開始的时候不知道怎么写结构、怎么处理各种异常场景。一个登录模块的自动化脚本,核心逻辑可能就是那么几行,但你要写等待逻辑、处理弹窗、断言各种返回结果,这些体力活其实占了写脚本的80%时间。
AI在处理这种结构化代码生成上是天然有优势的。你只要告诉它你的技术栈、项目结构约定、被测页面的核心元素定位,它就能生成一版可以直接跑的脚本框架,你只需要在里面填上具体的业务逻辑细节。
5.2 模板结构详解
我日常用Python+Pytest+Selenium比较多,所以这个模板是固定针对这个技术栈调优的。
你是一名测试开发工程师,请根据以下测试用例,生成可执行的自动化测试脚本。 【测试用例】粘贴用例文本 【技术栈】Python + Pytest + Selenium,使用Page Object模式 【被测页面关键元素】页面控件定位方式(id、name、xpath等) 【项目结构约定】pages/存放页面对象,testcases/存放测试用例,conftest.py管理fixture 【补充要求】 请输出: 1. 完整的pytest测试脚本代码,包含必要的import 2. 页面对象类代码(如果涉及多个页面请分别给出) 3. 使用的定位方式说明 4. 需要补充或确认的信息(如测试数据、环境地址等)技术栈和项目结构约定这两个字段是我试了很长时间才加进去的。一开始我直接丢用例给AI让它写脚本,它确实能写,但写出来的代码风格跟项目里已有的代码完全不一致,比如项目里统一用css选择器,它默认生成的是xpath;项目里封装好了click_and_wait方法,它用的是原生click,拿回来还得自己改一遍,反而更费事。
把技术栈和项目结构约定明确写进模板之后,AI生成的代码基本上能直接往项目里粘,省了我大量改代码的时间。
5.3 一个落地案例
拿优惠券叠加的用例来看。我挑了一条关键用例:“多张折扣券叠加时金额计算正确”,把这个用例文本喂给AI,让它按模板生成脚本。
AI生成的页面对象类里自动处理了等待元素可见的逻辑,测试脚本里包含了打开结算页、勾选优惠券、读取优惠明细、手动计算预期金额、断言实际展示金额等步骤。整个脚本大概六七十行,我拿回来之后主要做了三处调整:一是补充了测试数据的环境变量引用方式,二是把断言的地方改成调用项目里现有封装的断言方法,三是加了一条失败截图逻辑。前后大概花了十分钟左右。
这个流程放在以前从零写,至少要花小半天,而且还得调试各种元素定位的问题。现在AI先把整体框架搭好了,我只需要改细节,省的时间非常可观。
5.4 代码审查清单
AI生成的脚本不能直接上,我每回都会按一个固定清单过一遍:
- 元素定位是否跟当前页面版本一致,有没有写死易变的class名
- 等待逻辑是显式等待还是隐式等待,是否存在网络慢场景下误报失败的隐患
- 断言是否完整,是不是只断言了页面出现某个元素,没有断言关键数据
- 用例之间是否有耦合,会不会出现A用例改变了数据状态导致B用例失败
- 有没有硬编码的测试数据,后续维护会不会困难
这个清单看着简单,但能拦住大部分AI生成代码的常见问题。有一次AI生成的脚本在断言的时候只判断了“页面出现‘支付成功’四个字”,没有判断订单号、金额这些关键信息,这种用例在实际执行的时候很容易出现假阳性。
提示:AI生成的脚本里,最需要人工把关的就是断言部分。AI倾向于“断言界面元素出现”,但测试真正需要的是“断言核心业务数据正确”。这一条我基本每次都要手动改。
6. 模板四:测试报告与总结自动生成
6.1 写测试报告为什么让人头疼
功能测试做完之后,写测试报告是另一个耗时大户。常规的测试报告要包含测试范围、用例执行情况、缺陷统计、风险分析、测试结论,如果公司流程再规范一点,还要附上每个模块的用例通过率、缺陷分布、遗留问题清单。
这些东西本身不复杂,但写起来很啰嗦。尤其是当你测完一个比较大型的迭代,用例执行数据一大堆,要从测试管理工具里导出来、统计数据、分析趋势,再组织成报告文字,一两个小时算是快的。
我之前试过用AI直接生成整篇报告,效果一般,因为AI不了解你的具体数据。后来我换了个思路:我不让它全文生成,而是让它基于我提供的数据和结构化框架来生成报告的文字部分,数据统计的部分我自己用脚本处理,汇总成表格和图表,AI负责把结论和建议部分写出来。
6.2 模板结构详解
你是一名资深的测试负责人,请基于以下测试数据,帮我撰写测试报告的核心内容。 【迭代名称】 【测试范围概述】 【用例执行数据】总用例数、通过数、失败数、阻塞数、跳过数、通过率 【缺陷数据】缺陷总数、按严重级别分布、按模块分布、遗留缺陷清单 【风险信息】当前版本存在的已知风险、规避措施 【测试结论趋势】历史几个迭代的通过率对比数据(如有) 请按以下格式输出: 1. 测试执行摘要(用简洁的语言概括本迭代测试执行情况,突出关键数据) 2. 缺陷分析(缺陷主要集中在哪些模块、哪些类型,较上迭代变化的趋势) 3. 风险与遗留问题(每个风险说明影响范围、严重程度、建议处理方案) 4. 测试结论(给出是否可以上线的建议,并说明理由)在实践的时候,我一般先用脚本从测试管理工具导出原始数据,用Excel里的数据透视表或者简单的Python脚本把通过率、缺陷分布这些统计口径算好,然后连同测试范围的文字描述一起丢给AI。AI主要工作在把数字转成有逻辑的文字,让报告读起来更通顺。
6.3 报告里的“人情味”处理
纯AI生成的测试报告容易有一种问题:读起来冷冰冰的,全是数据和结论,缺了“人”的视角。比如缺陷分析部分,AI只会说“登录模块缺陷数量占比最高,共23个,占缺陷总数的32%”,但如果是一个有经验的测试负责人来写,他会补充说“登录模块缺陷集中体现在验证码刷新机制上,多台设备同时在线时偶发验证码失效,建议本轮迭代优先修复”。
所以我自己用这个模板的时候,会先在补充信息里把测试过程中发现的一些典型问题、跟开发沟通的背景、业务方的反馈这些信息填进去,让AI写报告的时候能用上。补了这一层,报告的可读性和可操作性会好很多。
6.4 使用注意事项
用这个模板最容易犯的错是把数据直接粘贴过去让AI自己统计。AI处理数字的能力没有你想象得那么靠谱,尤其是数据量大的时候,经常会把通过率算错、把缺陷个数加漏。我踩过一次坑之后,就再没让它做过数据统计,所有数字都是我自己先用工具算准确的,AI只负责组织和润色文字。
另外一个注意点是报告的结论部分必须人工把关。AI生成的“建议上线”或“建议修复后再上线”只能作为参考,真正拍板的时候还是要结合业务风险、修复成本、用户影响面来综合判断。这点相信大家都理解。
7. 四个模板怎么串成一条流水线
7.1 环节之间的输入输出衔接
四个模板单独用其实已经能省不少时间,但它们真正的价值是串起来形成一条完整的流水线。
我现在的标准流程是这样的:需求文档发下来之后,先跑需求分析模板,拿到测试关注点和风险清单;然后把这个清单作为用例设计模板的输入,生成完整的测试用例;用例评审通过之后,把需要自动化的用例挑出来,跑脚本生成模板,产出自动化脚本;等测试全部执行完,再把用例执行数据和缺陷数据汇总,跑报告生成模板,产出测试报告初稿。
整个流程中,每个环节的输出都是下一个环节的输入,素材是流动的。这样做的好处非常明显:你不用在不同文档之间来回切换、复制粘贴,所有内容都在一个连续的上下文链条里。
为了把素材流动起来,我建了一个工作目录,里面分四个子文件夹:需求分析、测试用例、自动化脚本、测试报告。每个环节的输出放在对应文件夹里,下一个环节直接从上一个文件夹取文件作为输入。用熟了之后,一个迭代从需求分析到测试报告初稿,最快一上午就能完成。
7.2 模板不是死的,每个团队都要自己调
我在文中给的是我实际在用的版本,但每个人用的测试管理工具、公司规范、项目技术栈都不一样,模板直接照抄未必是最优解。我建议拿到模板之后做三件事:
第一,根据自己的习惯微调输出格式。比如你是用Excel管理用例的,可以让AI输出CSV格式的表格;你用Jira管理缺陷的,可以让AI按Jira的字段格式输出。
第二,把公司规范里的强约束写进模板。比如你们公司要求所有用例必须包含需求追溯性这一字段,那就把这条写进模板要求里,AI就会自动加上。
第三,积累你们项目的典型场景库。同样是支付功能,做过电商的测试和做过游戏的测试关注点完全不同。用久了之后,你会找到最适合自己业务场景的提示词写法,这时候模板就已经变成你自己的东西了。
7.3 效果量化:真实数据反馈
说了这么多,最后给点真实的数据。我这套工作流用了大概一个多月之后,粗略统计过一轮:
用例设计这块,以前一个中等需求从读文档到用例评审通过,大概要花两天时间,现在基本一天之内能搞定,省出来的时间主要是AI先把初稿生成了,我做复核和补充。自动化脚本这块,以前写一个新模块的脚本平均要两到三天,现在框架和基础逻辑AI直接生成,我主要做调试和适配,基本一天完成。测试报告这块,从统计到初稿完成,原来两个小时打底,现在数据整理完之后AI十分钟生成初稿,我再花半小时润色修改。
总体算下来,每个迭代在测试准备和收尾环节节省的时间大概在40%左右。这不是什么精细化的效率测量,但对我个人体感来说,最明显的变化是我终于有时间做那些真正有意思的测试工作了——探索性测试、性能分析、测试架构优化。
8. 常见问题与避坑指南
8.1 AI 生成内容质量不稳定怎么办
这是所有用AI做测试辅助的人遇到最多的问题。同一个模板,今天生成的内容质量很高,明天生成的就可能跑偏。
我的经验是:不要直接改模板,而是分析输入是什么变了。大多数情况下的质量波动,根源在于输入上下文的信息密度变了。比如你给的需求描述详细程度不同,AI的理解空间就不一样。把输入信息模板化、结构化成固定字段,能显著提高输出稳定性。
另外,AI生成的内容一定不要把把第一版就当作最终版。我的习惯是让它先输出,然后在它的基础上修改,而不是让它一次性输出完美结果。这就像带新人,你先让他干,干完了你再把关指正,比你在旁边一步步指导效率要高得多。
8.2 AI 生成用例的重复问题
用例重复是在用AI生成用例时非常常见的现象。AI可能会在一个功能点下生成好几条步骤不同、但实际验证的目标完全相同的用例。
我的处理方法是把测试关注点写得足够细。如果你的关注点只写“验证优惠券计算正确”,AI就会从各个角度去覆盖“正确”这件事,自然会产生大量重复。但如果你把关注点拆成“验证满减券计算正确”“验证折扣券叠加顺序正确”“验证免邮券不参与金额计算”,AI就能比较精准地为每个关注点生成对应的用例,重复率要低得多。
如果还是出现重复,就用之前说过的覆盖度矩阵表做排查,把重复的直接删掉。
8.3 脚本生成后跑不通的高频原因
自动化脚本生成之后跑不通,多半是以下几个原因:元素定位不准确、等待策略不合适、测试数据没有准备。AI生成脚本的时候只能基于你提供的页面元素信息来写,如果你的信息本身是过期的或者不完整的,它生成的脚本自然跑不通。
我现在的做法是在把用例丢给AI之前,花几分钟用浏览器开发者工具把关键元素的当前定位信息整理好,连同页面结构说明一起喂给它。这一步虽然花了点时间,但能大幅提高脚本的一次通过率。
8.4 常见问题速查表
| 问题 | 可能原因 | 解决思路 |
|---|---|---|
| AI生成的用例全是套路 | 测试关注点写得太宽泛 | 把关注点拆细,明确每个业务规则 |
| 生成用例重复率高 | 关注点之间有重叠 | 合并重复关注点,用覆盖度矩阵自查 |
| 脚本元素定位失效 | 提供的是过期的元素信息 | 用开发者工具重新获取当前定位 |
| 脚本等待不稳定 | 没有设置显式等待或等待条件不合理 | 统一使用显式等待,等待关键元素状态变化 |
| 报告数据算错 | 让AI直接做了统计计算 | 自己先用Excel或脚本算准,AI只写文字 |
| 结论与数据对不上 | 报告结论是AI猜的 | 人工把关结论,结合风险评估 |
8.5 两个独家小技巧
最后分享两个我在实践中摸索出来的小技巧。
一个是让AI解释它为什么这么设计。我会在生成用例或者脚本之后追问一句“请解释一下这几条用例的设计思路,以及是否有遗漏的场景”,这个追问有时候能激发出非常高质量的输出,AI会补充一些你没想到的测试思路。
另一个是把团队的历史缺陷记录喂给AI。我们团队有一个记录了最近半年所有线上缺陷的文档,我把这个文档作为补充信息的一部分提供给AI,它在生成测试关注点的时候就会参考历史缺陷模式,自动把那些容易出问题的方向标出来。相当于把团队踩过的坑沉淀到了工作流里,这个效果真的很好。
我自己在实际使用中最大的感受是:AI不是来替代测试工程师的,它是来把那些重复的、机械的工作接走的。真正决定一个测试工程师价值的,始终是你对业务的理解深度、对风险的判断能力、对质量的把控水平。工具能帮你省下时间,但怎么用好省下来的时间,才是接下来拉开差距的地方。